/** * Returns an array of permission for the specified role * * @return array */ public static function usesRole(Role $role) { $role->load('permissions'); $permissions = array(); foreach ($role->permissions as $permission) { $permissions[$permission->id] = $permission->task; } return $permissions; }
/** * Run the migrations. * * @return void */ public function up() { $this->prefix = \Config::get('empower::dbprefix'); // Create permissions tables Schema::create($this->prefix . 'permissions', function ($table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->string('title')->length(50); $table->string('task')->length(50); $table->timestamps(); }); // Create roles tables Schema::create($this->prefix . 'roles', function ($table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->string('title')->length(50); $table->timestamps(); }); // Create users tables Schema::create($this->prefix . 'users', function ($table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->integer('role_id')->unsigned(); $table->string('name')->length(100); $table->string('email')->length(250); $table->string('password')->length(60); $table->timestamps(); }); // Create a permission_role tables Schema::create($this->prefix . 'permission_role', function ($table) { $table->engine = 'InnoDB'; $table->increments('id'); $table->integer('permission_id'); $table->integer('role_id')->unsigned(); }); $permissions = array('create_permissions' => 'Create Permissions', 'edit_permissions' => 'Edit Permissions', 'show_permissions' => 'Show Permissions', 'destroy_permissions' => 'Destroy Permissions', 'create_roles' => 'Create Roles', 'edit_roles' => 'Edit Roles', 'show_roles' => 'Show Roles', 'destroy_roles' => 'Destroy Roles', 'create_users' => 'Create Users', 'edit_users' => 'Edit Users', 'show_users' => 'Show Users', 'destroy_users' => 'Destroy Users'); foreach ($permissions as $task => $title) { Permission::create(array('task' => $task, 'title' => $title)); } $role = Role::create(array('title' => Config::get('aurp::godmode'))); $user = new User(); $user->role_id = $role->id; $user->name = 'Admin'; $user->email = '*****@*****.**'; $user->password = '******'; // password is automatically hashed $user->save(); }
/** * Returns the ID of a role found via the title * * @return int|null */ public static function idFromTitle($role) { $role = Role::where('title', '=', $role)->first(); return !is_null($role) ? $role->id : null; }
public function idFromTitle($title) { return Role::idFromTitle($title); }