$id = Request::$route->parameters[0]; $project = Project::find($id); if (!$project) { return Redirect::to('/'); } Config::set('project', $project); }); Route::filter('i_am_collaborator', function () { $project = Config::get('project'); if (!$project->is_mine()) { return Redirect::to('/'); } }); Route::filter('bid_exists', function () { $id = Request::$route->parameters[1]; $bid = Bid::find($id); if (!$bid) { return Redirect::to('/'); } Config::set('bid', $bid); }); Route::filter('bid_is_submitted_and_not_deleted', function () { $bid = Config::get('bid'); $project = Config::get('project'); if (!$bid->submitted_at || $bid->deleted_at) { return Redirect::to_route('review_bids', array($project->id)); } }); Route::filter('bid_is_not_awarded', function () { $bid = Config::get('bid'); $project = Config::get('project');