From: Vincent Vanwaelscappel Date: Fri, 23 Jun 2023 14:09:11 +0000 (+0200) Subject: wait #6069 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=531e54c034af7827c62c9679082d17f5fe8b80fb;p=fluidbook-toolbox.git wait #6069 @0.5 --- diff --git a/app/Fields/FluidbookIDOptionnal.php b/app/Fields/FluidbookIDOptionnal.php deleted file mode 100644 index 25a5fb970..000000000 --- a/app/Fields/FluidbookIDOptionnal.php +++ /dev/null @@ -1,11 +0,0 @@ - '-'], parent::getOptions()); - } -} diff --git a/app/Fields/FluidbookV3ID.php b/app/Fields/FluidbookV3ID.php new file mode 100644 index 000000000..821b4fbaf --- /dev/null +++ b/app/Fields/FluidbookV3ID.php @@ -0,0 +1,37 @@ +id; + //Cache::forget($cacheKey); + return Cache::remember($cacheKey, 600, function () use ($u) { + $res = []; + + $q = DB::table('fluidbook_publication')->where('id', '>=', 30000)->where('created_ok', '1')->orderBy('id', 'desc'); + if (!$u->hasPermissionTo('fluidbook-publication:admin')) { + $q->whereIn('owner', explode(',', $u->e1_ws_rights)); + } + $books = $q->get(); + + foreach ($books as $book) { + $res[$book->id] = $book->id . ' | ' . $book->c_title . ' | ' . mb_strtoupper($book->locale); + } + return $res; + }); + } + + return []; + } +} diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 3e08e8dc2..8f8b6b638 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -10,6 +10,7 @@ use App\Fields\FluidbookID; use App\Fields\FluidbookIDOptionnal; use App\Fields\FluidbookLocale; use App\Fields\FluidbookStatus; +use App\Fields\FluidbookV3ID; use App\Fields\User; use App\Fluidbook\Compiler\Compiler; use App\Fluidbook\Farm; @@ -177,7 +178,7 @@ class FluidbookPublication extends ToolboxSettingsModel $this->addField('section_composition', FormBigSection::class, __('Composition')); $this->addField('composition_fluidbook', Checkbox::class, __('Utiliser la composition d\'un autre fluidbook'), ['default' => false]); - $this->addField('composition_fluidbook_id', FluidbookID::class, __('Utiliser la composition d\'un autre fluidbook'), ['when' => ['composition_fluidbook' => 1]]); + $this->addField('composition_fluidbook_id', FluidbookV3ID::class, __('Utiliser la composition d\'un autre fluidbook'), ['excluded_options' => $this->id, 'when' => ['composition_fluidbook' => 1]]); $this->addField('composition_fluidbook_links', Checkbox::class, __('Utiliser également les liens de ce fluidbook'), ['default' => true, 'when' => ['composition_fluidbook' => 1]]); $this->addField('page_numbers', Hidden::class, __('Numérotation')); $this->addField('composition', FluidbookComposition::class, __('Composition'), ['when' => ['composition_fluidbook' => 0]]); @@ -701,7 +702,7 @@ class FluidbookPublication extends ToolboxSettingsModel public function replicateFull(array $except = null) { $new = $this->_baseReplicate($except); - if (!$this->composition_fluidbook) { + if (!$this->composition_fluidbook && $this->id >= 30000) { $new->composition_fluidbook = true; $new->composition_fluidbook_id = $this->id; $new->composition_fluidbook_links = true;