generated from liutk/owl-admin-base
42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Arr;
|
|
use Slowlyo\OwlAdmin\Controllers\AdminController as Controller;
|
|
|
|
/**
|
|
* @property \App\Admin\Services\BaseService $service
|
|
*/
|
|
abstract class AdminController extends Controller
|
|
{
|
|
public function getQuickEditItemPath(array $editable = ['*'])
|
|
{
|
|
$params = ['_action' => 'quickEditItem'];
|
|
|
|
if ($editable != ['*']) {
|
|
$params['_editable'] = implode(',', $editable);
|
|
}
|
|
|
|
return $this->getUpdatePath().'?'.http_build_query($params);
|
|
}
|
|
|
|
public function update(Request $request)
|
|
{
|
|
$data = $request->all();
|
|
|
|
if ($this->actionOfQuickEditItem()) {
|
|
Arr::pull($data, $this->service->primaryKey());
|
|
|
|
if ($request->filled('_editable')) {
|
|
$data = Arr::only($data, explode(',', $request->input('_editable')));
|
|
}
|
|
}
|
|
|
|
$result = $this->service->update($this->getPrimaryValue($request), $data);
|
|
|
|
return $this->autoResponse($result, __('admin.save'));
|
|
}
|
|
}
|