/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { $router->bind('article', function ($value) { return $this->getArticle()->where('slug', $value)->firstOrFail(); }); $router->bind('cong-ty', function ($value) { return \App\Company::where('slug', $value)->firstOrFail(); }); $router->bind('thiet-ke-thi-cong', function ($value) { return $this->designModel->getDesigns()->where('designs.slug', $value)->firstOrFail(); }); $router->bind('house', function ($value) { return $this->houseModel->getHouses()->where('houses.slug', $value)->firstOrFail(); }); $router->bind('company', function ($value) { return \App\Company::where('slug', $value)->firstOrFail(); }); $router->bind('project', function ($value) { return $this->projectModel->getProjects()->where('projects.slug', $value)->firstOrFail(); }); $router->model('owner', 'App\\House'); $router->model('agency', 'App\\House'); $router->model('message', 'App\\Message'); parent::boot($router); }
/** * @param Project $project * @return \Illuminate\View\View */ public function show(Project $project) { $projectsRelation = $this->projectModel->getProjects()->limit(6)->get(); $contactInfo = User::join('profiles', 'users.id', '=', 'profiles.user_id')->where('user_id', $project->user_id)->first(); $preview = Project::isApproved(1)->where('id', '<', $project->id)->orderBy('id', 'desc')->first(); $next = Project::isApproved(1)->where('id', '>', $project->id)->orderBy('id', 'asc')->first(); return view('front.projects.show', compact('project', 'projectsRelation', 'contactInfo', 'preview', 'next')); }
/** * Hiển thị 10 bài viết mới nhất ở sidebar (layout) * * @return void */ public function composeSidebar() { view()->composer('_sidebar', function ($view) { // recommend $view->with('houseSaleRecommend', $this->houseModel->getHouses()->saleType(SaleTypeOptions::BAN)->first()); $view->with('houseRentRecommend', $this->houseModel->getHouses()->saleType(SaleTypeOptions::CHO_THUE)->first()); $view->with('houseProjectRecommend', $this->projectModel->getProjects()->first()); $view->with('designRecommend', $this->designModel->getDesigns()->first()); }); }
public function index() { $projects = $this->projectModel->getProjects()->simplePaginate(4); $housesNew = $this->houseModel->getHouses()->simplePaginate(4); $housesSale = $this->houseModel->getHouses()->saleType(SaleTypeOptions::BAN)->simplePaginate(4); $housesRent = $this->houseModel->getHouses()->saleType(SaleTypeOptions::CHO_THUE)->simplePaginate(4); $houseNotIn = []; foreach ($housesNew as $house) { $houseNotIn[] = $house->id; } $housesFeatured = $this->houseModel->getHouses()->whereNotIn('houses.id', $houseNotIn)->simplePaginate(2); $projectNotIn = []; foreach ($projects as $project) { $projectNotIn[] = $project->id; } $projectsFeatured = $this->projectModel->getProjects()->whereNotIn('projects.id', $projectNotIn)->simplePaginate(2); return view('home.index', compact('housesFeatured', 'projectsFeatured', 'housesNew', 'projects', 'housesSale', 'housesRent')); }
/** * Show the form for editing the specified resource. * * @param int $request_id (required) * @param $filing_type (required) values 'RFC', 'RFR' and 'QAC' * @param $action_type values 'edit' -> for viewing an empty or filled form, * 'update' -> for viewing newly saved request form * @return Response */ public function edit($request_id, $filing_type, $action_type = 'edit') { if ($request_id) { $EASRequest = new EASRequest(); $projects = new Project(); $user_id = trim(Auth::user()->app_code); $data = []; $data['filing_type'] = $filing_type; $data['details'] = $EASRequest->getRequestDetails($request_id, $user_id); $data['signed'] = 0; $precedingLevel = $data['details']['user_approver']['rfcline_level'] - 1; $data['uneditable_fields'] = []; //Retrieve user granted projects $data['projects'] = $projects->getProjects($user_id, $data['filing_type'], '3'); //Additional variables per request type, if any. if ($data['filing_type'] == 'RFR') { $RequestTypeApprover = new RequestTypeApprover(); $data['granted_request_types'] = $RequestTypeApprover->getUserGrantedRequestTypes($user_id); if ($data['details']['re_nature'] == 'Forfeiture') { $data['rfr_type'] = 'forfeiture'; $data['uneditable_fields']['rfc_ref_no'] = '1'; } else { $data['rfr_type'] = 'rfc'; $request_description = explode('-', $data['details']['re_nature']); $data['default_req_reference'] = $data['details']['rfc_refno'] . ' : ' . $request_description[1]; $data['uneditable_fields']['project_type'] = '1'; $data['uneditable_fields']['lot_code'] = '1'; } } else { if ($data['filing_type'] == 'RFC') { $RequestType = new RequestType(); $data['req_refs'] = $RequestType->getRequestType('RFC'); } } if ($action_type == 'update') { return view('request.edit', $data)->withErrors(['Request saved.']); } return view('request.edit', $data); } return Redirect::back()->withErrors(['Page not found.']); }