/** * 生成新建或修改表单 * @param null $item * @param int $id * @return KForm */ protected function _form($id = 0, $item = null) { $roles = RoleModel::all(); $role_options = []; foreach ($roles as $role) { $role_options[$role->id] = $role->title; } $form = parent::_form($id, $item); $form->addField(FormFieldBase::createByType('username', FormFieldBase::Type_Text)->setRules('required')->setLabel('请输入用户名')->setCol(1 / 3)); $form->addField(FormFieldBase::createByType('password', FormFieldBase::Type_Text)->setRules('required')->setLabel('请输入密码')->setCol(1 / 3)); $form->addField(FormFieldBase::createByType('email', FormFieldBase::Type_Text)->setRules("required|unique:admins,email,{$id}")->setLabel('请输入邮箱')->setCol(1 / 3)); $form->newRow(); $form->addField(FormFieldBase::createByType('mobile', FormFieldBase::Type_Text)->setRules("required|unique:admins,mobile,{$id}|mobile")->setLabel('请输入手机')->setCol(1 / 2)); $form->addField(FormFieldBase::createByType('employee_id', FormFieldBase::Type_Text)->setRules("required|unique:admins,employee_id,{$id}")->setLabel('请输入工号')->setCol(1 / 2)); $form->newRow(); $form->addField(FormFieldBase::createByType('avatar', FormFieldBase::Type_Image)->setLabel('头像')->setCol(1 / 2)); $form->addField(FormFieldBase::createByType('role_id', FormFieldBase::Type_Select)->setOptions($role_options)->setRules('required')->setLabel('请选择角色')->setCol(1 / 2)); $form->newRow(); if ($id) { $form->modelToDefault($item); $form->setRules('password', ''); $form->setDefault('password', ''); } else { } return $form; }
public static function check($user, $action, $parameters = null) { if (in_array($action, ['admin.login', 'admin.logout', 'admin.index', 'admin.lock', 'admin.unlock'])) { return true; } if ($user) { return $user->role->checkPermission(RoleModel::actionToString($action, $parameters)); } return false; }
/** * Reverse the migrations. * * @return void */ public function down() { // Schema::dropIfExists(RoleModel::getTableName()); Schema::dropIfExists(AdminUserModel::getTableName()); }
protected function seeds_model_RoleModel() { RoleModel::create(['id' => 1, 'parent_id' => 0, 'name' => 'root', 'title' => '根管理员', 'desc' => '具有最高权限的管理员'])->setPermissions(['admin.*']); return null; }
/** * 表单验证通过,将$form中的数据储存在数据库中 * @param KForm $form * @param $role * @param int $id * @return mixed */ protected function _store(KForm $form, $role, $id = 0) { $rights = Input::get('rights'); $admin_rights = []; foreach ($rights as $k1 => $v1) { foreach ($v1 as $k2 => $v2) { $admin_rights[] = "admin.{$k1}.{$v2}"; } } if ($id) { $role->title = $form->value('title'); $role->name = $form->value('name'); $role->desc = $form->value('desc'); $role->setPermissions($admin_rights); $role->save(); } else { $role = RoleModel::create(array('title' => $form->value('title'), 'name' => $form->value('name'), 'desc' => $form->value('desc'))); $role->setPermissions($admin_rights); $role->save(); } return $role; }
function __construct() { Config::set('auth', Config::get('laravel-cms::auth_admin')); RoleModel::registerAllRoles(); }