From: Vincent Vanwaelscappel Date: Mon, 18 Oct 2021 16:53:59 +0000 (+0200) Subject: wip #4795 @5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=b6d3cb9eb85146e19aeab018f9286ab283f04c74;p=odl.git wip #4795 @5 --- diff --git a/app/Fields/Link.php b/app/Fields/Link.php new file mode 100644 index 0000000..4bbee97 --- /dev/null +++ b/app/Fields/Link.php @@ -0,0 +1,13 @@ + 'Home', 'resources' => 'Ressources', 'medialibrary' => 'Mediathèque', 'tour' => 'Visite guidée', 'fluidbook' => 'Fluidbook', 'animation' => 'Animation d\'ouverture', 'search' => 'Moteur de recherche', 'menu' => 'Menu']; + } +} diff --git a/app/Models/Asset.php b/app/Models/Asset.php index ea529a0..9f4d5aa 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -34,11 +34,12 @@ class Asset extends CubistMagicAbstractModel 'video' => 'Vidéo', 'audio' => 'Audio', 'pdf' => 'Document PDF', - 'download' => 'Fichier à télécharger' + //'download' => 'Fichier à télécharger' ], 'column' => true, ]); $this->addField('file_upload', Files::class, 'Fichier'); + $this->addField('theme', 'SelectFromModel', 'Thème', ['optionsmodel' => AssetTheme::class]); $this->addField('keywords', Tags::class, 'Mots-clé', ['column' => true]); } diff --git a/app/Models/AssetTheme.php b/app/Models/AssetTheme.php new file mode 100644 index 0000000..92d3138 --- /dev/null +++ b/app/Models/AssetTheme.php @@ -0,0 +1,25 @@ + 'asset_themes', + 'singular' => 'Thème de la médiathèque', + 'plural' => 'Thèmes de la médiathèque', + 'oneinstance' => false, + 'permissions' => 'assets']; + + public function setFields() + { + parent::setFields(); + + $this->addField('name', Text::class, 'Nom', ['column' => true]); + $this->addField('color', Color::class, 'Couleur'); + } +} diff --git a/app/Models/Publication.php b/app/Models/Publication.php index 17e9876..33af7c8 100644 --- a/app/Models/Publication.php +++ b/app/Models/Publication.php @@ -3,9 +3,11 @@ namespace App\Models; use App\Jobs\ProcessFluidbook; +use App\SubForms\HomeShortcut; use Cubist\Backpack\Magic\Controllers\CubistMagicController; +use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple; use Cubist\Backpack\Magic\Fields\Files; -use Cubist\Backpack\Magic\Fields\FormSection; +use Cubist\Backpack\Magic\Fields\Images; use Cubist\Backpack\Magic\Fields\Text; use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel; @@ -18,13 +20,17 @@ class Publication extends CubistMagicAbstractModel 'oneinstance' => true]; - public function setFields() { parent::setFields(); - $this->addField('document', Files::class, 'Document'); - $this->addField('precompiled', Files::class, 'Fluidbook Précompilé', ['can' => 'precompiled']); + $this->addField('document', Files::class, 'Document', ['tab' => 'Publication interactive']); + $this->addField('precompiled', Files::class, 'Fluidbook Précompilé', ['can' => 'precompiled', 'tab' => 'Publication interactive']); + $this->addField('logo', Text::class, 'Logo', ['tab' => 'Contenus']); + $this->addField('subtitle', Text::class, 'Sous-titre', ['tab' => 'Contenus']); + $this->addField('illustration', Images::class, 'Image', ['tab' => 'Contenus']); + $this->addField('button', Text::class, 'Intitulé du bouton', ['tab' => 'Contenus']); + $this->addField('raccourcis', BunchOfFieldsMultiple::class, '', ['tab' => 'Raccourcis', 'bunch' => HomeShortcut::class]); // $this->addField('s_download', FormSection::class, 'Téléchargement et impression'); // $this->addField("download_name", Text::class, 'Nom du fichier', ['default' => 'document.pdf']); // $this->addField('pdf_download', Files::class, 'PDF pour le téléchargement et l\'impression'); diff --git a/app/Models/Resource.php b/app/Models/Resource.php new file mode 100644 index 0000000..69ce071 --- /dev/null +++ b/app/Models/Resource.php @@ -0,0 +1,31 @@ + 'resources', + 'singular' => 'ressource', + 'plural' => 'ressources', + 'oneinstance' => true]; + + public function setFields() + { + parent::setFields(); + + $this->addField('title', Text::class, 'Titre', ['tab' => 'Intro']); + $this->addField('subtitle', Textarea::class, 'Sous-titre', ['tab' => 'Intro']); + $this->addField('documents', BunchOfFieldsMultiple::class, 'Offres', ['tab' => 'Intro', 'bunch' => ResourceDocument::class, 'add_label' => 'Ajouter un document']); + + $this->addField('memo_part_title', Text::class, 'Titre', ['tab' => 'Mémos']); + $this->addField('chapters', BunchOfFieldsMultiple::class, 'Chapitres', ['tab' => 'Mémos', 'bunch' => ResourceChapter::class, 'add_label' => 'Ajouter un chapitre']); + } +} diff --git a/app/Models/Tour.php b/app/Models/Tour.php new file mode 100644 index 0000000..90e473e --- /dev/null +++ b/app/Models/Tour.php @@ -0,0 +1,29 @@ + 'tour', + 'singular' => 'visite guidée', + 'plural' => 'visites guidées', + 'oneinstance' => true]; + + public function setFields() + { + parent::setFields(); + + $this->addField('title', Text::class, 'Titre', ['tab' => 'Intro']); + $this->addField('subtitle', Textarea::class, 'Instructions', ['tab' => 'Intro']); + $this->addField('tour_themes', BunchOfFieldsMultiple::class, 'Chapitres', ['tab' => 'Mémos', 'bunch' => TourTheme::class, 'add_label' => 'Ajouter un thème']); + } +} diff --git a/app/SubForms/HomeShortcut.php b/app/SubForms/HomeShortcut.php new file mode 100644 index 0000000..13bf7e1 --- /dev/null +++ b/app/SubForms/HomeShortcut.php @@ -0,0 +1,22 @@ +addField('title', Text::class, 'Titre'); + $this->addField('content', Textarea::class, 'Texte'); + $this->addField('image', Images::class, 'Image'); + $this->addField('link', Link::class, 'Lien vers'); + } +} diff --git a/app/SubForms/ResourceChapter.php b/app/SubForms/ResourceChapter.php new file mode 100644 index 0000000..6680ebb --- /dev/null +++ b/app/SubForms/ResourceChapter.php @@ -0,0 +1,16 @@ +addField('chapter_title', 'Text', 'Titre du chapitre'); + $this->addField('subchapters', BunchOfFieldsMultiple::class, 'Sous-chapitres', ['bunch' => ResourceSubChapter::class,'add_label'=>'Ajouter un sous-chapitre']); + } +} diff --git a/app/SubForms/ResourceDocument.php b/app/SubForms/ResourceDocument.php new file mode 100644 index 0000000..99a9019 --- /dev/null +++ b/app/SubForms/ResourceDocument.php @@ -0,0 +1,19 @@ +addField('document_title', 'Text', 'Titre du document'); + $this->addField('document_subtitle', 'Textarea', 'Chapo du document'); + $this->addField('document_image', Images::class, 'Vignette'); + $this->addField('document_pdf', Files::class, 'PDF'); + } +} diff --git a/app/SubForms/ResourceMemo.php b/app/SubForms/ResourceMemo.php new file mode 100644 index 0000000..f063c11 --- /dev/null +++ b/app/SubForms/ResourceMemo.php @@ -0,0 +1,20 @@ +addField('memo_title', 'Text', 'Titre du mémo'); + $this->addField('memo_text', 'Textarea', 'Chapo du mémo'); + $this->addField('memo_pdf', Files::class, 'PDF'); + $this->addField('memo_image', Images::class, 'Vignette'); + } +} diff --git a/app/SubForms/ResourceSubChapter.php b/app/SubForms/ResourceSubChapter.php new file mode 100644 index 0000000..88d748a --- /dev/null +++ b/app/SubForms/ResourceSubChapter.php @@ -0,0 +1,18 @@ +addField('subchapter_title', 'Text', 'Titre du sous-chapitre'); + $this->addField('subchapter_memos', BunchOfFieldsMultiple::class, 'Mémos', ['bunch' => ResourceMemo::class, 'add_label' => 'Ajouter un mémo']); + + } +} diff --git a/app/SubForms/TourTheme.php b/app/SubForms/TourTheme.php new file mode 100644 index 0000000..a762dee --- /dev/null +++ b/app/SubForms/TourTheme.php @@ -0,0 +1,14 @@ +addField('theme_title',Text::class,'Titre du thème'); +} +} diff --git a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php index 2e7abb7..d64f041 100644 --- a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php +++ b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php @@ -9,18 +9,25 @@ @can('publications:read') + Coeur de l'offre @endcan @can('assets:read') + @endcan - @can('cms') - - + @can('resources:read') + + @endcan + @can('tour:read') + @endcan