예제 #1
0
 /**
  * Determine if the user is authorized to make this request.
  *
  * @return bool
  */
 public function authorize()
 {
     $user = Auth::user();
     $group_id = $this->route('group');
     // Есть ли права на запись
     // является ли пользователь админом
     // и админ ли он этой группы
     return $user->is_admin && GroupAdmin::where('admin_id', $user->id)->where('group_id', $group_id)->exists();
 }
예제 #2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     User::truncate();
     UserGroup::truncate();
     GroupAdmin::truncate();
     User::create(['email' => '*****@*****.**', 'nic' => 'Grate Kombinator', 'name' => 'Остап', 'surname' => 'Бендер', 'birth_date' => '1987-09-02 14:10:00', 'password' => 'secret', 'is_admin' => true]);
     UserGroup::create(['user_id' => 1, 'group_id' => 1]);
     UserGroup::create(['user_id' => 1, 'group_id' => 2]);
     UserGroup::create(['user_id' => 1, 'group_id' => 3]);
     GroupAdmin::create(['admin_id' => 1, 'group_id' => 1]);
     GroupAdmin::create(['admin_id' => 1, 'group_id' => 2]);
 }
예제 #3
0
 /**
  * Display a listing of the resource.
  *
  * * GET /
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     // Показываем списко групп к которым относится пользователь
     return view('group.index', ['user' => $this->user, 'groups' => User::find($this->user->id)->groups, 'admin' => GroupAdmin::admin($this->user->id)]);
 }