generated from liutk/owl-admin-base
修改密码
parent
fefebbe157
commit
7a0cc84616
|
|
@ -2,9 +2,11 @@
|
||||||
|
|
||||||
namespace App\Admin\Controllers\System;
|
namespace App\Admin\Controllers\System;
|
||||||
|
|
||||||
|
use App\Admin\Controllers\AdminController;
|
||||||
|
use App\Admin\Requests\System\AdminUserChangePasswordRequest;
|
||||||
use App\Admin\Services\AdminUserService;
|
use App\Admin\Services\AdminUserService;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Slowlyo\OwlAdmin\Admin;
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Operation;
|
use Slowlyo\OwlAdmin\Renderers\Operation;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
@ -30,6 +32,7 @@ class AdminUserController extends AdminController
|
||||||
->size('md')
|
->size('md')
|
||||||
->placeholder(__('admin.admin_user.search_username'))
|
->placeholder(__('admin.admin_user.search_username'))
|
||||||
))
|
))
|
||||||
|
->quickSaveItemApi($this->getQuickEditItemPath(['lock']))
|
||||||
->itemCheckableOn('${id !== 1}')
|
->itemCheckableOn('${id !== 1}')
|
||||||
->columns([
|
->columns([
|
||||||
amisMake()->TableColumn('id', 'ID')->sortable(),
|
amisMake()->TableColumn('id', 'ID')->sortable(),
|
||||||
|
|
@ -42,7 +45,7 @@ class AdminUserController extends AdminController
|
||||||
amisMake()->TableColumn('lock', __('admin.admin_user.lock'))->quickEdit(SwitchControl::make()->saveImmediately(true)->mode('inline')->disabledOn('${id === 1}')),
|
amisMake()->TableColumn('lock', __('admin.admin_user.lock'))->quickEdit(SwitchControl::make()->saveImmediately(true)->mode('inline')->disabledOn('${id === 1}')),
|
||||||
amisMake()->TableColumn('created_at', __('admin.created_at'))->type('datetime')->sortable(true),
|
amisMake()->TableColumn('created_at', __('admin.created_at'))->type('datetime')->sortable(true),
|
||||||
Operation::make()->label(__('admin.actions'))->buttons([
|
Operation::make()->label(__('admin.actions'))->buttons([
|
||||||
$this->editPassword()
|
$this->changePasswordButton()
|
||||||
->visible(Admin::user()->can('admin.system.admin_users.change_password'))
|
->visible(Admin::user()->can('admin.system.admin_users.change_password'))
|
||||||
->visibleOn('${id != 1}'),
|
->visibleOn('${id != 1}'),
|
||||||
$this->rowEditButton(true)
|
$this->rowEditButton(true)
|
||||||
|
|
@ -82,20 +85,30 @@ class AdminUserController extends AdminController
|
||||||
return $this->baseDetail()->body([]);
|
return $this->baseDetail()->body([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function editPassword()
|
public function changePassword($id, AdminUserChangePasswordRequest $request)
|
||||||
|
{
|
||||||
|
$model = Admin::adminUserModel();
|
||||||
|
|
||||||
|
$user = $model->findOrFail($id);
|
||||||
|
$user->update([
|
||||||
|
'password' => Hash::make($request->input('password')),
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $this->autoResponse('success', __('admin.save'));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function changePasswordButton()
|
||||||
{
|
{
|
||||||
return amisMake()->DialogAction()->icon('fa-regular fa-lightbulb')->label(__('admin.admin_user.edit_password'))->level('link')->dialog(
|
return amisMake()->DialogAction()->icon('fa-regular fa-lightbulb')->label(__('admin.admin_user.edit_password'))->level('link')->dialog(
|
||||||
amisMake()->Dialog()->title(__('admin.admin_user.edit_password'))->body([
|
amisMake()->Dialog()->title(__('admin.admin_user.edit_password'))->body([
|
||||||
amisMake()->Form()->title('')
|
amisMake()->Form()->title('')
|
||||||
->api([
|
->api([
|
||||||
'method' => 'PUT',
|
'method' => 'PUT',
|
||||||
'url' => admin_url('system/admin_users/$id'),
|
'url' => admin_url('system/admin_users/$id/change-password'),
|
||||||
])
|
])
|
||||||
->body([
|
->body([
|
||||||
amisMake()->TextControl('id')->value('${id}')->hidden(true),
|
amisMake()->TextControl('password', __('admin.password'))->type('input-password')->required()->validations(['minLength' => 5]),
|
||||||
amisMake()->TextControl('username')->value('${username}')->hidden(true),
|
amisMake()->TextControl('password_confirmation', __('admin.confirm_password'))->type('input-password')->required()->validations(['minLength' => 5]),
|
||||||
amisMake()->TextControl('password', __('admin.password'))->type('input-password')->required()->validations(['minLength' => 6]),
|
|
||||||
amisMake()->TextControl('confirm_password', __('admin.confirm_password'))->type('input-password')->required()->validations(['minLength' => 6]),
|
|
||||||
]),
|
]),
|
||||||
])->size('md')
|
])->size('md')
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Admin\Requests\System;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|
||||||
|
class AdminUserChangePasswordRequest extends FormRequest
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function rules(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'password' => ['bail', 'required', 'confirmed', 'min:6'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function attributes()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'password' => '密码',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -51,6 +51,7 @@ Route::group([
|
||||||
], function (Router $router) {
|
], function (Router $router) {
|
||||||
// 账号管理
|
// 账号管理
|
||||||
$router->resource('admin_users', AdminUserController::class);
|
$router->resource('admin_users', AdminUserController::class);
|
||||||
|
$router->put('/admin_users/{admin_user}/change-password', [AdminUserController::class, 'changePassword'])->name('admin_users.change_password');
|
||||||
// 角色管理
|
// 角色管理
|
||||||
$router->resource('admin_roles', AdminRoleController::class);
|
$router->resource('admin_roles', AdminRoleController::class);
|
||||||
$router->post('admin_roles/{admin_role}/menus', [AdminRoleController::class, 'saveMenus'])->name('admin_roles.set_menus');
|
$router->post('admin_roles/{admin_role}/menus', [AdminRoleController::class, 'saveMenus'])->name('admin_roles.set_menus');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue