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); }