123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- namespace App\Distributor\Controllers;
- use Dcat\Admin\Http\Controllers\AuthController as BaseAuthController;
- use Dcat\Admin\Admin;
- use Dcat\Admin\Form;
- use Dcat\Admin\Http\Repositories\Administrator;
- use Dcat\Admin\Layout\Content;
- use Illuminate\Http\Request;
- class AuthController extends BaseAuthController
- {
- protected $view = 'distributor.pages.login';
- public function getSetting(Content $content)
- {
- $form = $this->settingForm();
- $form->tools(
- function (Form\Tools $tools) {
- $tools->disableList();
- }
- );
- return $content
- ->title(trans('admin.user_setting'))
- ->body($form->edit(Admin::user()->getKey()));
- }
- /**
- * Model-form for user setting.
- *
- * @return Form
- */
- protected function settingForm()
- {
- return new Form(new Administrator(), function (Form $form) {
- $form->action(admin_url('auth/setting'));
- $form->disableCreatingCheck();
- $form->disableEditingCheck();
- $form->disableViewCheck();
- $form->tools(function (Form\Tools $tools) {
- $tools->disableView();
- $tools->disableDelete();
- });
- $form->display('username', trans('admin.username'));
- $form->text('name', trans('admin.name'))->required();
- //$form->image('avatar', trans('admin.avatar'))->autoUpload();
- $form->password('old_password', trans('admin.old_password'));
- $form->password('password', trans('admin.password'))
- ->minLength(5)
- ->maxLength(20)
- ->customFormat(function ($v) {
- if ($v == $this->password) {
- return;
- }
- return $v;
- });
- $form->password('password_confirmation', trans('admin.password_confirmation'))->same('password');
- $form->ignore(['password_confirmation', 'old_password']);
- // 添加语言选择的下拉框
- $form->select('language', trans('admin.language'))
- ->options(config('app.languages'))
- ->default('en')
- ->required();; // 设置默认语言
- $form->saving(function (Form $form) {
- if ($form->password && $form->model()->password != $form->password) {
- $form->password = bcrypt($form->password);
- }
- if (! $form->password) {
- $form->deleteInput('password');
- }
- });
- $form->saved(function (Form $form) {
- return $form
- ->response()
- ->success(trans('admin.update_succeeded'))
- //->redirect('/');
- ->script('location.reload();');//保存成功后刷新页面
- });
- // // 在从数据库中取出记录时,如果 language 为空,则默认给它一个值
- // $form->model()->language = $form->model()->language ?: 'en';
- });
- }
- protected function sendLoginResponse(Request $request)
- {
- $request->session()->regenerate();
- $path = $this->getRedirectPath();
- return $this->response()
- ->success(trans('admin.login_successful'))
- ->locationToIntended($path)
- ->locationIf(Admin::app()->getEnabledApps(), $path)
- ->send();
- }
- }
|