]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6717 @0:10 ajout bouton exporter
authorsoufiane <soufiane@cubedesigners.com>
Mon, 19 Feb 2024 15:01:03 +0000 (16:01 +0100)
committersoufiane <soufiane@cubedesigners.com>
Mon, 19 Feb 2024 15:01:03 +0000 (16:01 +0100)
app/Http/Controllers/Admin/Operations/FluidbookCollection/DownloadOperation.php
resources/views/vendor/backpack/crud/inc/form_save_buttons.blade.php

index 78b9b92b8edaa8dd1b93cbee5aa66c5d10802a70..0fe357b9c69b49d318df1ba26f186bcbdc013d3b 100644 (file)
@@ -9,6 +9,7 @@ use App\Jobs\FluidbookSettingsExport;
 use App\Jobs\QuizDownload;
 use App\Models\FluidbookCollection;
 use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
+use Illuminate\Support\Arr;
 use Illuminate\Support\Facades\Route;
 use Prologue\Alerts\Facades\Alert;
 
@@ -20,14 +21,16 @@ trait DownloadOperation
 
     protected function setupDownloadRoutes($segment, $routeName, $controller)
     {
-        Route::match(['get','post'], $segment . '/{id}/download_settings_by_ids/{ids}', $controller . '@downloadSettingsByIds')->name("download_settings_by_ids");
+        Route::match(['get','post'], $segment . '/{id}/download_settings', $controller . '@downloadSettingsByIds')->name("download_settings_by_ids");
     }
 
     protected $button = 'fluidbook_collection';
     protected $downloadJob = FluidbookCollectionDownload::class;
 
-    protected function downloadSettingsByIds($id, $ids) {
+    protected function downloadSettingsByIds($id) {
         $userId = backpack_user()->id;
+        $publications = Arr::flatten(FluidbookCollection::where('id',$id)->get('publications')->toArray(), 2);
+        $ids = Arr::join(array_column($publications,'fluidbook'), ',');
         $file = (new FluidbookSettingsExport($ids,$userId,true))->handle();
         return response()->download($file, 'settings_export.xlsx')->deleteFileAfterSend();
     }
index db238f4fde2a007382b47912b08595b9feb978aa..52959c30d8330306608fdf459f09b83e4c6e0e5f 100644 (file)
@@ -8,14 +8,12 @@
         $saveAction['active']=['value'=>'save_and_back','label'=>__('Enregistrer')];
         $saveAction['options']=[];
     }
-    $userID = backpack_user()->id;
-    $fluidbookIds = implode(',',array_column($crud->entry->getAttribute('publications'), "fluidbook"));
 @endphp
 @if(isset($saveAction['active']) && !is_null($saveAction['active']['value']))
     <div id="saveActions" class="form-group">
         @if($crud->entry && $crud->entry instanceof \App\Models\FluidbookCollection)
             <a class='btn btn-primary mr-3'
-               href='download_settings_by_ids/{{ $fluidbookIds }}' target="_blank" rel="noopener">{{ __('Exporter les paramètres') }}</a>
+               href='download_settings' target="_blank" rel="noopener">{{ __('Exporter les paramètres') }}</a>
         @endif
         @if($crud->entry && $crud->entry instanceof \App\Models\FluidbookExternalInstallServer)
             <a id='verifyconnection' class='btn btn-primary mr-3'