]> _ Git - fluidbook-toolbox.git/commitdiff
fix #3473 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Mar 2020 17:47:35 +0000 (18:47 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Mar 2020 17:47:35 +0000 (18:47 +0100)
app/Http/Controllers/Admin/Base/QuizController.php
app/Http/Controllers/Admin/Operations/ImportOperation.php [new file with mode: 0644]
app/Models/Quiz.php
resources/views/vendor/backpack/crud/buttons/quiz/import.blade.php [new file with mode: 0644]

index 4a2ca2eb1905a972c073e94fd413a548f28d4e96..294a044e9c9d188a761dc631f626dddebaa2b0a5 100644 (file)
@@ -4,6 +4,7 @@
 namespace App\Http\Controllers\Admin\Base;
 
 use App\Http\Controllers\Admin\Operations\DownloadOperation;
+use App\Http\Controllers\Admin\Operations\ImportOperation;
 use App\Http\Controllers\Admin\Operations\PreviewOperation;
 use Cubist\Backpack\app\Magic\Controllers\CubistMagicController;
 
@@ -11,6 +12,7 @@ class QuizController extends CubistMagicController
 {
     use PreviewOperation;
     use DownloadOperation;
+    use ImportOperation;
 
     function setupListOperation()
     {
diff --git a/app/Http/Controllers/Admin/Operations/ImportOperation.php b/app/Http/Controllers/Admin/Operations/ImportOperation.php
new file mode 100644 (file)
index 0000000..e60ed09
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Http\Controllers\Admin\Operations;
+
+
+use Illuminate\Support\Facades\Route;
+
+trait ImportOperation
+{
+    protected function setupImportRoutes($segment, $routeName, $controller)
+    {
+        Route::match(['post'], $segment . '/import', $controller . '@import');
+    }
+
+    protected function import()
+    {
+    }
+
+}
index ea3dac0b267338f8f4e4f11b715d4d6bd4964746..5335541a02cd14c3582f02f0e8776c32306518ac 100644 (file)
@@ -47,10 +47,14 @@ class Quiz extends CubistMagicAbstractModel
      */
     public function setupButtons($crud)
     {
+
         parent::setupButtons($crud);
 
         $crud->addButtonFromModelFunction('line', 'open_preview', 'openPreviewButton', 'begining');
         $crud->addButtonFromModelFunction('line', 'download', 'downloadButton', 'end');
+
+        $crud->addButtonFromView('top', 'import', 'quiz.import', 'end');
+
     }
 
     public function openPreviewButton($crud = false)
@@ -63,6 +67,7 @@ class Quiz extends CubistMagicAbstractModel
         return '<a class="btn btn-sm btn-link" href="' . url($crud->route . '/' . $this->getKey() . '/download') . '" data-toggle="tooltip" title="Download quiz"><i class="fa fa-arrow-circle-down"></i> Download</a>';
     }
 
+
     public function setFields()
     {
         parent::setFields();
diff --git a/resources/views/vendor/backpack/crud/buttons/quiz/import.blade.php b/resources/views/vendor/backpack/crud/buttons/quiz/import.blade.php
new file mode 100644 (file)
index 0000000..d4b8611
--- /dev/null
@@ -0,0 +1,24 @@
+<form method="post" enctype="multipart/form-data" action="{{$crud->route}}/import"
+      style="visibility:hidden;height:1px;position:absolute;top:0;" id="uploadimportform">
+    <input type="file" name="file" multiple="multiple" id="uploadimport" accept="application/zip">
+</form>
+<a class="btn btn-primary" href="#" data-toggle="tooltip" title="Import" id="uploadimportbutton"><i
+        class="fa fa-upload"></i> Import</a>
+
+
+@push('after_scripts')
+    <script>
+        (function ($) {
+            $(function () {
+                $(document).on('click', "#uploadimportbutton", function () {
+                    $("#uploadimport").click();
+                    return false;
+                });
+
+                $(document).on('change', '#uploadimportform', function () {
+                    $("#uploadimportform").submit();
+                })
+            });
+        })(jQuery);
+    </script>
+@endpush