From 97dcc362c2d2b0845b916f44a198fdf37e8b5299 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Sun, 1 Jan 2023 17:52:19 +0100 Subject: [PATCH] . --- app/Models/Collection.php | 24 ++++++++++++++---------- resources/views/menu.blade.php | 17 +++++++++++++++++ routes/backpack/filesorurlupload.php | 8 ++++++++ 3 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 routes/backpack/filesorurlupload.php diff --git a/app/Models/Collection.php b/app/Models/Collection.php index ee5960d..2815a60 100644 --- a/app/Models/Collection.php +++ b/app/Models/Collection.php @@ -5,6 +5,7 @@ namespace App\Models; use Cubist\Backpack\Http\Controllers\CubistPWAController; use Cubist\Backpack\Magic\Fields\Checkbox; use Cubist\Backpack\Magic\Fields\Color; +use Cubist\Backpack\Magic\Fields\FilesOrURL; use Cubist\Backpack\Magic\Fields\Images; use Cubist\Backpack\Magic\Fields\SelectFromModel; use Cubist\Backpack\Magic\Fields\Slug; @@ -15,15 +16,13 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Auth; use Spatie\MediaLibrary\MediaCollections\Models\Media; -class Collection extends CubistMagicAbstractModel -{ +class Collection extends CubistMagicAbstractModel { protected $table = 'song_collection'; protected $_options = ['name' => 'collection', - 'singular' => 'collection', - 'plural' => 'collections']; + 'singular' => 'collection', + 'plural' => 'collections']; - public static function addOwnerClause(Builder $builder) - { + public static function addOwnerClause(Builder $builder) { if (backpack_user() === null || Auth::guest()) { return; } @@ -33,8 +32,7 @@ class Collection extends CubistMagicAbstractModel $builder->whereIn('id', Auth::user()->getOwnedCollections()); } - public function setfields() - { + public function setfields() { parent::setFields(); $this->addField('name', 'Text', 'Name', ['column' => true]); $this->addField('owners', SelectFromModel::class, 'Éditeurs', ['optionsmodel' => User::class, 'allows_multiple' => true]); @@ -46,10 +44,16 @@ class Collection extends CubistMagicAbstractModel $this->addField('password', Text::class, 'Mot de passe', ['hint' => 'Laisser vide pour désactiver']); $this->addField('transpose', Checkbox::class, 'Activer la transposition', ['default' => true, 'database_default' => true]); $this->addField('download_assets', Checkbox::class, 'Activer le téléchargement', ['default' => false, 'database_default' => false]); + $this->addField('agenda', FilesOrURL::class, 'Planning / Agenda', ['default' => false, 'database_default' => false]); + $this->addField('organisation_name', Text::class, 'Label du lien "Répartition / organisation"', ['default' => false, 'database_default' => false]); + $this->addField('organisation', FilesOrURL::class, 'Répartition / organisation', ['default' => false, 'database_default' => false]); } - public function registerMediaConversions(Media $media = null): void - { + protected function _getFreeFileBaseDirectory() { + return public_path('collection/' . $this->id); + } + + public function registerMediaConversions(Media $media = null): void { parent::registerMediaConversions($media); foreach (CubistPWAController::$androidSizes as $size) { diff --git a/resources/views/menu.blade.php b/resources/views/menu.blade.php index 6ca69c3..9301fdd 100644 --- a/resources/views/menu.blade.php +++ b/resources/views/menu.blade.php @@ -119,6 +119,23 @@ @endif @endif + @if(!isset($song) && $collection->agenda) + @php + $planning=\Cubist\Util\Url::isLocal($collection->agenda)?'/collection/'.$collection->id.'/'.$collection->agenda:$collection->agenda; + @endphp +
  • + 🗓️ {{__('Planning')}} + +
  • + @endif + + @if($collection->organisation_name) +
  • + 🧑‍🎤️ {{$collection->organisation_name}} +
  • + @endif
  • config('backpack.base.route_prefix', 'admin'), + 'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], +], function () { // custom admin routes + Route::post('filesorurlupload', '\Cubist\Backpack\Http\Controllers\CubistFilesorURLUpload@upload'); +}); -- 2.39.5