]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7291 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Jan 2025 11:00:32 +0000 (12:00 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 30 Jan 2025 11:00:32 +0000 (12:00 +0100)
.docker/docker-compose.yml
app/Http/Controllers/Admin/Operations/Tools/ImportFluidbookSettings.php
app/Jobs/FluidbookSettingsExport.php
resources/views/vendor/backpack/crud/form_content.blade.php

index f4a7b4b5cdf20112d81c83b648a837152ffb701c..db90fd137fad793642717f87f4cc7d872246f1aa 100644 (file)
@@ -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/'
index 085a2c185106c0c1322573a7aae876d9799f60a1..285f01e1e5e1ea4daf48d826583bd6e1e5aa52b0 100644 (file)
@@ -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;
                     }
                 }
index 0f75f620ec9674c861fbc7d66cc72697df21332c..34ce9d3ab5b0d090ac9a3d2c21c2a54c359cc170 100644 (file)
@@ -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));
     }
index cce477863320d14c1c3b095ecd0bd900195fa3d2..c27391ff2c7115c067f7d78765789c96b685fd6f 100644 (file)
@@ -20,7 +20,6 @@
 @if(isset($crud->fields()['import']))
 <div class="mt-2">
     <p class="mb-0" style="font-weight:bold;"><span class="las la-flask mr-2"></span>{{ __('Cette fonctionnalité est expérimentale. Prévenir un developpeur avant de l\'utiliser.') }}</p>
-    <p>{{ __('Une backup des paramètres sera lancée lors de l\'import') }}</p>
 </div>
 @endif