]> _ Git - songbook.git/commitdiff
.
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Sun, 1 Jan 2023 16:52:19 +0000 (17:52 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Sun, 1 Jan 2023 16:52:19 +0000 (17:52 +0100)
app/Models/Collection.php
resources/views/menu.blade.php
routes/backpack/filesorurlupload.php [new file with mode: 0644]

index ee5960dae1fc0a3fc566e070044b6f9ed3e23a45..2815a6057193701af42c0ecb56b4249059c40d0b 100644 (file)
@@ -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) {
index 6ca69c3bd755699709ba50907a0e1d808034a42a..9301fdd9702df51817594a4870f7f307eed32cda 100644 (file)
                 @endif
             @endif
 
+            @if(!isset($song) && $collection->agenda)
+                @php
+                    $planning=\Cubist\Util\Url::isLocal($collection->agenda)?'/collection/'.$collection->id.'/'.$collection->agenda:$collection->agenda;
+                @endphp
+            <li>
+                <span>🗓️ {{__('Planning')}}</span>
+                <ul>
+                    <iframe src="{{$planning}}" style="width: 100%;height:100%;border: 0;"></iframe>
+                </ul>
+            </li>
+            @endif
+
+            @if($collection->organisation_name)
+                <li>
+                    <a target="_blank" href="{{$collection->organisation}}">🧑‍🎤️ {{$collection->organisation_name}}</a>
+                </li>
+            @endif
 
             <li>
                 <span><img
diff --git a/routes/backpack/filesorurlupload.php b/routes/backpack/filesorurlupload.php
new file mode 100644 (file)
index 0000000..93663e3
--- /dev/null
@@ -0,0 +1,8 @@
+<?php
+
+Route::group([
+    'prefix' => 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');
+});