Exemple #1
0
 public static function createPermissionRoles($permissions)
 {
     foreach ($permissions as $p) {
         $role = new Role();
         $role->name = $p->name;
         $role->save();
         $role->attachPermission($p);
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('roles')->delete();
     /**
      * Role Attributes
      *
      * name:    Unique name for the permission, used for looking up permission information in the
      *             application layer. For example: "create-post", "edit-user", "post-payment", "mailing-list-subscribe".
      *
      * display_name:    Human readable name for the permission. Not necessarily unique, and is optional.
      *                     For example "Create Posts", "Edit Users", "Post Payments", "Subscribe to mailing list".
      *
      * description:     A more detailed explanation of the Role. This is also optional.
      *
      * permissions: A list of permission names to assign to the user.  Optional.
      */
     $roles = array(array('name' => 'owner', 'display_name' => 'Owner', 'description' => 'Owner of the management system. Has access to all aspects of the system.', 'permissions' => PermissionNames::AllGlobalPermissions()));
     foreach ($roles as $r) {
         $entry = new Role();
         $entry->name = $r['name'];
         if (array_key_exists('permissions', $r)) {
             $permissions = $r['permissions'];
             unset($r['permissions']);
         }
         if (array_key_exists('display_name', $r)) {
             $entry->display_name = $r['display_name'];
         }
         if (array_key_exists('description', $r)) {
             $entry->description = $r['description'];
         }
         $entry->save();
         if (isset($permissions)) {
             foreach ($permissions as $p) {
                 $entry->attachPermission(Permission::where('name', $p)->get()->first());
             }
             unset($permissions);
         }
     }
     $rolePermissions = Permission::whereIn('name', PermissionNames::AllGlobalPermissions())->get();
     RoleCreate::createPermissionRoles($rolePermissions);
 }
 public function run()
 {
     DB::table('Roles')->delete();
     $role = new Role();
     $role->name = 'admin';
     $role->display_name = 'Administrateur du système';
     $role->description = 'Cet usager a tous les droits sur le système, c\'est le super admin';
     $role->save();
     $permission = Permission::where('name', '=', 'ajout-prof')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'ajout-etudiant')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'ajout-classe')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'passer-test')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'enseigner')->first();
     $role->attachPermission($permission);
     $role = new Role();
     $role->name = 'professeur';
     $role->display_name = 'Professeur';
     $role->description = 'Les professeurs en charge des étudiants';
     $role->save();
     $permission = Permission::where('name', '=', 'ajout-etudiant')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'passer-test')->first();
     $role->attachPermission($permission);
     $permission = Permission::where('name', '=', 'enseigner')->first();
     $role->attachPermission($permission);
     $role = new Role();
     $role->name = 'etudiant';
     $role->display_name = 'Étudiants';
     $role->description = 'Les étudiants qui sont gérés par les professeurs';
     $role->save();
     $permission = Permission::where('name', '=', 'passer-test')->first();
     $role->attachPermission($permission);
 }