PermissionForm.php
2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
* 管理端表单 trait层:渲染生成 Permission form 表单
+-----------------------------------------------------------------------------------------------------------------------
*
* PHP version 7
*
* @category App\Admin\Forms\Admin
* @package App\Admin\Forms\Admin
* @author Richer <yangzi1028@163.com>
* @date 2022年4月14日11:42:26
* @copyright 2020-2022 Richer (http://www.Richer.com/)
* @license http://www.Richer.com/ License
* @link http://www.Richer.com/
*/
namespace App\Admin\Forms\Admin;
use App\Models\Admin\Role;
use Encore\Admin\Form;
/**
* Class PermissionForm.
*
* @category App\Admin\Forms\Admin
* @author Richer <yangzi1028@163.com>
* @author Richer <yangzi1028@163.com>
* @date 2022年4月14日11:42:26
* @copyright 2020-2022 Richer (http://www.Richer.com/)
* @license http://www.Richer.com/ License
* @link http://www.Richer.com/
*/
trait PermissionForm
{
/**
* 渲染表单字段
*
* @param Int $id 用户id
*
* @return void
*/
public function renderFormFields($id)
{
$this->form->display('id', 'ID')->setGroupClass('col-md-12')->setWidth(10, 1);
$this->form->text('slug', trans('admin.slug'))->rules('required')->setGroupClass('col-md-12')->setWidth(10, 1);
$this->form->text('name', trans('admin.name'))->rules('required')->setGroupClass('col-md-12')->setWidth(10, 1);
$this->form->multipleSelect('http_method', trans('admin.http.method'))->setGroupClass('col-md-12')->setWidth(10, 1)
->options($this->getHttpMethodsOptions())
->help(trans('admin.all_methods_if_empty'));
$this->form->textarea('http_path', trans('admin.http.path'))->setGroupClass('col-md-12')->setWidth(10, 1);
$this->form->display('created_at', trans('admin.created_at'))->setGroupClass('col-md-12')->setWidth(10, 1);
$this->form->display('updated_at', trans('admin.updated_at'))->setGroupClass('col-md-12')->setWidth(10, 1);
}
/**
* Get options of HTTP methods select field.
*
* @return array
*/
protected function getHttpMethodsOptions()
{
$model = config('admin.database.permissions_model');
return array_combine($model::$httpMethods, $model::$httpMethods);
}
}