]> _ Git - fluidbook-toolbox.git/commitdiff
wip #4211 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 5 Nov 2021 17:00:33 +0000 (18:00 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 5 Nov 2021 17:00:33 +0000 (18:00 +0100)
app/Fields/FluidbookDevelopmentVersion.php
app/Fields/FluidbookTitle.php [new file with mode: 0644]
app/Models/FluidbookPublication.php

index bc8239032f4ac9b585bd1a89689ed7e61f7befb0..b490bd4dc6f5cf0811c59b4cebfff10c3ffaa007 100644 (file)
@@ -12,15 +12,15 @@ class FluidbookDevelopmentVersion extends SelectFromArray
     public function getOptions()
     {
         $versions = json_decode(file_get_contents('/home/extranet/www/fluidbook/cache/activebranches'), true, 512, JSON_THROW_ON_ERROR);
-        $res = ['master : git (stable)' => 'stable',
-            'master : local (dev)' => 'dev'];
+        $res = ['stable' => 'master : git (stable)',
+            'dev'=> 'master : local (dev)'];
 
         foreach ($versions as $version) {
             if ($version === 'master') {
                 continue;
             }
-            $res[$version . ' : git'] = $version . '|git';
-            $res[$version . ' : local'] = $version . '|local';
+            $res[$version . '|git'] = $version . ' : git';
+            $res[$version . '|local'] = $version . ' : local';
         }
         return $res;
     }
diff --git a/app/Fields/FluidbookTitle.php b/app/Fields/FluidbookTitle.php
new file mode 100644 (file)
index 0000000..0bbd0e4
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+
+
+namespace App\Fields;
+
+use Cubist\Backpack\CubistBackpackServiceProvider;
+use Cubist\Backpack\Magic\Fields\LongText;
+
+class FluidbookTitle extends LongText
+{
+    protected $_columnType = 'fromfield';
+    protected $_columnViewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::columns';
+
+    public function filterColumn($value)
+    {
+        return '<div style="max-width: 250px;white-space: normal">'.$value.'</div>';
+    }
+}
index f102465cfddfc32448f8ac85c339f7648a0af7ab..8b993d2c869a1178e47a3e60aec993bc9ae3e71b 100644 (file)
@@ -6,6 +6,7 @@ namespace App\Models;
 use App\Fields\FluidbookDevelopmentVersion;
 use App\Fields\FluidbookLocale;
 use App\Fields\FluidbookSignature;
+use App\Fields\FluidbookTitle;
 use App\Fields\User;
 use Cubist\Backpack\Magic\Fields\Code;
 use Cubist\Backpack\Magic\Fields\Date;
@@ -43,20 +44,42 @@ class FluidbookPublication extends CubistMagicAbstractModel
     {
         parent::setFields();
 
-        $this->addField('name', 'Text', __('Nom'), ['column' => true]);
+        $this->addField([
+            'name' => 'name',
+            'type' => FluidbookTitle::class,
+            'label' => __('Titre de la publication'),
+            'default' => '',
+            'column'=>true,
+            'translatable' => false,
+        ]);
 
         $this->addField(['name' => 'owner',
                 'label' => __('Propriétaire'),
                 'type' => User::class,
                 'column' => true,
-                'can' => 'quiz:admin',
+                'can' => 'fluidbook-publication:admin',
+                'column_attribute' => 'companyWithNameOnTwoLines',
+                'attribute' => 'companyWithName',
+                'default' => Auth::id(),
+            ]
+        );
+
+        $this->addField(['name' => 'c_admin',
+                'label' => __('Administrateur'),
+                'read_only' => true,
+                'type' => User::class,
+                'column' => true,
+                'can' => 'fluidbook-publication:admin',
                 'column_attribute' => 'companyWithNameOnTwoLines',
                 'attribute' => 'companyWithName',
-                'default' => Auth::id()]
+            ]
         );
 
+        $this->addField(self::CREATED_AT, Datetime::class, __('Crée'), ['column' => true, 'column_format' => 'YYYY-MM-DD', 'filter' => true]);
+        $this->addField(self::UPDATED_AT, Datetime::class, __('Mis à jour'), ['column' => true, 'column_format' => 'YYYY-MM-DD', 'filter' => true]);
+
         $this->addField('theme', \App\Fields\FluidbookTheme::class, 'Thème');
-        $this->addField('locale', FluidbookLocale::class, 'Langue', ['default' => 'fr', 'allows_null' => false, 'column' => true, 'column_label' => '<i class="la la-language"></i>']);
+        $this->addField('locale', FluidbookLocale::class, 'Langue', ['default' => 'fr', 'allows_null' => false, 'filter' => true, 'filter_label' => 'Langue', 'column' => true, 'column_label' => '<i class="la la-language"></i>']);
         $this->addField('translations', Code::class, 'Traductions', ['language' => 'javascript']);
         $this->addField('hash', Hidden::class);
         $this->addField('cid', Hidden::class);
@@ -65,6 +88,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
                 'options' =>
                     [-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé')],
                 'column' => true,
+                'filter' => true,
             ]
         );
         $this->addField('status_date', Datetime::class, __('Date de changement de status'));
@@ -92,6 +116,9 @@ class FluidbookPublication extends CubistMagicAbstractModel
             'type' => FluidbookDevelopmentVersion::class,
             'label' => __('Version logicielle'),
             'default' => 'stable',
+            'can'=>'fluidbook-publication:admin',
+            'column' => true,
+            'filter' => true,
             'translatable' => false,
         ]);
         $this->addField([
@@ -107,13 +134,7 @@ class FluidbookPublication extends CubistMagicAbstractModel
             'default' => 'html5-desktop',
             'translatable' => false,
         ]);
-        $this->addField([
-            'name' => 'title',
-            'type' => 'LongText',
-            'label' => __('Titre de la publication'),
-            'default' => '',
-            'translatable' => false,
-        ]);
+
         $this->addField([
             'name' => 'url_link',
             'type' => 'LongText',