From: Vincent Vanwaelscappel Date: Tue, 3 Mar 2020 18:54:53 +0000 (+0100) Subject: wip #3458 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=7ef56272b62229ecc25e01892232a1bbcd8d419c;p=cubist_cms-back.git wip #3458 @1 --- diff --git a/src/app/Magic/Controllers/CubistMagicController.php b/src/app/Magic/Controllers/CubistMagicController.php index 291ffe6..e4fa39b 100644 --- a/src/app/Magic/Controllers/CubistMagicController.php +++ b/src/app/Magic/Controllers/CubistMagicController.php @@ -31,19 +31,6 @@ class CubistMagicController extends CubistCrudController protected $_oneInstance; protected $_nested = false; - // Routes -////Route::post($this->name . '/bulk-translations-replace', [ -////'as' => 'crud.' . $this->name . '.bulkTranslationsReplace', -////'uses' => $this->controller . '@bulkTranslationsReplace', -////]); -/// -/// -/// -/// -/// -/// - - public function _postSetModel() { @@ -107,10 +94,10 @@ class CubistMagicController extends CubistCrudController | CrudPanel Configuration |-------------------------------------------------------------------------- */ - - $this->crud->addColumn(['name' => $model->getPrimaryKey(), 'type' => 'number', 'label' => "#", 'searchLogic' => 'text']); + $this->getModelInstance()->setupButtons($this->crud); + $this->updateFieldsFromModel($model); } diff --git a/src/app/Magic/Models/CubistMagicAbstractModel.php b/src/app/Magic/Models/CubistMagicAbstractModel.php index 61413dd..6626a30 100644 --- a/src/app/Magic/Models/CubistMagicAbstractModel.php +++ b/src/app/Magic/Models/CubistMagicAbstractModel.php @@ -2,6 +2,7 @@ namespace Cubist\Backpack\app\Magic\Models; +use Backpack\CRUD\app\Library\CrudPanel\CrudPanel; use Backpack\CRUD\app\Models\Traits\CrudTrait; use Cubist\Backpack\app\Magic\BunchOfFields; use Cubist\Backpack\app\Magic\Controllers\CubistMagicController; @@ -37,6 +38,8 @@ class CubistMagicAbstractModel extends Model implements HasMedia public $timestamps = true; public $clonable = true; + protected $_baseController = CubistMagicController::class; + /** * @var array */ @@ -75,13 +78,35 @@ class CubistMagicAbstractModel extends Model implements HasMedia } public function __construct(array $attributes = []) + { + + $this->setup(); + $this->fill($attributes); + } + + public function setup() { $this->setFields(); $this->postSetFields(); $this->bootIfNotBooted(); $this->initializeTraits(); $this->syncOriginal(); - $this->fill($attributes); + } + + /** + * @param $crud CrudPanel + */ + public function setupButtons($crud) + { + + } + + /** + * @param $crud CrudPanel + */ + public function setupFilters($crud) + { + } public function newFromBuilder($attributes = [], $connection = null) @@ -272,7 +297,7 @@ class CubistMagicAbstractModel extends Model implements HasMedia */ protected function _getBaseController() { - return 'CubistMagicController'; + return $this->_baseController; } protected function _replaceInCode($stub, $dest) diff --git a/src/app/Magic/Models/CubistMagicNestedModel.php b/src/app/Magic/Models/CubistMagicNestedModel.php index 0af4a5f..93787de 100644 --- a/src/app/Magic/Models/CubistMagicNestedModel.php +++ b/src/app/Magic/Models/CubistMagicNestedModel.php @@ -2,9 +2,13 @@ namespace Cubist\Backpack\app\Magic\Models; +use Cubist\Backpack\app\Magic\Controllers\CubistMagicNestedController; + class CubistMagicNestedModel extends CubistMagicPageModel { + protected $_baseController = CubistMagicNestedController::class; + public function setSchema($schema) { $table = parent::setSchema($schema); @@ -20,22 +24,13 @@ class CubistMagicNestedModel extends CubistMagicPageModel return $table; } - /** - * @return string - */ - protected function _getBaseController() - { - return 'CubistMagicNestedController'; - } - - public static function getTree() { - try{ + try { $all = self::orderBy('lft')->get(); - }catch (\Exception $e){ - $all=[]; + } catch (\Exception $e) { + $all = []; } $res = []; self::_appendToTree($res, null, $all); diff --git a/src/resources/cubistmagic/Controller.stub b/src/resources/cubistmagic/Controller.stub index 0c75b9c..8502f05 100644 --- a/src/resources/cubistmagic/Controller.stub +++ b/src/resources/cubistmagic/Controller.stub @@ -2,8 +2,6 @@ namespace App\Http\Controllers\Admin; -use Cubist\Backpack\app\Magic\Controllers\_EXTENDS_; - class _CONTROLLERCLASS_ extends _EXTENDS_ { protected $_modelNamespace = '_MODELNAMESPACE_';