添加后台重置用户密码功能
parent
0ae85a494e
commit
bfb48b5d43
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Actions\Grid;
|
||||
|
||||
use App\Admin\Forms\UserResetPassword as UserResetPasswordForm;
|
||||
use Dcat\Admin\Grid\RowAction;
|
||||
use Dcat\Admin\Widgets\Modal;
|
||||
|
||||
class UserResetPassword extends RowAction
|
||||
{
|
||||
public function title()
|
||||
{
|
||||
if ($this->title) {
|
||||
return $this->title;
|
||||
}
|
||||
return '<i class="feather grid-action-icon icon-repeat"></i> 重置密码 ';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model|Authenticatable|HasPermissions|null $user
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function authorize($user): bool
|
||||
{
|
||||
return $user->can('dcat.admin.users.reset_password');
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
$form = UserResetPasswordForm::make()->payload(['id'=>$this->getKey()]);
|
||||
return Modal::make()
|
||||
->lg()
|
||||
->title($this->title())
|
||||
->body($form)
|
||||
->button($this->title());
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ use App\Admin\Actions\Grid\DisableUser;
|
|||
use App\Admin\Actions\Grid\EnableUser;
|
||||
use App\Admin\Actions\Grid\Frozen;
|
||||
use App\Admin\Actions\Grid\UserEditAgent;
|
||||
use App\Admin\Actions\Grid\UserResetPassword;
|
||||
use App\Admin\Actions\Show\UserDisableBonus;
|
||||
use App\Admin\Actions\Show\UserEditBank;
|
||||
use App\Admin\Actions\Show\UserEditPhone;
|
||||
|
|
@ -114,6 +115,11 @@ class UserController extends AdminController
|
|||
if (Admin::user()->can('dcat.admin.users.edit_agent')) {
|
||||
$actions->append(new UserEditAgent());
|
||||
}
|
||||
|
||||
// 重置用户密码
|
||||
if (Admin::user()->can('dcat.admin.users.reset_password')) {
|
||||
$actions->append(new UserResetPassword());
|
||||
}
|
||||
});
|
||||
|
||||
$grid->filter(function (Grid\Filter $filter) {
|
||||
|
|
@ -177,19 +183,19 @@ class UserController extends AdminController
|
|||
->tools(function ($tools) use ($show) {
|
||||
$tools->disableEdit();
|
||||
$tools->disableDelete();
|
||||
// todo-修改手机号
|
||||
// 修改手机号
|
||||
if (Admin::user()->can('dcat.admin.users.edit_phone')) {
|
||||
$tools->append(new UserEditPhone());
|
||||
}
|
||||
// todo-修改银行卡
|
||||
// 修改银行卡
|
||||
if (Admin::user()->can('dcat.admin.users.edit_bank')) {
|
||||
$tools->append(new UserEditBank());
|
||||
}
|
||||
// todo-开启奖金分红
|
||||
// 开启奖金分红
|
||||
if (!$show->model()->userInfo->bonusable && Admin::user()->can('dcat.admin.users.enable_bonus')) {
|
||||
$tools->append(new UserEnableBonus());
|
||||
}
|
||||
// todo-关闭奖金分红
|
||||
// 关闭奖金分红
|
||||
if ($show->model()->userInfo->bonusable && Admin::user()->can('dcat.admin.users.disable_bonus')) {
|
||||
$tools->append(new UserDisableBonus());
|
||||
}
|
||||
|
|
@ -198,13 +204,13 @@ class UserController extends AdminController
|
|||
});
|
||||
$row->column(7, function ($column) use ($id) {
|
||||
$tab = Tab::make();
|
||||
// todo_粉丝列表
|
||||
// 粉丝列表
|
||||
$tab->add('粉丝列表', UserFansSimpleTable::make(['id'=>$id]));
|
||||
// todo-预收益明细
|
||||
// 预收益明细
|
||||
$tab->add('预收益明细', DistributionPreIncomeSimpleTable::make(['id'=>$id]));
|
||||
// todo-可提明细
|
||||
// 可提明细
|
||||
$tab->add('可提明细', UserWalletLogSimpleTable::make(['id'=>$id]));
|
||||
// todo-余额明细
|
||||
// 余额明细
|
||||
$tab->add('余额明细', UserBalanceLogSimpleTable::make(['id'=>$id]));
|
||||
$column->row(Box::make('用户记录', $tab));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
namespace App\Admin\Forms;
|
||||
|
||||
use App\Models\User;
|
||||
use Dcat\Admin\Contracts\LazyRenderable;
|
||||
use Dcat\Admin\Traits\LazyWidget;
|
||||
use Dcat\Admin\Widgets\Form;
|
||||
|
||||
class UserResetPassword extends Form implements LazyRenderable
|
||||
{
|
||||
use LazyWidget;
|
||||
|
||||
/**
|
||||
* @param Model|Authenticatable|HasPermissions|null $user
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function authorize($user): bool
|
||||
{
|
||||
return $user->can('dcat.admin.users.reset_password');
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the form request.
|
||||
*
|
||||
* @param array $input
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle(array $input)
|
||||
{
|
||||
$id = $this->payload['id'] ?? 0;
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
$user->update([
|
||||
'password' => $input['password'],
|
||||
]);
|
||||
$user->tokens()->delete();
|
||||
|
||||
return $this->response()
|
||||
->success(__('admin.update_succeeded'))
|
||||
->refresh();
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a form here.
|
||||
*/
|
||||
public function form()
|
||||
{
|
||||
$this->password('password')->required();
|
||||
// 设置错误信息
|
||||
$this->password('password_confirm')->same('password', '两次密码输入不一致')->required();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue