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;
{
use PreviewOperation;
use DownloadOperation;
+ use ImportOperation;
function setupListOperation()
{
--- /dev/null
+<?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()
+ {
+ }
+
+}
*/
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)
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();
--- /dev/null
+<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