]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5587 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 21 Nov 2022 13:51:32 +0000 (14:51 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 21 Nov 2022 13:51:32 +0000 (14:51 +0100)
app/Jobs/FluidbookCollectionDownload.php
app/Models/FluidbookCollection.php

index bced42c1d75e3a565b5779e6349367e674e90b3b..fbf02c28cab22c9028dd1e89baac4e6eb916f50a 100644 (file)
@@ -62,7 +62,6 @@ class FluidbookCollectionDownload extends DownloadBase
 
     protected function getCollectionGlobalSettings()
     {
-
         $options = [];
         foreach ($this->entry->getPageData()->override_settings as $setting) {
             if (!$setting['key']) {
@@ -211,16 +210,20 @@ window.location='./' + locale + '/index.html';
         $options = $this->getCollectionGlobalSettings();
 
         $res = [];
+        $updatedPublications = [];
         foreach ($data->publications as $publication) {
             $fbid = $publication['fluidbook'];
-            if ($publication['dir']) {
+            if (isset($publication['dir']) && $publication['dir']) {
                 $options['dir'] = $publication['dir'];
             } else {
                 $metadata = $ws->getMetadata($fbid);
-                $options['dir'] = $metadata->export->install_hosting->{$data->version}->dir ?? Str::slug($metadata->title);
+                $publication['dir'] = $options['dir'] = $metadata->export->install_hosting->{$data->version}->dir ?? Str::slug($metadata->title);
             }
             $res['Fluidbook #' . $fbid] = $ws->installBookOnHosting($fbid, $options, $data->version);
+            $updatedPublications[] = $publication;
         }
+        $this->entry->publications = $updatedPublications;
+        $this->entry->saveQuietly();
         return $res;
     }
 
index 0fd5641dae3aa7ef55b4c329c6695e13ce2604ee..8e098584fcba039427854cbd32b01d8cbe99532c 100644 (file)
@@ -34,7 +34,7 @@ class FluidbookCollection extends ToolboxModel
         $this->addField('type', SelectFromArray::class, __('Type'), ['column' => true, 'options' => ['export' => __('Export'), 'scorm_multilang' => __('SCORM multilingue')]]);
         $this->addField('locale_switch', Checkbox::class, __('Permettre le changement de langue'), ['when' => ['type' => 'scorm_multilang'], 'default' => true]);
         $this->addField('version', FluidbookExportVersion::class, __('Version'), ['when' => ['type' => 'export']]);
-        $this->addField('publications', BunchOfFieldsMultiple::class, __('Publications'), ['bunch' => CollectionPublication::class]);
+        $this->addField('publications', BunchOfFieldsMultiple::class, __('Publications'), ['bunch' => CollectionPublication::class, 'edit_label' => '%fluidbook > %dir']);
         $this->addField('override_settings', BunchOfFieldsMultiple::class, __('Redéfinir les paramètres lors de l\'export'), ['bunch' => Fluidbook_Setting::class]);
     }