From: soufiane Date: Mon, 20 Nov 2023 10:10:08 +0000 (+0100) Subject: Merge branch 'backpack5' of git.cubedesigners.com:fluidbook-toolbox into quiz2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=879f8c45006cc9323b7513ac17694eaab0f50b6b;p=fluidbook-toolbox.git Merge branch 'backpack5' of git.cubedesigners.com:fluidbook-toolbox into quiz2 # Conflicts: # app/Http/Controllers/Admin/FluidbookCollectionCrudController.php # app/Http/Controllers/Admin/FluidbookPublicationCrudController.php # app/Models/FluidbookTheme.php --- 879f8c45006cc9323b7513ac17694eaab0f50b6b diff --cc app/Models/FluidbookCollection.php index 6d32f4c3d,918b3d9b6..caf936f4b --- a/app/Models/FluidbookCollection.php +++ b/app/Models/FluidbookCollection.php @@@ -3,11 -3,13 +3,14 @@@ namespace App\Models; use App\Fields\FluidbookExportVersion; + use App\Fields\FluidbookStatus; use App\Http\Controllers\Admin\Operations\ChangeownerOperation; + use App\Http\Controllers\Admin\Operations\ChangestatusOperation; use App\Http\Controllers\Admin\Operations\FluidbookCollection\DownloadOperation; use App\Http\Controllers\Admin\Operations\FluidbookCollection\PreviewOperation; +use App\Models\Base\ToolboxDownloadable; use App\Models\Base\ToolboxModel; + use App\Models\Base\ToolboxStatusModel; use App\Models\Traits\CheckHash; use App\Slack\Slack; use App\SubForms\CollectionPublication; @@@ -19,11 -21,13 +22,13 @@@ use Cubist\Backpack\Magic\Fields\Intege use Cubist\Backpack\Magic\Fields\SelectFromArray; use Cubist\Backpack\Magic\Fields\Text; use Cubist\Util\Files\Files; + use Illuminate\Database\Eloquent\Builder; + use Illuminate\Support\Facades\Auth; // __('!! Collections de fluidbooks') - class FluidbookCollection extends ToolboxModel + class FluidbookCollection extends ToolboxStatusModel { - use CheckHash; + use ToolboxDownloadable; protected $table = 'fluidbook_collection'; protected $_options = ['name' => 'fluidbook-collection', @@@ -40,9 -49,18 +50,18 @@@ $this->addField('title', Text::class, __('Titre de la collection'), ['column' => true]); + $this->addField('status', FluidbookStatus::class, __('Status'), [ + 'column' => true, + 'filter' => true, + 'non_default_tracking' => false, + 'allows_null' => false, + 'default' => 0, + 'searchLogic' => false, + ] + ); $this->addOwnerField(); - $this->addField('hash', Hidden::class); + $this->addHashField(); $this->addField('type', SelectFromArray::class, __('Type'), ['can' => 'fluidbook-collection:write', 'column' => true, 'options' => ['export' => __('Export'), 'export_multilang' => __('Export multilingue'), 'scorm_multilang' => __('SCORM multilingue')]]); $this->addField('locale_switch', Checkbox::class, __('Permettre le changement de langue'), ['when' => ['type' => ['scorm_multilang', 'export_multilang']], 'default' => true]); $this->addField('redirection_algorithm', SelectFromArray::class, __('Algorithme de choix de la version'), diff --cc app/Models/FluidbookPublication.php index c7d9d6e74,eeef3ebcf..9af5df7cd --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@@ -31,8 -33,8 +33,9 @@@ use App\Http\Controllers\Admin\Operatio use App\Jobs\FluidbookImagesPreprocess; use App\Jobs\FluidbookSocialImage; use App\Jobs\GenerateDeliveryThumbnailsPreview; +use App\Models\Base\ToolboxDownloadable; use App\Models\Base\ToolboxSettingsModel; + use App\Models\Base\ToolboxStatusModel; use App\Models\Traits\CheckHash; use App\Models\Traits\PublicationSettings; use App\Models\Traits\PublicationTags; @@@ -113,25 -120,8 +121,8 @@@ class FluidbookPublication extends Tool use PublicationSettings; use PublicationTags; use SCORMVersionTrait; - use CheckHash; + use ToolboxDownloadable; - public static function addOwnerClause(Builder $builder) - { - if (null === backpack_user() || null === Auth::id()) { - return; - } - if (Auth::user()->hasPermissionTo(static::$_permissionBase . ':admin')) { - return; - } - if (null === static::$_ownerAttribute) { - return; - } - $builder->whereIn(static::$_ownerAttribute, backpack_user()->getManagedUsers()); - if (!Auth::user()->hasPermissionTo(static::$_permissionBase . ':write')) { - $builder->where('status', '>', 0); - } - } - public function setFields() { parent::setFields();