示例#1
0
 /**
  * Execute the job.
  *
  * @return Role
  */
 public function handle()
 {
     $label = $this->group->getName();
     $name = str_slug($label);
     // We'll create the role if it doesn't exist already.
     $role = Role::firstOrCreate(compact('name', 'label'));
     // We'll double check that it was successfully retrieved / created.
     if ($role instanceof Role) {
         // Retrieve the members from the AD group.
         $members = $this->group->getMembers();
         foreach ($members as $member) {
             // Import users that may not already be apart of our local DB.
             $user = $this->dispatch(new ImportUser($member));
             // Make sure the user isn't already apart of the role.
             $exists = $role->users()->find($user->id);
             if (!$exists) {
                 // Attach the user to the role if they
                 // aren't currently a member.
                 $role->users()->save($user);
             }
         }
         return $role;
     }
     return false;
 }
 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
     $administrator = Role::firstOrCreate(['name' => 'administrator', 'label' => 'Administrator']);
     // Welcome Permissions
     Permission::firstOrCreate(['name' => 'admin.welcome.index', 'label' => 'View Administrator Welcome']);
     // User Permissions
     Permission::firstOrCreate(['name' => 'admin.users.index', 'label' => 'View All Users']);
     Permission::firstOrCreate(['name' => 'admin.users.create', 'label' => 'Create Users']);
     Permission::firstOrCreate(['name' => 'admin.users.edit', 'label' => 'Edit Users']);
     Permission::firstOrCreate(['name' => 'admin.users.show', 'label' => 'View Users']);
     Permission::firstOrCreate(['name' => 'admin.users.destroy', 'label' => 'Delete Users']);
     // Role Permissions
     Permission::firstOrCreate(['name' => 'admin.roles.index', 'label' => 'View All Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.create', 'label' => 'Create Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.edit', 'label' => 'Edit Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.show', 'label' => 'View Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.destroy', 'label' => 'Delete Roles']);
     // Permission Permissions
     Permission::firstOrCreate(['name' => 'admin.permissions.index', 'label' => 'View All Permissions']);
     Permission::firstOrCreate(['name' => 'admin.permissions.create', 'label' => 'Create Permissions']);
     Permission::firstOrCreate(['name' => 'admin.permissions.edit', 'label' => 'Edit Permissions']);
     Permission::firstOrCreate(['name' => 'admin.permissions.show', 'label' => 'View Permissions']);
     Permission::firstOrCreate(['name' => 'admin.permissions.destroy', 'label' => 'Delete Permissions']);
     // User Permission Permissions
     Permission::firstOrCreate(['name' => 'admin.users.permissions.store', 'label' => 'Add Permissions to Users']);
     Permission::firstOrCreate(['name' => 'admin.users.permissions.destroy', 'label' => 'Remove Permissions from Users']);
     // Role Permission Permissions
     Permission::firstOrCreate(['name' => 'admin.roles.permissions.store', 'label' => 'Add Permissions to Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.permissions.destroy', 'label' => 'Remove Permissions from Roles']);
     // Role User Permissions
     Permission::firstOrCreate(['name' => 'admin.roles.users.store', 'label' => 'Add Users to Roles']);
     Permission::firstOrCreate(['name' => 'admin.roles.users.destroy', 'label' => 'Remove Users from Roles']);
     $administrator->grant(Permission::all());
 }
示例#3
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Role::firstOrCreate(['name' => 'hacker']);
     Role::firstOrCreate(['name' => 'exec']);
     Role::firstOrCreate(['name' => 'sponsor']);
     Role::firstOrCreate(['name' => 'sponsor-group-1']);
     Role::firstOrCreate(['name' => 'sponsor-group-2']);
     Role::firstOrCreate(['name' => 'sponsor-group-3']);
 }
 /**
  * Creates a Role and returns it.
  *
  * @param $name
  * @param $display_name
  * @param $description
  * @param bool $enabled
  * @return \App\Models\Role
  */
 protected static function createRole($name, $display_name, $description, $permissions = null, $enabled = true)
 {
     $role = Role::firstOrCreate(['name' => $name, 'display_name' => $display_name, 'description' => $description, 'enabled' => $enabled]);
     if (!is_null($role) && is_array($permissions)) {
         $role->perms()->sync($permissions);
     }
     return $role;
 }