Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

semour / semour_admin

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Find file
Normal viewHistoryPermalink
Switch branch/tag
  • semour_admin
  • app
  • Admin
  • Controllers
  • UserController.php
UserController.php 4.16 KB
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
1 2 3 4
<?php

namespace App\Admin\Controllers;

宁成龙's avatar
完善新增用户
d7071222
 
宁成龙 committed 2 years ago
5 6
use App\Admin\Metrics\Examples\Tickets;
use App\Admin\Renderable\CreateUser;
宁成龙's avatar
完善用户详情页面
0243c1df
 
宁成龙 committed 2 years ago
7
use App\Admin\Renderable\UserDetail;
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
8
use App\Admin\Repositories\User;
宁成龙's avatar
完善用户详情页面
0243c1df
 
宁成龙 committed 2 years ago
9
use App\Admin\Repositories\UserAddress;
宁成龙's avatar
完善用户列表
26a96a24
 
宁成龙 committed 2 years ago
10
use App\Admin\Service\UserService;
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
11 12
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
宁成龙's avatar
完善新增用户
d7071222
 
宁成龙 committed 2 years ago
13 14 15 16
use Dcat\Admin\Http\Controllers\Dashboard;
use Dcat\Admin\Layout\Column;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Layout\Row;
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
17 18
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
19 20
use Illuminate\Support\Facades\Validator;
use Symfony\Component\HttpFoundation\Response;
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
21 22 23 24 25 26 27 28 29 30 31

class UserController extends AdminController
{
    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        return Grid::make(new User(), function (Grid $grid) {
宁成龙's avatar
完善用户列表
26a96a24
 
宁成龙 committed 2 years ago
32 33 34
            $grid->showFilter();
            $grid->disableFilterButton();
            $grid->disableRefreshButton();
宁成龙's avatar
增加转让,分配按钮
5e446ea2
 
宁成龙 committed 2 years ago
35 36
            $grid->disableBatchDelete();
//            $grid->disableCreateButton();
宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
37
            $grid->model()->orderBy("id", "desc");
宁成龙's avatar
完善用户列表
26a96a24
 
宁成龙 committed 2 years ago
38
            UserService::userListListField($grid);
宁成龙's avatar
优化用户列表启用/禁用按钮
b9b30b71
 
宁成龙 committed 2 years ago
39 40
            UserService::userListTool($grid);
            UserService::userListActions($grid);
宁成龙's avatar
增加转让,分配按钮
5e446ea2
 
宁成龙 committed 2 years ago
41
            UserService::userListFilter($grid);
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
42 43 44 45 46 47 48 49 50 51 52 53
        });
    }

    /**
     * Make a show builder.
     *
     * @param mixed $id
     *
     * @return Show
     */
    protected function detail($id)
    {
宁成龙's avatar
完善新增用户
d7071222
 
宁成龙 committed 2 years ago
54 55 56 57 58 59 60 61 62 63 64 65 66 67
        $address_list = (\App\Admin\Renderable\UserAddress::make(["key" => $id])->render());
        return UserDetail::make(["key" => $id])->render() . $address_list;
    }


    /**
     * Make a show builder.
     *
     * @param mixed $id
     *
     * @return Show
     */
    public function create(Content $content)
    {
宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
68
        return $content->body(CreateUser::make()->render());
宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
69 70
    }

宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

    /**
     * Store a newly created resource in storage.
     *
     * @return mixed
     */
    public function store()
    {
        try {
            $data = request()->all();
            $params = [
                'company_name'       => $data['company_name'],
                'user_sn'            => $data['user_sn'],
                'first_name'         => $data['first_name'],
                'last_name'          => $data['last_name'],
                'phone'              => $data['phone'],
                'email'              => $data['email'],
                'account_properties' => $data['account_properties'],
                'remark'             => $data['remark'],
                'user_address_list'  => $data['user_address_list'] ?? [],
            ];

            $validator = Validator::make($params, [
                'company_name'       => 'required',
                'first_name'         => 'required',
                'last_name'          => 'required',
                'phone'              => 'required',
                'email'              => 'required',
                'account_properties' => 'required',
//                'user_address_list' => 'required',
//                'user_address_list.first_name'     => 'required',
//                'user_address_list.last_name'      => 'required',
//                'user_address_list.email'          => 'required',
//                'user_address_list.phone'          => 'required',
//                'user_address_list.country'        => 'required',
//                'user_address_list.city'           => 'required',
//                'user_address_list.post_code'      => 'required',
//                'user_address_list.detail_address' => 'required',
//                'user_address_list.is_default'     => 'required',
            ]);
            if ($validator->fails()) {
                $error = $validator->errors()->first();
                throw new \Exception($error);
            }
            UserService::createUserAndAddress($params);
        } catch (\Throwable $throwable) {
宁成龙's avatar
优化客户列表
6b80ce3e
 
宁成龙 committed 2 years ago
117
//            var_dump((string)$throwable);
宁成龙's avatar
完善列表禁用翻译
d37c3f4b
 
宁成龙 committed 2 years ago
118
            return Form::make()->response()
宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
119 120 121
                    ->error(trans('admin.save_failed'))
                    ->withExceptionIf($throwable->getMessage(), $throwable);
        }
宁成龙's avatar
优化客户列表
6b80ce3e
 
宁成龙 committed 2 years ago
122 123
        $url = admin_url("/users");
        return Form::make()->response()->success(admin_trans("succeeded"))->redirect($url);
宁成龙's avatar
完善新增客户页面
30085249
 
宁成龙 committed 2 years ago
124 125 126
    }


宁成龙's avatar
用户列表curd
e7545fde
 
宁成龙 committed 2 years ago
127
}