From 244b956d3e0d56abbb1d49674ade2e2b7df9c92d Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 19 May 2022 10:08:09 +0200 Subject: [PATCH] wip #4212 @0.25 --- app/Models/FluidbookPublication.php | 56 +++++++++++------- composer.lock | 90 +++++++++++++++-------------- 2 files changed, 82 insertions(+), 64 deletions(-) diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 48db35eba..c33167ec2 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -10,6 +10,8 @@ use App\Models\Base\ToolboxModel; use App\Models\Traits\PublicationSettings; use Cubist\Backpack\Magic\Fields\Code; use Cubist\Backpack\Magic\Fields\Datetime; +use Cubist\Backpack\Magic\Fields\FormBigSection; +use Cubist\Backpack\Magic\Fields\FormSuperSection; use Cubist\Backpack\Magic\Fields\Hidden; use Cubist\Backpack\Magic\Fields\Integer; use Cubist\Backpack\Magic\Fields\SelectFromArray; @@ -43,6 +45,33 @@ class FluidbookPublication extends ToolboxModel $this->addOwnerField(); + $this->addField('status', SelectFromArray::class, 'Status', [ + 'options' => + [-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé')], + 'column' => true, + 'filter' => true, + ] + ); + + $this->addField('section_composition', FormBigSection::class, __('Composition')); + $this->addField('page_numbers', Textarea::class, __('Numérotation')); + + $this->addField('section_theme', FormBigSection::class, __('Thème')); + $this->addField('theme', \App\Fields\FluidbookTheme::class); + + $this->addField('section_locale', FormBigSection::class, __('Langue')); + $this->addField('locale', FluidbookLocale::class, 'Langue', ['default' => 'fr', 'allows_null' => false, 'filter' => true, 'filter_label' => 'Langue', 'column' => true, 'column_label' => '']); + $this->addField('translations', Code::class, 'Traductions', ['language' => 'javascript']); + + $this->addField('section_chapters', FormBigSection::class, __('Sommaire')); + $this->addField('chapters', Textarea::class, __('Sommaire')); + + $this->addField('section_settings', FormSuperSection::class, __('Paramètres')); + + $this->setSettingsFields(); + + $this->addField('section_infos', FormBigSection::class, __('Administration')); + $this->addField(['name' => 'c_admin', 'label' => __('Administrateur'), 'read_only' => true, @@ -54,36 +83,23 @@ class FluidbookPublication extends ToolboxModel ] ); - $this->addField(self::CREATED_AT, Datetime::class, __('Crée'), ['column' => true, 'column_format' => 'YYYY-MM-DD', 'filter' => true]); - $this->addField(self::UPDATED_AT, Datetime::class, __('Mis à jour'), ['column' => true, 'column_format' => 'YYYY-MM-DD', 'filter' => true]); + $this->addField(self::CREATED_AT, Datetime::class, __('Crée'), ['column' => true, 'column_type' => 'datetime', 'column_format' => 'YYYY-MM-DD', 'filter' => true, 'read_only' => true]); + $this->addField(self::UPDATED_AT, Datetime::class, __('Mis à jour'), ['column' => true, 'column_format' => 'YYYY-MM-DD', 'filter' => true, 'read_only' => true]); + $this->addField('compilation_date', Datetime::class, __('Dernière compilation'), ['read_only' => true]); + $this->addField('composition_updated_at', Datetime::class, __('Dernière modification de la composition'), ['read_only' => true]); + $this->addField('status_date', Datetime::class, __('Date de changement de status'), ['read_only' => true]); - $this->addField('theme', \App\Fields\FluidbookTheme::class, 'Thème'); - $this->addField('locale', FluidbookLocale::class, 'Langue', ['default' => 'fr', 'allows_null' => false, 'filter' => true, 'filter_label' => 'Langue', 'column' => true, 'column_label' => '']); - $this->addField('translations', Code::class, 'Traductions', ['language' => 'javascript']); $this->addField('hash', Hidden::class); $this->addField('cid', Hidden::class); $this->addField('visits_counter', Integer::class, 'Compteur de visites', ['read_only' => true]); - $this->addField('status', SelectFromArray::class, 'Status', [ - 'options' => - [-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé')], - 'column' => true, - 'filter' => true, - ] - ); - $this->addField('status_date', Datetime::class, __('Date de changement de status')); - $this->addField('chapters', Textarea::class, __('Sommaire')); - $this->addField('page_numbers', Textarea::class, __('Numérotation')); - $this->addField('extranet_task', Integer::class, __('Tâche de l\'extranet')); - $this->addField('compilation_date', Datetime::class, __('Dernière compilation')); - $this->addField('composition_updated_at', Datetime::class, __('Dernière modification de la composition')); + + $this->addField('extranet_task', Hidden::class, __('Tâche de l\'extranet')); $this->addField('export_data', Hidden::class, __('Paramètres d\'export')); // Composed fields $composed = ['admin' => __('Administrator'), 'super_admin' => __('Super administrator'), 'owner_company_name' => __('Propriétaire'), 'owner_name' => __('Propriétaire'), 'invoicable' => __('Utilisateur facturable'), 'invoicable_company' => __('Facturation'), 'extranet_project' => __('Project extranet')]; foreach ($composed as $name => $label) { $this->addField($name, Hidden::class, $label); } - - $this->setSettingsFields(); } public function onBeforeStore($controller, $request) diff --git a/composer.lock b/composer.lock index b8bbbdac9..0aaa670c3 100644 --- a/composer.lock +++ b/composer.lock @@ -1512,13 +1512,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubedesigners_userdatabase.git", - "reference": "1baf61fb3cb562320070892122296ce0bf3e6325" + "reference": "c9076013b0d2bf8bb06bc71cd8ad98a8d0754ea8" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubedesigners/userdatabase/cubedesigners-userdatabase-dev-master-d76d96.tar", - "reference": "1baf61fb3cb562320070892122296ce0bf3e6325", - "shasum": "3f486479ac71ec1f2a52260435ab05f1f1aa200f" + "url": "https://composer.cubedesigners.com/dist/cubedesigners/userdatabase/cubedesigners-userdatabase-dev-master-0a37ea.tar", + "reference": "c9076013b0d2bf8bb06bc71cd8ad98a8d0754ea8", + "shasum": "919fd6744f1c2432a3bc55a35f884d1fd82efdfd" }, "require": { "cubist/cms-back": "dev-master" @@ -1550,7 +1550,7 @@ } ], "description": "Cubedesigners common users database", - "time": "2022-05-17T07:14:16+00:00" + "time": "2022-05-17T08:12:05+00:00" }, { "name": "cubist/azuretts", @@ -1597,13 +1597,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_cms-back.git", - "reference": "85d681822fe0337a541ce99ec7a9d1c4c145f3a7" + "reference": "394d1e9a67b133b97be4f79a3e3a0ba8507eb4d9" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-6b73ef.tar", - "reference": "85d681822fe0337a541ce99ec7a9d1c4c145f3a7", - "shasum": "a5fa8a67fdb7358b1ee1429d771b4335715dac8b" + "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-920e70.tar", + "reference": "394d1e9a67b133b97be4f79a3e3a0ba8507eb4d9", + "shasum": "b739159d5b42c26ad92487c3536c7f3346c0b151" }, "require": { "backpack/backupmanager": "^3.0", @@ -1684,7 +1684,7 @@ } ], "description": "Cubist Backpack extension", - "time": "2022-05-16T10:18:22+00:00" + "time": "2022-05-19T07:17:30+00:00" }, { "name": "cubist/cms-front", @@ -1940,13 +1940,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_pdf.git", - "reference": "9465884f94b7a6303fb48b809761042da2271e3c" + "reference": "8aff4c485b5adbc705fe040965f74ff54597bf74" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/pdf/cubist-pdf-dev-master-9b081e.tar", - "reference": "9465884f94b7a6303fb48b809761042da2271e3c", - "shasum": "a2856f0e539a32ab491e22bb3d6ceb5e4c81790e" + "url": "https://composer.cubedesigners.com/dist/cubist/pdf/cubist-pdf-dev-master-d3d4d8.tar", + "reference": "8aff4c485b5adbc705fe040965f74ff54597bf74", + "shasum": "5f3dbfa6792f7c26eaf5ea81909cb8c1e018305e" }, "require": { "cubist/util": "dev-master", @@ -1982,7 +1982,7 @@ "cubist", "pdf" ], - "time": "2022-04-07T20:03:51+00:00" + "time": "2022-05-17T16:22:12+00:00" }, { "name": "cubist/scorm", @@ -2027,13 +2027,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_util.git", - "reference": "932cc70c7eae2c97fa672078bc4319fa8405bd64" + "reference": "c10ca28c3684ed96ac2389363ff07090d77c02a9" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-b0c165.tar", - "reference": "932cc70c7eae2c97fa672078bc4319fa8405bd64", - "shasum": "5b0ab612690b9c13db532a65d0ef7bcf675affee" + "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-91d75f.tar", + "reference": "c10ca28c3684ed96ac2389363ff07090d77c02a9", + "shasum": "5d5228557873d972cc1e0253247347d01c4e7c98" }, "require": { "cubist/net": "dev-master", @@ -2064,7 +2064,7 @@ } ], "description": "Utilities class", - "time": "2022-04-19T11:06:26+00:00" + "time": "2022-05-18T20:08:22+00:00" }, { "name": "cviebrock/eloquent-sluggable", @@ -3319,13 +3319,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/fluidbook_tools.git", - "reference": "978a21686a9ec12e2bbd141c373f7b3e71e9e3e3" + "reference": "42b0cc5eb306f6548e4ccb80419edcb02e701381" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-44e744.tar", - "reference": "978a21686a9ec12e2bbd141c373f7b3e71e9e3e3", - "shasum": "c8202fdb33ccda7aa5426cf9dee516a2822f7e7f" + "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-15675b.tar", + "reference": "42b0cc5eb306f6548e4ccb80419edcb02e701381", + "shasum": "e77e8ac9a4eb34cff9d0cfda77aa9c4a2b1da4f6" }, "require": { "barryvdh/laravel-debugbar": "^3.6", @@ -3359,7 +3359,7 @@ } ], "description": "Fluidbook Tools", - "time": "2022-04-19T12:37:24+00:00" + "time": "2022-05-17T15:41:12+00:00" }, { "name": "genealabs/laravel-model-caching", @@ -4384,16 +4384,16 @@ }, { "name": "laravel/framework", - "version": "v8.83.12", + "version": "v8.83.13", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "2af2314989845db68dfbb65a54b8748ffaf26204" + "reference": "1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/2af2314989845db68dfbb65a54b8748ffaf26204", - "reference": "2af2314989845db68dfbb65a54b8748ffaf26204", + "url": "https://api.github.com/repos/laravel/framework/zipball/1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20", + "reference": "1eed68ec70c98d1a7a6f0fcedbea10cb6dd69a20", "shasum": "" }, "require": { @@ -4553,20 +4553,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-05-10T13:57:07+00:00" + "time": "2022-05-17T14:08:01+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.1.1", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e" + "reference": "09f0e9fb61829f628205b7c94906c28740ff9540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/9e4b005daa20b0c161f3845040046dc9ddc1d74e", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/09f0e9fb61829f628205b7c94906c28740ff9540", + "reference": "09f0e9fb61829f628205b7c94906c28740ff9540", "shasum": "" }, "require": { @@ -4612,7 +4612,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2022-02-11T19:23:53+00:00" + "time": "2022-05-16T17:09:47+00:00" }, { "name": "lavary/laravel-menu", @@ -5069,29 +5069,31 @@ }, { "name": "maennchen/zipstream-php", - "version": "2.1.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58" + "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58", - "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/211e9ba1530ea5260b45d90c9ea252f56ec52729", + "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729", "shasum": "" }, "require": { "myclabs/php-enum": "^1.5", - "php": ">= 7.1", + "php": "^7.4 || ^8.0", "psr/http-message": "^1.0", "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { "ext-zip": "*", - "guzzlehttp/guzzle": ">= 6.3", + "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": ">= 7.5" + "php-coveralls/php-coveralls": "^2.4", + "phpunit/phpunit": "^8.5.8 || ^9.4.2", + "vimeo/psalm": "^4.1" }, "type": "library", "autoload": { @@ -5128,7 +5130,7 @@ ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/master" + "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.2.1" }, "funding": [ { @@ -5136,7 +5138,7 @@ "type": "open_collective" } ], - "time": "2020-05-30T13:11:16+00:00" + "time": "2022-05-18T15:52:06+00:00" }, { "name": "markbaker/complex", -- 2.39.5