]> _ Git - odl.git/commitdiff
wip #4795 @5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 18 Oct 2021 16:53:59 +0000 (18:53 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 18 Oct 2021 16:53:59 +0000 (18:53 +0200)
13 files changed:
app/Fields/Link.php [new file with mode: 0644]
app/Models/Asset.php
app/Models/AssetTheme.php [new file with mode: 0644]
app/Models/Publication.php
app/Models/Resource.php [new file with mode: 0644]
app/Models/Tour.php [new file with mode: 0644]
app/SubForms/HomeShortcut.php [new file with mode: 0644]
app/SubForms/ResourceChapter.php [new file with mode: 0644]
app/SubForms/ResourceDocument.php [new file with mode: 0644]
app/SubForms/ResourceMemo.php [new file with mode: 0644]
app/SubForms/ResourceSubChapter.php [new file with mode: 0644]
app/SubForms/TourTheme.php [new file with mode: 0644]
resources/views/vendor/backpack/base/inc/sidebar_content.blade.php

diff --git a/app/Fields/Link.php b/app/Fields/Link.php
new file mode 100644 (file)
index 0000000..4bbee97
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Fields;
+
+use Cubist\Backpack\Magic\Fields\SelectFromArray;
+
+class Link extends SelectFromArray
+{
+    public function getOptions()
+    {
+        return ['home' => 'Home', 'resources' => 'Ressources', 'medialibrary' => 'Mediathèque', 'tour' => 'Visite guidée', 'fluidbook' => 'Fluidbook', 'animation' => 'Animation d\'ouverture', 'search' => 'Moteur de recherche', 'menu' => 'Menu'];
+    }
+}
index ea529a021410760652713742552d2960301db1ac..9f4d5aa428c1b7e53bc7dfce98112e280c807953 100644 (file)
@@ -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 (file)
index 0000000..92d3138
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+namespace App\Models;
+
+use Cubist\Backpack\Magic\Fields\Color;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+
+class AssetTheme extends CubistMagicAbstractModel
+{
+    protected $table = 'asset_themes';
+    protected $_options = ['name' => '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');
+    }
+}
index 17e98762e5fd18692d7b8d13e8fb184e3856c2a2..33af7c8ddb2d53e726cc11c1236bd3080cd4b341 100644 (file)
@@ -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 (file)
index 0000000..69ce071
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Models;
+
+use App\SubForms\ResourceChapter;
+use App\SubForms\ResourceDocument;
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Fields\Textarea;
+use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+
+class Resource extends CubistMagicAbstractModel
+{
+    protected $table = 'resources';
+    protected $_options = ['name' => '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 (file)
index 0000000..90e473e
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Models;
+
+use App\SubForms\ResourceChapter;
+use App\SubForms\ResourceDocument;
+use App\SubForms\TourTheme;
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Fields\Textarea;
+use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+
+class Tour extends CubistMagicAbstractModel
+{
+    protected $table = 'tour';
+    protected $_options = ['name' => '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 (file)
index 0000000..13bf7e1
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+
+namespace App\SubForms;
+
+use App\Fields\Link;
+use Cubist\Backpack\Magic\Fields\Images;
+use Cubist\Backpack\Magic\Fields\Textarea;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\SubForm;
+
+class HomeShortcut extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+
+        $this->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 (file)
index 0000000..6680ebb
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
+use Cubist\Backpack\Magic\SubForm;
+
+class ResourceChapter extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+        $this->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 (file)
index 0000000..99a9019
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\Files;
+use Cubist\Backpack\Magic\Fields\Images;
+use Cubist\Backpack\Magic\SubForm;
+
+class ResourceDocument extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+        $this->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 (file)
index 0000000..f063c11
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\Files;
+use Cubist\Backpack\Magic\Fields\Images;
+use Cubist\Backpack\Magic\SubForm;
+
+class ResourceMemo extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+
+        $this->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 (file)
index 0000000..88d748a
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
+use Cubist\Backpack\Magic\SubForm;
+
+class ResourceSubChapter extends SubForm
+{
+    public function init()
+    {
+        parent::init();
+
+        $this->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 (file)
index 0000000..a762dee
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\SubForms;
+
+use Cubist\Backpack\Magic\SubForm;
+
+class TourTheme extends SubForm
+{
+public function init()
+{
+    parent::init();
+    $this->addField('theme_title',Text::class,'Titre du thème');
+}
+}
index 2e7abb7e731a829cc268c47625ff1aca005bb06d..d64f0417305095d49a06d87b92381db615db55e7 100644 (file)
@@ -9,18 +9,25 @@
             @can('publications:read')
                 <li class='nav-item'><a class='nav-link' href='{{ backpack_url('publications') }}'><i
                             class='la la-book-open'></i>
-                        <span>Publication</span></a></li>
+                        <span>Coeur de l'offre</span></a></li>
             @endcan
             @can('assets:read')
                 <li class='nav-item'><a class='nav-link' href='{{ backpack_url('assets') }}'><i
                             class='la la-photo-video'></i>
                         <span>Médiathèque</span></a></li>
+                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('asset_themes') }}'><i
+                            class='la la-tags'></i>
+                        <span>Thèmes de la médiathèque</span></a></li>
             @endcan
-            @can('cms')
-                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('page') }}'><i class='la la-file-o'></i>
-                        <span>Pages</span></a></li>
-                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('settings') }}'><i class='la la-cog'></i>
-                        <span>Paramètres</span></a></li>
+            @can('resources:read')
+                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('resources') }}'><i
+                            class='la la-book'></i>
+                        <span>Ressources</span></a></li>
+            @endcan
+            @can('tour:read')
+                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('tour') }}'><i
+                            class='la la-map-signs'></i>
+                        <span>Visite guidée</span></a></li>
             @endcan
         </ul>
     </li>