Exemplo n.º 1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $roles = [['name' => 'Trainer', 'slug' => 'customer_trainer', 'permissions' => ['customer_trainer' => true]], ['name' => 'Trainee', 'slug' => 'customer_trainee', 'permissions' => ['customer_trainee' => true]], ['name' => 'Administrator', 'slug' => 'admin', 'permissions' => ['admin' => true]]];
     // populate all roles
     foreach ($roles as $role) {
         // populate all roles
         foreach ($roles as $role) {
             try {
                 Sentinel::getRoleRepository()->createModel()->fill($role)->save();
             } catch (\Exception $e) {
                 // Ignore, role already created
             }
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     $groups = Sentinel::getRoleRepository();
     // Create an Admin group
     $groups->createModel()->create(['name' => 'Admin', 'slug' => 'admin']);
     // Create an Users group
     $groups->createModel()->create(['name' => 'User', 'slug' => 'user']);
     // Save the permissions
     $group = Sentinel::findRoleBySlug('admin');
     $group->permissions = ['dashboard.index' => true, 'dashboard.grid.save' => true, 'dashboard.grid.reset' => true, 'workshop.modules.index' => true, 'workshop.modules.show' => true, 'workshop.modules.disable' => true, 'workshop.modules.enable' => true, 'workshop.themes.index' => true, 'workshop.themes.show' => true, 'user.roles.index' => true, 'user.roles.create' => true, 'user.roles.store' => true, 'user.roles.edit' => true, 'user.roles.update' => true, 'user.roles.destroy' => true, 'user.users.index' => true, 'user.users.create' => true, 'user.users.store' => true, 'user.users.edit' => true, 'user.users.update' => true, 'user.users.destroy' => true, 'menu.menus.index' => true, 'menu.menus.create' => true, 'menu.menus.store' => true, 'menu.menus.edit' => true, 'menu.menus.update' => true, 'menu.menus.destroy' => true, 'menu.menuitem.index' => true, 'menu.menuitem.create' => true, 'menu.menuitem.store' => true, 'menu.menuitem.edit' => true, 'menu.menuitem.update' => true, 'menu.menuitem.destroy' => true, 'media.media.index' => true, 'media.media.create' => true, 'media.media.store' => true, 'media.media.edit' => true, 'media.media.update' => true, 'media.media.destroy' => true, 'media.media-grid.index' => true, 'media.media-grid.ckIndex' => true, 'setting.settings.index' => true, 'setting.settings.store' => true, 'setting.settings.getModuleSettings' => true, 'page.pages.index' => true, 'page.pages.create' => true, 'page.pages.store' => true, 'page.pages.edit' => true, 'page.pages.update' => true, 'page.pages.destroy' => true, 'translation.translations.index' => true, 'translation.translations.update' => true, 'translation.translations.export' => true, 'translation.translations.import' => true];
     $group->save();
     $group = Sentinel::findRoleBySlug('user');
     $group->permissions = ['dashboard.index' => true];
     $group->save();
 }
Exemplo n.º 3
0
 /**
  * {@inheritDoc}
  */
 public function create(array $data)
 {
     // Setup validation rules.
     $this->rules = ['slug' => 'required|alpha_dash|unique:roles', 'name' => 'required|alpha_dash|unique:roles'];
     // Run validation.
     $this->validate($data);
     // Convert the checkbox values of "1" to true, so permission checking works with Sentinel.
     if (isset($data['permissions'])) {
         foreach ($data['permissions'] as $permission => $value) {
             $data['permissions'][$permission] = true;
         }
     }
     try {
         $role = Sentinel::getRoleRepository()->createModel()->create($data);
     } catch (QueryException $e) {
         throw new RolesException(trans('dashboard::dashboard.errors.role.create'));
     }
     return $role;
 }
 /**
  * 新增角色 - 业务逻辑
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function add_post()
 {
     $data = $_POST;
     $permissions = '';
     if (isset($data['permissions'])) {
         $permissions = $data['permissions'];
     }
     //判断表单slug是否填写
     if (!isset($data['slug']) || $data['slug'] == null) {
         //            dump('请输入角色slug');
         return redirect()->route('role_add_get');
     }
     //判断slug是否已存在
     $role_check_slug = Sentinel::findRoleBySlug($data['slug']);
     if ($role_check_slug) {
         //            dump('角色slug已存在');
         return redirect()->route('role_add_get');
     }
     //创建角色
     $role_create = Sentinel::getRoleRepository()->createModel()->create(['name' => $data['name'], 'slug' => $data['slug']]);
     return $this->role_permission($role_create, $permissions);
 }
Exemplo n.º 5
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // create roles
     $adminGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Admin', 'slug' => 'admin']);
     $adminGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('posts.others.edit')->addPermission('posts.others.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->addPermission('threads.others.destroy')->save();
     $moderatorGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Moderator', 'slug' => 'moderator']);
     $moderatorGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('posts.others.edit')->addPermission('posts.others.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->addPermission('threads.others.destroy')->save();
     $userGroup = Sentinel::getRoleRepository()->createModel()->create(['name' => 'User', 'slug' => 'user']);
     $userGroup->addPermission('posts.create')->addPermission('posts.own.edit')->addPermission('posts.own.destroy')->addPermission('threads.create')->addPermission('threads.own.destroy')->save();
     // create users
     $kehet = Sentinel::create(['email' => '*****@*****.**', 'password' => 'M4h3vAkAynHcHKG2MQ2ceEDjQ', 'first_name' => 'Kehet']);
     $adminGroup->users()->attach($kehet);
     $this->activate($kehet);
     $faker = Faker\Factory::create('fi_FI');
     foreach (range(0, 5) as $i) {
         $user = Sentinel::create(['email' => $faker->email, 'password' => str_random(10), 'last_name' => $faker->lastName, 'first_name' => $faker->firstName]);
         if ($i < 2) {
             $moderatorGroup->users()->attach($user);
         } else {
             $userGroup->users()->attach($user);
         }
     }
 }
Exemplo n.º 6
0
 public function __construct()
 {
     $this->user = Sentinel::getUserRepository()->createModel();
     $this->role = Sentinel::getRoleRepository()->createModel();
 }
Exemplo n.º 7
0
 public function __construct()
 {
     $this->beforeFilter('auth');
     $this->users = Sentinel::getRoleRepository();
     $this->user = Sentinel::getUser();
 }
Exemplo n.º 8
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int $id
  * @param UserRequest $request
  * @return Response
  */
 public function update($id, UserRequest $request)
 {
     $user = Sentinel::findById($id);
     $credentials = $request->only(['first_name', 'last_name', 'email']);
     if ($request->has('password')) {
         $credentials['password'] = $request->get('password');
     }
     $valid = Sentinel::getUserRepository()->validForUpdate($user, $credentials);
     if ($valid === false) {
         echo 'error';
         return false;
     }
     Sentinel::getUserRepository()->update($user, $credentials);
     if ($request->get('active') != Activation::completed($user)) {
         if ($request->get('active')) {
             $activation = Activation::create($user);
             Activation::complete($user, $activation->code);
         } else {
             Activation::remove($user);
         }
     }
     $roles = Sentinel::getRoleRepository()->all();
     $wantedRoles = $request->get('role');
     foreach ($roles as $role) {
         if (in_array($role->id, $wantedRoles) && !$user->inRole($role)) {
             $role->users()->attach($user);
         } elseif (!in_array($role->id, $wantedRoles) && $user->inRole($role)) {
             $role->users()->detach($user);
         }
     }
     return redirect()->route('admin.users.show', [$user->id]);
 }
Exemplo n.º 9
0
 /**
  * Constructor.
  *
  * @return void
  */
 public function __construct()
 {
     parent::__construct();
     $this->roles = Sentinel::getRoleRepository();
 }
 public function project_auto_default()
 {
     /**
      * 生成默认管理员账户
      */
     //默认管理员信息
     $email = '*****@*****.**';
     $credentials = ['email' => $email, 'password' => $email, 'first_name' => 'Zicnh', 'last_name' => 'Chegg'];
     //TODO::根据邮箱,查找用户信息
     $credentials0 = ["email" => $email];
     //判断默认管理员是否存在
     $is_exist = Sentinel::findByCredentials($credentials0);
     if ($is_exist) {
         return;
     }
     //注册并激活默认管理员账户
     $user = Sentinel::register($credentials, true);
     /**
      * 生成默认角色
      */
     //默认角色信息
     $role = Sentinel::getRoleRepository()->createModel()->create(['name' => '全权管理员', 'slug' => 'zinch']);
     //当前项目所有权限
     $permissions = $this->get_permission();
     foreach ($permissions as $permission) {
         $permissions_array[$permission['name']] = true;
     }
     $role->permissions = $permissions_array;
     //$user->permissions属性值,需一次性赋值;否则会报错。
     $role->save();
     //给默认账户分配默认角色
     $role->users()->attach($user);
 }
Exemplo n.º 11
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $AdminRole = Sentinel::getRoleRepository()->createModel()->create(['name' => 'Admin', 'slug' => 'admin']);
     $AdminRole->save();
     $UserRole = Sentinel::getRoleRepository()->createModel()->create(['name' => 'User', 'slug' => 'user']);
 }
Exemplo n.º 12
0
 /**
  * Create or update a group through Sentry.
  *
  * If the permissions array is empty it will leave the current permissions intact.
  *
  * @param string $name The name for the group to find or create
  * @param array $permissions The permissions to assign the group.
  *
  * @return \Stevebauman\Maintenance\Models\Role
  */
 public function createOrUpdateRole($name, $permissions = [])
 {
     $role = Sentinel::findRoleByName($name);
     if ($role) {
         if (!empty($permissions)) {
             $role->permissions = $permissions;
             $role->save();
         }
     } else {
         $role = Sentinel::getRoleRepository()->createModel()->create(['name' => $name, 'slug' => $name, 'permissions' => $permissions]);
     }
     return $role;
 }