Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * @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());
     });
 }
Example #4
0
 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'));
 }
Example #5
0
 /**
  * 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.']);
 }