From: soufiane Date: Thu, 30 Oct 2025 17:12:07 +0000 (+0100) Subject: wip #7821 @1:30 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=5e866d4b44d52e0166c5b15b1bc06237d62feff1;p=fluidbook-toolbox.git wip #7821 @1:30 --- diff --git a/app/Console/Commands/addFluidbookHemsleyToCollection.php b/app/Console/Commands/addFluidbookHemsleyToCollection.php new file mode 100644 index 000000000..6954e4a94 --- /dev/null +++ b/app/Console/Commands/addFluidbookHemsleyToCollection.php @@ -0,0 +1,37 @@ +generateThumbnailsPreview($this->option('sync', false)); + $data = FluidbookPublication::getFluidbooksHemsley(); + $instance = new FluidbookCollection(); + $instance->updateHemsleyCollection($data); + } +} diff --git a/app/Models/FluidbookCollection.php b/app/Models/FluidbookCollection.php index 6b23c3a67..71d3df01c 100644 --- a/app/Models/FluidbookCollection.php +++ b/app/Models/FluidbookCollection.php @@ -286,4 +286,22 @@ class FluidbookCollection extends ToolboxStatusModel { dispatch_sync(new AuditLink($this)); } + + public function updateHemsleyCollection($data) { + if($this->title === "Audit Hemsley") { + dd('ok'); + $publications = json_decode($this->publications,true) ?? []; + foreach ($data as $fb) { + // Vérifier si le fluidbook n'existe pas déjà dans la collection + if(array_filter($publications, function($n) use($fb) { return $n['fluidbooks'] !== $fb; })) { + $publications[] = [ + 'fluidbook' => $fb, + 'export' => '', + ]; + } + } + $this->publications[] = json_encode($publications); + $this->save(); + } + } } diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 3bf058f7e..735fc9c30 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -1363,4 +1363,8 @@ class FluidbookPublication extends ToolboxStatusModel return FluidbookPublication::withoutGlobalScopes()->find($id)->protected_path($path); }); } + + public static function getFluidbooksHemsley() { + return static::where('c_title', 'LIKE', '%Hemsley Fraser -%')->pluck('id'); + } } diff --git a/app/SubForms/FluidbookAuditLinkButtons.php b/app/SubForms/FluidbookAuditLinkButtons.php new file mode 100644 index 000000000..63fe0a294 --- /dev/null +++ b/app/SubForms/FluidbookAuditLinkButtons.php @@ -0,0 +1,28 @@ +addField('download_audit', LinkButton::class, __('Télécharger l\'audit'), [ + 'when' => ["enable_audit" => 1], + 'value' => backpack_url('/'), + 'translatable' => false, + 'attributes' => [ 'class' => 'form-control some-class'], + ]); + $this->addField('update_fluidbooks', LinkButton::class, __('Mettre à jour les publications'), [ + 'when' => ["enable_audit" => 1], + 'value' => backpack_url('/'), + 'translatable' => false] + ); + } +}