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;
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;
}
$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]);
$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) {