namespace App\Models;
use App\Console\Commands\WorkshopMigration;
-use App\Fields\CubedesignersTeamMember;
use App\Fields\FluidbookChapters;
use App\Fields\FluidbookComposition;
-use App\Fields\FluidbookID;
-use App\Fields\FluidbookIDOptionnal;
use App\Fields\FluidbookLocale;
use App\Fields\FluidbookProjectManager;
use App\Fields\FluidbookStatus;
use App\Fields\FluidbookV3ID;
use App\Fields\User;
-use App\Fluidbook\Compiler\Compiler;
use App\Fluidbook\Farm;
use App\Fluidbook\Link\Link;
use App\Fluidbook\Link\LinksData;
use App\Jobs\FluidbookImagesPreprocess;
use App\Jobs\FluidbookSocialImage;
use App\Jobs\GenerateDeliveryThumbnailsPreview;
-use App\Jobs\GenerateSecondPagePreview;
use App\Models\Base\ToolboxSettingsModel;
use App\Models\Traits\CheckHash;
use App\Models\Traits\PublicationSettings;
use App\Models\Traits\SCORMVersionTrait;
use App\Slack\Slack;
use App\SubForms\Link\Base;
-use Cubist\Backpack\CubistBackpackServiceProvider;
use Cubist\Backpack\Magic\Fields\Checkbox;
use Cubist\Backpack\Magic\Fields\FormBigSection;
-use Cubist\Backpack\Magic\Fields\FormSeparator;
use Cubist\Backpack\Magic\Fields\FormSuperSection;
use Cubist\Backpack\Magic\Fields\Hidden;
use Cubist\Backpack\Magic\Fields\Integer;
use Cubist\Backpack\Magic\Fields\SelectFromArray;
use Cubist\Backpack\Magic\Operations\CreateOperation;
-use Cubist\Excel\Excel;
use Cubist\Excel\ExcelToArray;
use Cubist\Util\ArrayUtil;
use Cubist\Util\Files\Files;
return $this->allowsUpdate();
}
+ public function allowsUpgrade()
+ {
+ if (!can('fluidbook-publication:write')) {
+ return false;
+ }
+ if ($this->version >= 3) {
+ return false;
+ }
+ return true;
+ }
+
public function allowsClone()
{
return $this->_fluidbookToUseForComposition->$name;
}
+ public function upgrade($version = "latest")
+ {
+ if ($version === 'latest') {
+ $version = 3;
+ }
+ $this->version = $version;
+ $this->save();
+
+ DB::update('UPDATE ' . WorkshopMigration::OLD_DB . '.books SET version=' . $version . ' WHERE book_id=' . $this->id);
+ }
+
+
public function generateThumbnailsPreview($sync = false)
{