--- /dev/null
+<?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'];
+ }
+}
'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]);
}
--- /dev/null
+<?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');
+ }
+}
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;
'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');
--- /dev/null
+<?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']);
+ }
+}
--- /dev/null
+<?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']);
+ }
+}
--- /dev/null
+<?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');
+ }
+}
--- /dev/null
+<?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']);
+ }
+}
--- /dev/null
+<?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');
+ }
+}
--- /dev/null
+<?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');
+ }
+}
--- /dev/null
+<?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']);
+
+ }
+}
--- /dev/null
+<?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');
+}
+}
@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>