]> _ Git - cubist_cms-back.git/commitdiff
#2810
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 11 Jun 2019 15:06:31 +0000 (17:06 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 11 Jun 2019 15:06:31 +0000 (17:06 +0200)
composer.json
src/app/Console/Commands/GenerateCommand.php
src/app/Magic/Controllers/CubistMagicController.php
src/app/Magic/Controllers/CubistMagicNestedController.php
src/app/Magic/Fields/Files.php

index c72bb9329b0af1c5eabe1f52364c4421bb512f3d..ee97085cb20f2cb455be7ba31c8c0bf03d138f50 100644 (file)
@@ -35,7 +35,8 @@
         "webfactor/laravel-backpack-instant-fields": "^2.3.1",
         "webfactor/laravel-backpack-nestedmodels": "^1.0.1@dev",
         "spatie/laravel-translatable": "^4.1",
-        "venturecraft/revisionable": "^1.30"
+        "venturecraft/revisionable": "^1.30",
+        "gaspertrix/laravel-backpack-dropzone-field": "^1.0"
     },
     "require-dev": {
         "filp/whoops": "^2.3",
index d40aa23242366bfd1b132bec6bdfe03dd210a5d8..72eef3a1a6090f55cc69fdc0a31d998b60a12fb6 100644 (file)
@@ -57,9 +57,25 @@ class GenerateCommand extends CubistCommand
     {
         $this->line('Generate code of ' . get_class($model));
         $model->generateCode();
-        $this->_routes[] = 'CRUD::resource(\'' . $model->getOption('route', $model->getOption('name')) . '\', \'' . $model->getControllerClass() . '\');';
+
+        $route = $model->getOption('route', $model->getOption('name'));
+        $controller = $model->getControllerClass();
+
+        $this->_routes[] = 'CRUD::resource(\'' . $route . '\', \'' . $controller . '\')->with(function () {
+        Route::match([\'post\'], \'' . $route . '/{id}/media\', \'' . $controller . '@uploadMedia\');
+        Route::match([\'delete\'], \'' . $route . '/{id}/media/{mediaId}\', \'' . $controller . '@deleteMedia\');
+        Route::match([\'post\'], \'' . $route . '/{id}/media/reorder\', \'' . $controller . '@reorderMedia\');
+    });';
     }
 
 }
 
 
+/*
+ *
+CRUD::resource('entity', 'EntityCrudController')->with(function () {
+   Route::match(['post'], 'entity/{id}/media', 'EntityCrudController@uploadMedia');
+   Route::match(['delete'], 'entity/{id}/media/{mediaId}', 'EntityCrudController@deleteMedia');
+   Route::match(['post'], 'entity/{id}/media/reorder', 'EntityCrudController@reorderMedia');
+});
+ */
index b7ac7307c9548da3ca373865bcd44decc3d4c142..64cc0813597905d34f731be2260f2e2f063261dd 100644 (file)
@@ -5,10 +5,11 @@ namespace Cubist\Backpack\app\Magic\Controllers;
 
 use Backpack\CRUD\app\Http\Controllers\CrudController;
 use Backpack\CRUD\CrudTrait;
+use Gaspertrix\Backpack\DropzoneField\Traits\HandleAjaxMedia;
 
 class CubistMagicController extends CrudController
 {
-    use CrudTrait, CubistMagicControllerTrait;
+    use CrudTrait, CubistMagicControllerTrait, HandleAjaxMedia;
 
     protected $_modelNamespace;
     protected $_routeURL;
index 101fdbd7043d579870fa1963df3944849a0564b8..f133654f1bc71a3426c52405c79b9f9a98dafc82 100644 (file)
@@ -4,11 +4,12 @@
 namespace Cubist\Backpack\app\Magic\Controllers;
 
 use Backpack\CRUD\CrudTrait;
+use Gaspertrix\Backpack\DropzoneField\Traits\HandleAjaxMedia;
 use Webfactor\Laravel\Backpack\NestedModels\Controllers\NestedModelsCrudController;
 
 class CubistMagicNestedController extends NestedModelsCrudController
 {
-    use CrudTrait, CubistMagicControllerTrait;
+    use CrudTrait, CubistMagicControllerTrait, HandleAjaxMedia;
 
     protected $_modelNamespace;
     protected $_routeURL;
@@ -16,7 +17,8 @@ class CubistMagicNestedController extends NestedModelsCrudController
     protected $_plural;
     protected $_bulk;
 
-    public function _postSetModel(){
+    public function _postSetModel()
+    {
         $this->treeSetup();
     }
 }
index 071a22bb154d926a02168bf9e7f10256cc87e953..bcfaf72b01cbb1df0820f553e0ab86bf57fe613a 100644 (file)
@@ -4,27 +4,18 @@
 namespace Cubist\Backpack\app\Magic\Fields;
 
 
+use Cubist\Backpack\CubistBackpackServiceProvider;
+
 class Files extends Field
 {
     protected $_mimeTypes = null;
     protected $_multiple = false;
-    protected $_adminType = 'upload';
+    protected $_adminType = 'dropzone';
+    protected $_viewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::fields';
     protected $_databaseType = 'text';
 
     public function getDefaultAttributes()
     {
-        return array_merge(parent::getDefaultAttributes(), ['mime_types' => $this->_mimeTypes, 'multiple' => $this->_multiple, 'upload' => true, 'disk' => 'uploads']);
-    }
-
-    protected function _postSetAttributes()
-    {
-        if ($this->_multiple) {
-            $this->setAttribute('type', 'browse_multiple');
-        } else {
-            $this->setAttribute('type', 'browse');
-        }
-
-        parent::_postSetAttributes();
+        return array_merge(parent::getDefaultAttributes(), ['mime_types' => $this->_mimeTypes, 'multiple' => $this->_multiple]);
     }
-
 }