From: Vincent Vanwaelscappel Date: Wed, 22 Nov 2023 11:33:23 +0000 (+0100) Subject: Merge branch 'backpack5' into quiz2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=69561d4d9d57597b0dc9075cdc823559cca38e95;p=fluidbook-toolbox.git Merge branch 'backpack5' into quiz2 # Conflicts: # app/Http/Controllers/Admin/FluidbookCollectionCrudController.php # app/Http/Controllers/Admin/FluidbookPublicationCrudController.php # app/Models/FluidbookCollection.php # app/Models/FluidbookPublication.php # app/Models/FluidbookTheme.php --- 69561d4d9d57597b0dc9075cdc823559cca38e95 diff --cc app/Models/FluidbookCollection.php index 6d32f4c3d,048daf526..738a398f2 --- a/app/Models/FluidbookCollection.php +++ b/app/Models/FluidbookCollection.php @@@ -3,27 -3,32 +3,29 @@@ 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\Jobs\RefreshUsersTree; -use App\Models\Base\ToolboxModel; +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; use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple; use Cubist\Backpack\Magic\Fields\Checkbox; use Cubist\Backpack\Magic\Fields\ExternalPath; --use Cubist\Backpack\Magic\Fields\Hidden; use Cubist\Backpack\Magic\Fields\Integer; 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 -50,18 +47,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'), @@@ -64,11 -83,16 +80,10 @@@ return Files::mkdir(protected_path('fluidbookcollection/final/' . $this->id)); } - public function onSaving(): bool - { - $this->checkHash(); - return parent::onSaving(); - } - - public function allowsPreview() { - return !!$this->hash && in_array($this->type, ['export_multilang', 'scorm_multilang']); + return parent::allowsPreview() && !!$this->hash && in_array($this->type, ['export_multilang', 'scorm_multilang']); } public function incrementPreviewVisit() diff --cc app/Models/FluidbookPublication.php index c7d9d6e74,d15b0552b..043a591a0 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@@ -113,24 -115,7 +116,8 @@@ class FluidbookPublication extends Tool use PublicationSettings; use PublicationTags; use SCORMVersionTrait; + 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); - } - } + use CheckHash; public function setFields() { diff --cc app/Models/FluidbookTheme.php index 4db0b6473,3c944d2cc..b7e763e44 --- a/app/Models/FluidbookTheme.php +++ b/app/Models/FluidbookTheme.php @@@ -5,14 -5,11 +5,15 @@@ namespace App\Models use App\Fields\FluidbookFont; use App\Fields\FluidbookThemeImage; +use App\Fields\HorizontalAlign; +use App\Fields\ThemeBackgroundSize; +use App\Fields\VerticalAlign; use App\Http\Controllers\Admin\Operations\ChangeownerOperation; +use App\Http\Controllers\Admin\Operations\QuizTheme\PreviewOperation; use App\Jobs\GenerateThemePreview; use App\Jobs\UpdateWS2ThemeTable; - use App\Models\Base\ToolboxSettingsModel; + use App\Models\Base\ToolboxModel; + use App\Models\Traits\ToolboxSettings; use Cubist\Backpack\Magic\EntityData; use Cubist\Backpack\Magic\Fields\Color; use Cubist\Backpack\Magic\Fields\Files; @@@ -56,8 -53,9 +57,9 @@@ class FluidbookTheme extends ToolboxMod public static $updateWS2ViewOnChange = true; public static $updateWS2SyncViewOnChange = false; - protected $_operations = [ChangeownerOperation::class]; + protected $_operations = [ChangeownerOperation::class, PreviewOperation::class]; + use ToolboxSettings; public function setFields() { parent::setFields();