"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",
{
$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');
+});
+ */
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;
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;
protected $_plural;
protected $_bulk;
- public function _postSetModel(){
+ public function _postSetModel()
+ {
$this->treeSetup();
}
}
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]);
}
-
}