/**
  * 生成新建或修改表单
  * @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;
 }
Example #2
0
 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;
 }
Example #6
0
 function __construct()
 {
     Config::set('auth', Config::get('laravel-cms::auth_admin'));
     RoleModel::registerAllRoles();
 }