use Backpack\CRUD\app\Exceptions\AccessDeniedException;
use Backpack\CRUD\app\Library\CrudPanel\CrudPanel;
use Cubist\Backpack\Magic\Models\CubistMagicAbstractModel;
+use Cubist\Backpack\Magic\Requests\CubistMagicRequest;
+use Illuminate\Http\Request;
+use Illuminate\Support\Arr;
/**
* @property CubistMagicAbstractModel $model
}
return $this->entry;
}
+
+
+
+ public function getStrippedSaveRequest()
+ {
+ dd($this->getRequest());
+ }
}
{
return $this->crud->getModel();
}
-
- /**
- * @return CubistMagicRequest
- */
- protected function _prepareCRUDData()
- {
- $request = $this->crud->validateRequest();
-
- $appendComposite = [];
- foreach ($request->all() as $field => $content) {
- $initialContent = $content;
- $initialField = $field;
-
- $change = false;
- $unsetInitial = false;
- $e = explode('___', $field);
- if (count($e) > 1) {
- $change = false;
- $unsetInitial = true;
- $field = $e[0];
- for ($i = 1; $i < count($e); $i++) {
- $field .= '.' . $e[$i];
- }
- Arr::set($appendComposite, $field, $content);
- }
-
- if ($change) {
- $request->request->set($field, $content);
- }
- if ($unsetInitial) {
- $request->request->set($initialField, null);
- }
- }
-
- foreach ($appendComposite as $key => $value) {
- $request->request->set($key, $value);
- }
-
- return $request;
- }
-
- /**
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Http\RedirectResponse
- */
- public function store()
- {
- $this->_forgetCache();
-
- $request = $this->_prepareCRUDData();
- $this->getModelInstance()->onBeforeStore($this, $request);
-
- // your additional operations before save here
- $redirect_location = parent::store();
- // your additional operations after save here
- // use $this->data['entry'] or $this->crud->entry
- return $redirect_location;
- }
-
- /**
- * @param CubistMagicUpdateRequest $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function update()
- {
- $this->_forgetCache();
-
- $request = $this->_prepareCRUDData();
- $this->getModelInstance()->onBeforeUpdate($this, $request);
-
- // your additional operations before save here
- $redirect_location = parent::update();
- // your additional operations after save here
- // use $this->data['entry'] or $this->crud->entry
- return $redirect_location;
- }
-
protected function _forgetCache()
{
try {
protected $_databaseUnique = true;
protected $_databaseType = 'string';
- protected $_translatable=false;
+ protected $_translatable = false;
+ protected $_databaseDefault = null;
public function __construct($attributes)
{
$this->_databaseAttributes
);
- $default = $this->getAttribute('database_default') ?? $this->getAttribute('default');
- if ($default !== null) {
- $attributes['default'] = $default;
- }
+ $attributes['default'] = $this->getAttribute('database_default');
$length = $this->getDatabaseLength();
if (null !== $length) {
$attributes['length'] = $length;
'label' => 'Enabled',
'type' => 'checkbox',
'tab' => 'Login',
- 'default' => true]);
+ 'default' => true,
+ 'database_default' => true]);
$this->addField(['name' => 'remember_token',
'type' => 'Text',
$this->addField(['name' => 'api_token',
'label' => 'API Token',
'type' => 'APIToken',
- 'database_default' => '',
'tab' => 'Login',
'can' => 'users:admin'
]);
--- /dev/null
+<?php
+
+namespace Cubist\Backpack\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Arr;
+
+class BunchRequest extends CubistMiddleware
+{
+ public function handle(Request $request, Closure $next)
+ {
+ parent::handle($request, $next);
+
+ $appendComposite = [];
+ foreach ($request->all() as $field => $content) {
+ $initialContent = $content;
+ $initialField = $field;
+
+ $change = false;
+ $unsetInitial = false;
+ $e = explode('___', $field);
+ if (count($e) > 1) {
+ $change = false;
+ $unsetInitial = true;
+ $field = $e[0];
+ for ($i = 1; $i < count($e); $i++) {
+ $field .= '.' . $e[$i];
+ }
+ Arr::set($appendComposite, $field, $content);
+ }
+
+ if ($change) {
+ $request->request->set($field, $content);
+ }
+ if ($unsetInitial) {
+ $request->request->set($initialField, null);
+ }
+ }
+
+
+ foreach ($appendComposite as $key => $value) {
+ $request->request->set($key, $value);
+ }
+ return $this->getResponse();
+ }
+}