Exemple #1
0
 /**
  * Run the seeder.
  */
 public function run()
 {
     Role::unguard();
     Role::create(['name' => 'admin']);
     Role::create(['name' => 'superuser']);
     Role::create(['name' => 'noaccess']);
 }
 /**
  *  Testing if permission is attached to role.
  */
 public function testShouldAttachPermissionToRole()
 {
     $permission = $this->createPermission('users.index');
     $role = Role::where(['name' => 'admin'])->first();
     $permission->roles()->attach($role);
     $this->seePermissionAttachedToRoleInDatabase($permission, $role);
     $this->assertTrue($permission->roles()->get()->contains($role->id));
     $this->assertInstanceOf('Artesaos\\Defender\\Pivots\\PermissionRolePivot', $role->permissions->first()->pivot);
 }
 public function index()
 {
     $results = ['columns' => [['名称', 'name'], ['邮箱', 'email'], ['创建时间', 'created_at'], ['操作', 'buttons', function ($data) {
         $buttons = [['编辑']];
         if (!$data->hasRole(config('defender.superuser_role', 'superuser'))) {
             array_push($buttons, ['分配角色', '#modal']);
         }
         return $buttons;
     }]]];
     $collection = Role::all();
     $roles = [];
     foreach ($collection as $role) {
         array_push($roles, ['label' => $role->name, 'value' => $role->id]);
     }
     $paginate = Admin::with('roles')->orderBy('created_at', 'desc')->paginate();
     $results['items'] = $paginate;
     return $this->view('forone::' . self::URI . '.index', compact('results', 'roles'));
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, UpdateRoleRequest $request)
 {
     $name = $request->get('name');
     $count = Role::whereName($name)->where('id', '!=', $id)->count();
     if ($count > 0) {
         return $this->redirectWithError('角色名称不能重复');
     }
     $data = $request->only('name');
     Role::findOrFail($id)->update($data);
     return redirect()->route('admin.roles.index');
 }
 /**
  *
  */
 private function initRoles()
 {
     return Role::create(['name' => config('defender.superuser_role')]);
 }