]> _ Git - odl.git/commitdiff
wait #4875 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 10 Nov 2021 13:34:51 +0000 (14:34 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 10 Nov 2021 13:34:51 +0000 (14:34 +0100)
app/Models/Asset.php

index 970d1fed893d10ca770217ffd35c74461c3b5cc2..02d981b06ba3dfb62f83a449938e88bcb136cf1c 100644 (file)
@@ -4,6 +4,7 @@ namespace App\Models;
 
 use Cubist\Backpack\Magic\Fields\Datetime;
 use Cubist\Backpack\Magic\Fields\Files;
+use Cubist\Backpack\Magic\Fields\Hidden;
 use Cubist\Backpack\Magic\Fields\SelectFromArray;
 use Cubist\Backpack\Magic\Fields\SelectFromModel;
 use Cubist\Backpack\Magic\Fields\StaticValue;
@@ -27,11 +28,10 @@ class Asset extends CubistMagicAbstractModel
     {
         parent::setFields();
 
-
         $this->addField('title', Text::class, 'Titre', ['column' => true]);
         $this->addField('created_at', Datetime::class, 'Ajouté', ['column' => true, 'hidden' => true]);
         $this->addField('updated_at', Datetime::class, 'Mis à jour', ['column' => true, 'hidden' => true]);
-        $this->addField('filesize', StaticValue::class, 'Taille des fichiers', ['column' => true, 'hidden' => true]);
+        $this->addField('filesize', Hidden::class, 'Taille des fichiers', ['column' => true, 'column_type' => 'model_function', 'column_function_name' => 'getFilesize']);
         $this->addField('type', SelectFromArray::class, 'Type',
             [
                 'options' =>
@@ -50,6 +50,16 @@ class Asset extends CubistMagicAbstractModel
         $this->addField('keywords', Tags::class, 'Mots-clé', ['column' => true]);
     }
 
+    public function getFilesize()
+    {
+        $res = 0;
+        foreach ($this->getMediaInField($this->getAttributeValue('file_upload')) as $item) {
+            /** @var $item Media */
+            $res += filesize($item->getPath());
+        }
+        return $res;
+    }
+
     /**
      * @throws \Spatie\Image\Exceptions\InvalidManipulation
      */