public function store(CubistMagicStoreRequest $request)
{
$request = $this->_prepareCRUDData($request);
+ $this->getModelInstance()->onBeforeStore($this, $request);
// your additional operations before save here
$redirect_location = parent::storeCrud($request);
public function update(CubistMagicUpdateRequest $request)
{
$request = $this->_prepareCRUDData($request);
+ $this->getModelInstance()->onBeforeUpdate($this, $request);
// your additional operations before save here
$redirect_location = parent::updateCrud($request);
return $redirect_location;
}
-
+ public function edit($id)
+ {
+ $this->getModelInstance()->onBeforeEdit($this, $id);
+ return parent::edit($id);
+ }
}
protected function _seo()
{
+ $this->addField(['name' => 'slug',
+ 'type' => 'Slug',
+ 'label' => 'Slug (URL)',
+ 'tab' => 'SEO // Meta',
+ ]);
+
$this->addFakeField([
'name' => 'meta_title',
'label' => trans('backpack::pagemanager.meta_title'),
'store_in' => 'seo',
]);
- $this->addField(['name' => 'slug',
- 'type' => 'Slug',
- 'label' => 'Slug (URL)',
- 'tab' => 'SEO // Meta',
- ]);
-
$this->addFakeField([
'name' => 'meta_description',
'label' => trans('backpack::pagemanager.meta_description'),
'tab' => 'SEO // Meta',
'store_in' => 'seo',
]);
-
+
$this->addFakeField([
'name' => 'robots',
'label' => __('Allow page index by search engines'),
*/
protected $_relationships = [];
+
+ /**
+ * @var array
+ */
+ protected $varSetBeforeOperations = [];
+
public static function boot()
{
parent::boot();
if ($field->getAttribute('cast', false) !== false) {
$this->casts[$field->getAttribute('name')] = $field->getAttribute('cast');
}
+ if ($field->getAttribute('set_before_operation', false) !== false) {
+ $this->varSetBeforeOperations[] = $field->getAttribute('name');
+ }
}
'MODELNAMESPACE' => get_class($this),
'EXTENDS' => $this->_getBaseController(),
'CLONABLE' => $this->clonable ? 'true' : 'false',
- 'BULK' => $this->getOption('bulk', true) ? 'true' : 'false'
+ 'BULK' => $this->getOption('bulk', true) ? 'true' : 'false',
+ 'VARSETBEFOREOPERATION' => var_export($this->varSetBeforeOperations, true),
];
$res = file_get_contents($stub);
return $this->{$this->getPrimaryKey()};
}
+ public function onBeforeEdit($controller, $id)
+ {
+
+ }
+
+ public function onBeforeUpdate($controller, $request)
+ {
+
+ }
+
+ public function onBeforeStore($controller, $request)
+ {
+ }
}