From: Vincent Vanwaelscappel Date: Thu, 30 Jan 2025 11:00:32 +0000 (+0100) Subject: wip #7291 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=adc9281159de851e9d79e0152a10cfdbbb00afb2;p=fluidbook-toolbox.git wip #7291 @0.5 --- diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml index f4a7b4b5c..db90fd137 100644 --- a/.docker/docker-compose.yml +++ b/.docker/docker-compose.yml @@ -17,7 +17,6 @@ services: - '/home/extranet/share/:/application/share/' - '/data/toolbox/storage/:/application/storage/' - '/data/extranet/ftp/:/application/ftp/' - # - '/data/extranet/www/fluidbook/books/working/:/application/protected/fluidbookpublication/working/' - '/data/extranet/www/fluidbook/books/links/:/application/protected/fluidbookpublication/links/' - '/home/extranet/www/fluidbook/cache/unzip/:/application/storage/fluidbook/cache/unzip/' - '/data/toolbox/protected/fluidbookpublication/cache/:/application/protected/fluidbookpublication/cache/' diff --git a/app/Http/Controllers/Admin/Operations/Tools/ImportFluidbookSettings.php b/app/Http/Controllers/Admin/Operations/Tools/ImportFluidbookSettings.php index 085a2c185..285f01e1e 100644 --- a/app/Http/Controllers/Admin/Operations/Tools/ImportFluidbookSettings.php +++ b/app/Http/Controllers/Admin/Operations/Tools/ImportFluidbookSettings.php @@ -13,7 +13,9 @@ use Prologue\Alerts\Facades\Alert; trait ImportFluidbookSettings { use SettingsExportOperation; - public function importfluidbooksettings() { + + public function importfluidbooksettings() + { $form = new Form(backpack_url('tools/doimportfluidbooksettings')); $form->setTitle(__('Importer les paramètres fluidbook')); $form->setEnctype('multipart/form-data'); @@ -27,14 +29,15 @@ trait ImportFluidbookSettings /** * @throws \JsonException */ - public function doimportfluidbooksettings() { + public function doimportfluidbooksettings() + { if (!can('fluidbook-publication:admin')) { abort('403'); } $file = request()->file('file'); ExcelToArray::setCache(protected_path('tools/importfluidbooksettings')); - $res = ExcelToArray::excelToArrayKeyVars($file->getPathname(),null, false, false, false); + $res = ExcelToArray::excelToArrayKeyVars($file->getPathname(), null, false, false, false); // $ids = array_keys($res); @@ -48,19 +51,18 @@ trait ImportFluidbookSettings return redirect()->back()->with('error', 'Fluidbook id not found'); } - $settings = array_map(function($n) { + $settings = array_map(function ($n) { return $n; - },json_decode($f->settings, true)); + }, json_decode($f->settings, true)); - $sett = array_filter($res[$id], function($v, $k) use($settings){ - return array_key_exists($k,$settings); + $sett = array_filter($res[$id], function ($v, $k) use ($settings) { + return array_key_exists($k, $settings); }, ARRAY_FILTER_USE_BOTH); - $settingsJson = json_encode($sett); $diff = array_diff_key($res[$id], $settings); - $diff['settings'] = $settingsJson; + $diff['settings'] = array_merge(json_decode($f->settings, true), $sett); /* * @@ -68,15 +70,15 @@ trait ImportFluidbookSettings * * */ foreach ($diff as $k => &$value) { - if(!in_array($k, ['export_data','settings'])) { - $decode = json_decode($value,true); - if(is_array($decode)) { + if (!in_array($k, ['export_data', 'settings'])) { + $decode = json_decode($value, true); + if (is_array($decode)) { $value = $decode; } } - if(array_key_exists($k, $fields)) { - if($fields[$k]->getDatabaseType() === "boolean") { + if (array_key_exists($k, $fields)) { + if ($fields[$k]->getDatabaseType() === "boolean") { $value = (bool)$value; } } diff --git a/app/Jobs/FluidbookSettingsExport.php b/app/Jobs/FluidbookSettingsExport.php index 0f75f620e..34ce9d3ab 100644 --- a/app/Jobs/FluidbookSettingsExport.php +++ b/app/Jobs/FluidbookSettingsExport.php @@ -156,6 +156,7 @@ class FluidbookSettingsExport extends Base $notification = ''; $action = [ __('Télécharger') => $url, + __('Importer le fichier modifié') => backpack_url('tools/importfluidbooksettings'), ]; return $user->notify(new ToolboxNotification($subject, $notification, $action, true)); } diff --git a/resources/views/vendor/backpack/crud/form_content.blade.php b/resources/views/vendor/backpack/crud/form_content.blade.php index cce477863..c27391ff2 100644 --- a/resources/views/vendor/backpack/crud/form_content.blade.php +++ b/resources/views/vendor/backpack/crud/form_content.blade.php @@ -20,7 +20,6 @@ @if(isset($crud->fields()['import']))

{{ __('Cette fonctionnalité est expérimentale. Prévenir un developpeur avant de l\'utiliser.') }}

-

{{ __('Une backup des paramètres sera lancée lors de l\'import') }}

@endif