]> _ Git - songbook.git/commitdiff
.
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Sat, 10 Sep 2022 16:01:33 +0000 (18:01 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Sat, 10 Sep 2022 16:01:33 +0000 (18:01 +0200)
app/Field/CollectionList.php [new file with mode: 0644]
app/Models/Collection.php
app/Models/CollectionList.php [new file with mode: 0644]
app/Models/Song.php
resources/views/vendor/backpack/base/inc/sidebar_content.blade.php

diff --git a/app/Field/CollectionList.php b/app/Field/CollectionList.php
new file mode 100644 (file)
index 0000000..047f8dc
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+namespace App\Field;
+
+use App\Models\Collection;
+use Cubist\Backpack\Magic\Fields\SelectFromArrayMultiple;
+
+class CollectionList extends SelectFromArrayMultiple
+{
+    public function getOptions()
+    {
+        $res = [];
+        $lists = \App\Models\CollectionList::where('created_ok','1')->get();
+        foreach (Collection::where('created_ok','1')->get() as $item) {
+            $res[$item->id] = $item->name . ' - ' . __('Liste principale');
+            foreach ($lists as $list) {
+                if ($list->collection == $item->id) {
+                    $res[$item->id . '_' . $list->id] = $item->name . ' - ' . $list->name;
+                }
+            }
+        }
+        return $res;
+    }
+}
index ec601df55a7836d262e0359cbb06b6bc46d05c4d..1b2b1500cee5534c444c134e173a068e9f57f0c0 100644 (file)
@@ -6,6 +6,7 @@ use Cubist\Backpack\Http\Controllers\CubistPWAController;
 use Cubist\Backpack\Magic\Fields\Color;
 use Cubist\Backpack\Magic\Fields\Images;
 use Cubist\Backpack\Magic\Fields\Slug;
+use Cubist\Backpack\Magic\Fields\Table;
 use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
 use Spatie\MediaLibrary\MediaCollections\Models\Media;
 
@@ -24,7 +25,7 @@ class Collection extends CubistMagicAbstractModel
         $this->addField('slug', Slug::class, 'Slug', ['column' => true]);
         $this->addField('icon', Images::class, 'Icône');
         $this->addField('theme_color', Color::class, 'Couleur d\'accentuation');
-        $this->addField('splashscreen_color', Color::class, 'Couleur du font du splashscreen');
+        $this->addField('splashscreen_color', Color::class, 'Couleur de fond du splashscreen');
     }
 
     public function registerMediaConversions(Media $media = null): void
diff --git a/app/Models/CollectionList.php b/app/Models/CollectionList.php
new file mode 100644 (file)
index 0000000..0ad996e
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+namespace App\Models;
+
+use Cubist\Backpack\Magic\Fields\Checkbox;
+use Cubist\Backpack\Magic\Fields\Integer;
+use Cubist\Backpack\Magic\Fields\SelectFromModel;
+use Cubist\Backpack\Magic\Fields\Text;
+use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+
+class CollectionList extends CubistMagicAbstractModel
+{
+    protected $table = 'song_collection_list';
+    protected $_options = ['name' => 'collection_list',
+        'singular' => 'list',
+        'plural' => 'lists'];
+
+    public function setFields()
+    {
+        parent::setFields();
+        $this->addField('name', Text::class, __('Nom'), ['column' => true]);
+        $this->addField('collection', SelectFromModel::class, __('Collection'), ['column' => true, 'optionsmodel' => Collection::class]);
+    }
+}
index a2926e5f27eccd045e9474197f15ae176a15b544..17595c1a041d7017822881e251e5331f38b4b1bf 100644 (file)
@@ -36,7 +36,7 @@ class Song extends CubistMagicAbstractModel
         $this->addField('artist', 'Text', 'Artist', ['column' => true]);
         $this->addField('key', Tone::class, 'Key', ['column' => true]);
         $this->addField('mode', Mode::class, 'Mode', ['column' => true]);
-        $this->addField('collections', SelectFromModel::class, 'Collections', ['optionsmodel' => Collection::class, 'allows_multiple' => true]);
+        $this->addField('collections', \App\Field\CollectionList::class, 'Collections');
         $this->addField('tempo', Tempo::class, 'Suggested tempo', ['column' => true, 'default' => 80]);
         $this->addField('lyrics', BunchOfFieldsMultiple::class, 'Song Parts', ['bunch' => SongPortion::class, 'new_label' => 'New song part']);
         $this->addField('audio', BunchOfFieldsMultiple::class, 'Audio tracks', ['bunch' => AudioTrack::class, 'new_label' => 'New audio track']);
@@ -66,7 +66,6 @@ class Song extends CubistMagicAbstractModel
         $c = str_replace('𝄎', '%', $c);
 
 
-
         $lines = explode("\n", $c);
         $res = [];
         foreach ($lines as $line) {
@@ -178,14 +177,14 @@ class Song extends CubistMagicAbstractModel
                 $url = '/storage/' . $f;
             } else {
                 $url = $this->getFirstMediaUrl($audio['file']);
-                $path=$this->getFirstMediaPath($audio['file']);
+                $path = $this->getFirstMediaPath($audio['file']);
             }
             if (!$url) {
                 continue;
             }
-            $res[$i] = ['i' => $i, 'name' => $audio['name'], 'url' => $url,'path'=>$path];
-            if(isset($audio['tone'])){
-                $res[$i]['tone']=$audio['tone'];
+            $res[$i] = ['i' => $i, 'name' => $audio['name'], 'url' => $url, 'path' => $path];
+            if (isset($audio['tone'])) {
+                $res[$i]['tone'] = $audio['tone'];
             }
             $i++;
         }
index f091d307a76a4d7c97d9e62ac07f6a3c5e73fe5e..1e28b604e8ef8c65264ac01f8265785c10d30628 100644 (file)
@@ -14,6 +14,8 @@
                             class='nav-icon la la-music'></i><span>Chords</span></a></li>
                 <li class='nav-item'><a class='nav-link' href='{{ backpack_url('collection') }}'><i
                             class='nav-icon la la-music'></i><span>Collections</span></a></li>
+                <li class='nav-item'><a class='nav-link' href='{{ backpack_url('collection_list') }}'><i
+                            class='nav-icon la la-music'></i><span>Listes</span></a></li>
             @endcan
         </ul>
     </li>