Пример #1
0
 /**
  * Map routes.
  *
  * @param  \Illuminate\Contracts\Routing\Registrar  $router
  */
 public function map(Registrar $router)
 {
     $this->bind('auth_role', function ($hashedId) {
         return Role::firstHashedOrFail($hashedId);
     });
     $this->group(['prefix' => 'roles', 'as' => 'roles.'], function () {
         $this->get('/', 'RolesController@index')->name('index');
         // auth::foundation.roles.index
         $this->get('create', 'RolesController@create')->name('create');
         // auth::foundation.roles.create
         $this->post('store', 'RolesController@store')->name('store');
         // auth::foundation.roles.store
         $this->group(['prefix' => '{auth_role}'], function () {
             $this->get('/', 'RolesController@show')->name('show');
             // auth::foundation.roles.show
             $this->get('edit', 'RolesController@edit')->name('edit');
             // auth::foundation.roles.edit
             $this->put('update', 'RolesController@update')->name('update');
             // auth::foundation.roles.update
             $this->put('activate', 'RolesController@activate')->name('activate');
             // auth::foundation.roles.activate
             $this->delete('delete', 'RolesController@delete')->name('delete');
             // auth::foundation.roles.delete
         });
     });
 }
Пример #2
0
 /**
  * Sync the roles.
  *
  * @todo: Refactor this method
  */
 private function syncRoles()
 {
     $permissions = Permission::all();
     $roles = ['blog-moderators' => 'blog.', 'blog-authors' => 'blog.posts.'];
     foreach ($roles as $roleSlug => $permissionSlug) {
         /** @var  \Arcanesoft\Auth\Models\Role  $role */
         $role = Role::where('slug', $roleSlug)->first();
         $ids = $permissions->filter(function (Permission $permission) use($permissionSlug) {
             return starts_with($permission->slug, $permissionSlug);
         })->lists('id')->toArray();
         $role->permissions()->sync($ids);
     }
 }
Пример #3
0
 /**
  * Sync the roles.
  *
  * @todo: Refactor this method
  */
 private function syncRoles()
 {
     /** @var \Illuminate\Database\Eloquent\Collection $permissions */
     $permissions = Permission::all();
     $roles = ['logviewer-manager' => 'foundation.logviewer.'];
     foreach ($roles as $roleSlug => $permissionSlug) {
         /** @var  \Arcanesoft\Auth\Models\Role  $role */
         $role = Role::where('slug', $roleSlug)->first();
         $ids = $permissions->filter(function (Permission $permission) use($permissionSlug) {
             return Str::startsWith($permission->slug, $permissionSlug);
         })->pluck('id')->toArray();
         $role->permissions()->sync($ids);
     }
 }
Пример #4
0
 /**
  * Seed the admin account.
  */
 private function seedAdminUser()
 {
     $adminUser = new User(['username' => 'admin', 'first_name' => 'Super', 'last_name' => 'ADMIN', 'email' => env('ADMIN_EMAIL', '*****@*****.**'), 'password' => env('ADMIN_PASSWORD', 'password')]);
     $adminUser->is_admin = true;
     $adminUser->is_active = true;
     if (UserConfirmator::isEnabled()) {
         $adminUser->is_confirmed = true;
         $adminUser->confirmed_at = Carbon::now();
     }
     $adminUser->save();
     /** @var  \Arcanesoft\Auth\Models\Role  $adminRole */
     $adminRole = Role::admin()->first();
     $adminRole->attachUser($adminUser);
 }
Пример #5
0
 /**
  * Sync the admin role with all permissions.
  */
 protected function syncAdminRole()
 {
     /** @var \Arcanesoft\Auth\Models\Role $admin */
     $admin = Role::admin()->first();
     $admin->permissions()->sync(Permission::all()->pluck('id')->toArray());
 }
Пример #6
0
 /**
  * Get all cached roles.
  *
  * @return \Illuminate\Database\Eloquent\Collection
  */
 public function getCachedRoles()
 {
     return $this->cacheResults('roles.all', function () {
         return Role::all();
     });
 }