Inheritance: extends Illuminate\Database\Eloquent\Model
 /**
  * Displays the view for the Admin control panel.
  *
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function index()
 {
     if (!$this->authorize('show-admin')) {
         redirect('home');
     }
     $data = ['page_title' => 'Admin Dashboard', 'users' => User::getUser(), 'num_users' => User::getNumOfUsers(), 'roles' => Role::all(), 'num_admins' => User::getNumAdmins(), 'centers' => Fund::all()];
     return view('admin.dashboard', $data);
 }
Exemple #2
0
 /**
  * Checks if user has at least one of the given permissions.
  *
  * @param array $permissions
  *
  * @return bool
  */
 public function canAtLeast($permissions)
 {
     if ($this->auth->check()) {
         // return $this->auth->user()->canAtLeast($permissions);
     } else {
         $guest = Role::whereSlug('guest')->first();
         if ($guest) {
             return $guest->canAtLeast($permissions);
         }
     }
     return false;
 }
Exemple #3
0
 public function run()
 {
     // Uncomment the below to wipe the table clean before populating
     DB::table('roles')->delete();
     DB::table('role_user')->delete();
     DB::table('permissions')->delete();
     DB::table('permission_role')->delete();
     $roles = [['id' => 1, 'name' => 'administrator', 'slug' => 'admin', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 2, 'name' => 'user', 'slug' => 'user', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 3, 'name' => 'visiteur', 'slug' => 'visiteur', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 4, 'name' => 'pending', 'slug' => 'pending', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 5, 'name' => 'ban', 'slug' => 'banned', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()]];
     DB::table('roles')->insert($roles);
     foreach (User::all() as $user) {
         if ($user->id == 1) {
             $user->assignRole(1);
         } else {
             if ($user->id < 25) {
                 $user->assignRole(2);
             } else {
                 $user->assignRole(4);
             }
         }
     }
     $permissions = [['id' => 1, 'name' => 'panel', 'slug' => 'access.admin', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 2, 'name' => 'search', 'slug' => 'view.search', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()], ['id' => 3, 'name' => 'self', 'slug' => 'self', 'description' => null, 'created_at' => new DateTime(), 'updated_at' => new DateTime()]];
     DB::table('permissions')->insert($permissions);
     foreach (Role::all() as $role) {
         if ($role->id == 1) {
             // dans la table roles, la colonne id.
             $role->syncPermissions([1, 2, 3]);
         } else {
             if ($role->id == 4) {
                 $role->syncPermissions([3]);
             } else {
                 if ($role->id == 5) {
                     $role->syncPermissions([]);
                 } else {
                     $role->syncPermissions([2, 3]);
                 }
             }
         }
     }
 }
 /**
  * The deleteRole method deletes a role from the database.
  *
  * @param $role_id
  */
 public function deleteRole($role_id)
 {
     $role = Role::find($role_id);
     if ($role->delete()) {
         return 'The role was deleted.';
     } else {
         return 'The role was not added. Something happened.';
     }
 }
Exemple #5
0
 /**
  * Adds a role to the database which can then be assigned to
  * a user.
  *
  * @param $role_name
  * @param $role_description
  * @return bool
  */
 public static function addRole($role_name, $role_description)
 {
     $role = new Role();
     $role->name = $role_name;
     $role->description = $role_description;
     $role->slug = lcfirst($role_name);
     return $role->save();
 }