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',
$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'),
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()
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;
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();