/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     $create = Permission::create(['name' => 'create-tasks', 'display_name' => 'Crear tareas', 'description' => 'Permite crear tareas en el sistema', 'module' => 'tasks']);
     $assign = Permission::create(['name' => 'assign-tasks', 'display_name' => 'Asignar tareas a usuarios', 'description' => 'Permite asignar tareas a usuarios en el sistema', 'module' => 'tasks']);
     $config = Permission::create(['name' => 'config-tasks', 'display_name' => 'Administrar módulo de tareas', 'description' => 'Permite que el usuario tenga acceso a la configuracion de el módulo de tareas', 'module' => 'tasks']);
     $createBoards = Permission::create(['name' => 'create-boards', 'display_name' => 'Crear tableros', 'description' => 'Permite crear tableros en el sistema', 'module' => 'tasks']);
     $admin = Role::where('name', 'administrador-del-sistema')->first();
     $admin->attachPermissions([$create, $assign, $config, $createBoards]);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     // $this->call("OthersTableSeeder");
     $permissions = [['module' => 'users', 'name' => 'اضافة الصلحيات', 'slug' => 'create.permissions'], ['module' => 'users', 'name' => 'حذف الصلحيات', 'slug' => 'delete.permissions'], ['module' => 'users', 'name' => 'تعديل الصلحيات', 'slug' => 'edit.permissions'], ['module' => 'users', 'name' => 'مشاهدة الصلحيات', 'slug' => 'view.permissions']];
     // $slugs = array_map(function ($ar) {return $ar['slug'];}, $permissions);
     $users = User::where('id', '<', 13)->get();
     // Permission::whereIn('slug' ,$slugs)->delete();
     foreach ($permissions as $permission) {
         $perm = Permission::firstOrCreate($permission);
         foreach ($users as $user) {
             $user->attachPermission($perm);
         }
     }
 }
 /**
  * Execute the console command.
  * This will create the User's permissions for module User
  * @return mixed
  */
 public function fire()
 {
     $admin = Role::create(['display_name' => 'Administrador del sistema', 'description' => 'Administrador general del sistema']);
     $create = Permission::create(['name' => 'user-create', 'display_name' => 'Crear Usuarios', 'description' => 'Crea usuarios en el sistema', 'module' => 'users']);
     $edit = Permission::create(['name' => 'user-edit', 'display_name' => 'Editar Usuarios', 'description' => 'Edita usuarios en el sistema', 'module' => 'users']);
     $delete = Permission::create(['name' => 'user-delete', 'display_name' => 'Eliminar Usuarios', 'description' => 'Elimina usuarios en el sistema', 'module' => 'users']);
     $activate = Permission::create(['name' => 'user-activate', 'display_name' => 'Activar/Desactivar Usuarios', 'description' => 'Puede activar o desactivar usuarios en el sistema', 'module' => 'users']);
     $config = Permission::create(['name' => 'user-configuration', 'display_name' => 'Configuración de usuarios', 'description' => 'Puede modificar la configuración del modulo, como los campos de perfil y otros.', 'module' => 'users']);
     $profileFields = Permission::create(['name' => 'user-profile-fields-edit', 'display_name' => 'Editar campos del perfil de usuario', 'description' => 'Administrat los campos del perfil de usuario', 'module' => 'users']);
     $createRoles = Permission::create(['name' => 'create-role', 'display_name' => 'Crear Roles', 'description' => 'Puede crear roles en el sistema.', 'module' => 'users']);
     $editRoles = Permission::create(['name' => 'edit-role', 'display_name' => 'Editar Roles', 'description' => 'Puede editar roles en el sistema.', 'module' => 'users']);
     $deleteRoles = Permission::create(['name' => 'delete-role', 'display_name' => 'Eliminar Roles', 'description' => 'Puede eliminar roles en el sistema.', 'module' => 'users']);
     $adminPermissions = Permission::create(['name' => 'admin-permissions', 'display_name' => 'Administrar permisos', 'description' => 'Puede adminisrar los permisos asignados a los roles.', 'module' => 'users']);
     $admin->attachPermissions([$create, $edit, $delete, $activate, $config, $profileFields, $createRoles, $editRoles, $deleteRoles, $adminPermissions]);
 }
 /**
  * @param $id
  * @return $this
  */
 public function permissions($id)
 {
     $role = Role::findOrFail($id);
     $permissions = Permission::all();
     $modules = Module::all();
     return view('users::roles.permissions')->with('modules', $modules)->with('permissions', $permissions)->with('role', $role);
 }