'array', ]; protected $attributes = [ 'style' => '', 'colors' => '{"color0":"#EEE"' ]; public function __construct($attributes = []) { self::$editableProperties = [ 'name' => [ 'label' => trans('Nom'), 'type' => CrudType::string(), 'validate' => [ 'string', 'min:10', 'max:255' ], 'actions' => [ CrudAction::viewAny(), CrudAction::view(), CrudAction::create(), CrudAction::update() ] ], 'logo' => [ 'label' => trans('Logo'), 'type' => CrudType::string(), 'validate' => [ 'string', 'max:255' ], 'actions' => [ CrudAction::viewAny(), CrudAction::view(), CrudAction::create(), CrudAction::update() ] ], 'style' => [ 'label' => trans('Style'), 'type' => CrudType::text(), 'actions' => [ CrudAction::view(), CrudAction::create(), CrudAction::update(), ] ], 'colors' => [ 'label' => trans('Couleurs'), 'type' => CrudType::text(), 'actions' => [ CrudAction::view(), CrudAction::create(), CrudAction::update(), ] ], 'pole_id' => [ 'label' => trans('Pole'), 'type' => CrudType::belongsTo(), 'belongsTo' => Pole::class, 'actions' => [ CrudAction::viewAny(), CrudAction::view(), CrudAction::create(), CrudAction::update() ] ] ]; parent::__construct($attributes); } /** * Has one Pole * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function pole() { return $this->belongsTo(Pole::class); } /** * Has many Site * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function sites() { return $this->hasMany(Site::class); } public static function saveLogo(UploadedFile $image, string $name) { return $image->storePubliclyAs( '/public/societe', sprintf('%s-%s.%s', $name, rand(10000, 99999), $image->extension()) ); } }