]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5921 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 9 May 2023 11:17:29 +0000 (13:17 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 9 May 2023 11:17:29 +0000 (13:17 +0200)
app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php
resources/linkeditor/js/linkeditor.links.js
resources/views/fluidbook_publication/link_editor.blade.php

index 45a0f945a30e2882dab1929ea08779b16348fe89..f496b80ed4f7ef210881279758c3030d6a93631f 100644 (file)
@@ -23,6 +23,7 @@ trait LinksOperation
         Route::match(['get'], $segment . '/{id}/edit/links/versions/export/{version}', $controller . '@exportLinks');
         Route::match(['post'], $segment . '/{id}/edit/links/import/merge', $controller . '@importLinksMerge');
         Route::match(['post'], $segment . '/{id}/edit/links/import/replace', $controller . '@importLinks');
+        Route::match(['get'], $segment . '/{id}/edit/links/import/pdf', $controller . '@importLinksFromPDF');
         Route::match(['post'], $segment . '/{id}/edit/links/move', $controller . '@moveLinks');
         Route::match(['get'], $segment . '/{id}/edit/links/versions/restore/{version}', $controller . '@restoreLinks');
         Route::match(['get'], $segment . '/{id}/edit/links/fixdriftedlinks', $controller . '@fixDriftedLinks');
@@ -244,6 +245,14 @@ trait LinksOperation
         return response()->json(['success' => 'ok']);
     }
 
+    protected function importLinksFromPDF($fluidbook_id)
+    {
+        if (!FluidbookPublication::hasPermission($fluidbook_id)) {
+            abort(401);
+        }
+        LinksData::addLinksFromPDF($fluidbook_id);
+    }
+
     protected function setupLinksDefaults()
     {
         $this->crud->allowAccess('update');
index ff60d0951b69aa80bb0b689dea7c9389e4e20ce9..c2aaaeb5da20639b03d42c1e0a2878936fe07aa6 100644 (file)
@@ -1292,6 +1292,21 @@ LinkeditorLinks.prototype = {
     },
 
 
+    importFromPDF: function () {
+        var $this = this;
+        var callback = function () {
+            $.ajax({
+                url: '/fluidbook-publication/' + FLUIDBOOK_DATA.id + '/edit/links/import/pdf',
+                success: function (data) {
+                    window.location.reload();
+                },
+            });
+        };
+
+        //Restore links from 2022-12-07 13:37:15
+        this.linkeditor.save.saveIfUnsavedChanges(TRANSLATIONS.before_import_links_from_pdf, false, callback);
+    },
+
 };
 
 module.exports = LinkeditorLinks;
index e2ef185790b0be7657d9dee7f815cbc6fdbec5a2..ca4043d91a265fb2601190af0aa5fc7cd88b2052 100644 (file)
@@ -53,6 +53,7 @@
         'copy_link_id'=>__('Copier l\'identifiant unique'),
         'level'=>__('Niveau'),
         'before_fix_drifted'=>__('Sauvegarde avant la correction de la dérive des liens'),
+        'before_import_links_from_pdf'=>__('Sauvegarde avant de restaurer les liens du PDF'),
         'copy'=>__('Copier'),
         'cut'=>__('Couper'),
         'paste_here'=>__('Coller ici'),
                                    name="file"/>
                         </form>
                     </div>
+                    <a href="#" data-icon="import-links" data-action="links.importFromPDF"
+                       data-tooltip="{{__('Importer les liens du PDF')}}"></a>
                     <a id="linkeditor-export-latest" download="links_{{$fbdata['id']}}.xlsx"
                        href="/fluidbook-publication/{{$fbdata['id']}}/edit/links/versions/export/latest"
                        data-icon="export-links" data-tooltip="Exporter les liens"></a>
                     <a href="#" data-action="popup.openLinksMove" data-icon="move-links"
                        data-tooltip="{{__('Déplacer les liens')}}"></a>
+
                 </nav>
                 <nav id="linkeditor-toolbar-center">
                     <a href="#" data-action="firstPage" data-icon="first-page"