} if (!(Auth::check() && (Auth::user()->hasPermission(Permission::PERMISSION_VIEW_USER) || Auth::id() == $id))) { Session::flash(BaseController::DANGER_MESSAGE_KEY, 'Nemate pravo pristupiti zahtjevanom resursu.'); return Redirect::to('logout'); } }); Route::filter('ManageProfile', function ($route) { $id = $route->getParameter('id'); if ($id == null) { $id = $route->getParameter('Djelatnik'); } if (!(Auth::check() && (Auth::user()->hasPermission(Permission::PERMISSION_MANAGE_USER) || Auth::id() == $id))) { Session::flash(BaseController::DANGER_MESSAGE_KEY, 'Nemate pravo pristupiti zahtjevanom resursu.'); return Redirect::to('logout'); } }); Route::filter('novaRezervacija', function () { if (!(Auth::check() && (Auth::user()->hasPermission(Permission::PERMISSION_OWN_REZERVACIJA_HANDLING) || Auth::user()->hasPermission(Permission::PERMISSION_FOREIGN_REZERVACIJA_HANDLING)))) { return Redirect::to('logout'); } }); Route::filter('myRezervacija', function ($route) { $id = $route->getParameter('id'); if ($id == null) { $id = $route->getParameter('Rezervacija'); } $rezervacija = Rezervacija::find($id); if (!(Auth::check() && (Auth::user()->hasPermission(Permission::PERMISSION_FOREIGN_REZERVACIJA_HANDLING) || Auth::user()->hasPermission(Permission::PERMISSION_OWN_REZERVACIJA_HANDLING) && $rezervacija->instruktor_id == Auth::id()))) { return Redirect::to('logout'); } });
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { $rezervacija = Rezervacija::find($id); if (!$rezervacija) { return $this->itemNotFound(); } if (strtotime($rezervacija->pocetak_rada) < time() + 60 * 60 && !Auth::user()->hasPermission(Permission::PERMISSION_REMOVE_STARTED_REZERVACIJA)) { Session::flash(self::DANGER_MESSAGE_KEY, 'Morate imati odgovarajuću dozvolu za uklonjanje započete rezervacije.'); return Redirect::route('Rezervacija.show', $id); } $rezervacija->delete(); Session::flash(self::SUCCESS_MESSAGE_KEY, 'Rezervacija je oslobođena.'); return Redirect::route('Djelatnik.show', Auth::id()); }