/**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
     Schema::create('backend_users_groups', function (Blueprint $table) {
         $table->unsignedInteger('user_id');
         $table->unsignedInteger('group_id');
         $table->primary(['user_id', 'group_id']);
         $table->foreign('user_id')->references('id')->on('backend_users')->onDelete('cascade');
         $table->foreign('group_id')->references('id')->on('backend_groups')->onDelete('cascade');
     });
     //Add initial user.
     $group = Group::create(['caption' => 'Administrators', 'permissions' => Backend::getAllAcl()]);
     $user = User::create(['email' => '*****@*****.**', 'password' => 'admin', 'active' => 1]);
     $user->groups()->attach($group);
 }
Beispiel #2
0
 /**
  * @param $id
  * @return array
  * @throws \Exception
  * @Permissions("system.users.write")
  */
 public function anyDelete($id)
 {
     $result = UserModel::query()->findOrFail($id)->delete();
     return ['result' => $result];
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Model::unguard();
     User::create(['email' => '*****@*****.**', 'password' => 'admin', 'active' => 1]);
 }
Beispiel #4
0
 /**
  * Check items permissions.
  *
  * @param User $user
  * @param array $items
  *
  * @return array
  */
 protected function accessFilter(User $user, array $items)
 {
     $filteredItems = array_filter($items, function ($item) use($user) {
         return $item['permissions'] === null || $user->hasAccess($item['permissions'], false);
     });
     array_walk($filteredItems, function (&$item) use($user) {
         if (count($item['items']) > 0) {
             $item['items'] = $this->accessFilter($user, $item['items']);
         }
     });
     //cleanup empty menus
     return array_filter($filteredItems, function ($item) use($user) {
         return $item['url'] !== null || count($item['items']) > 0;
     });
 }