Esempio n. 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);
 }
 /**
  * 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());
     });
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, DesignPreviewCreator $preview)
 {
     $input = Input::except('previewImageData');
     $design = Design::findOrFail($id);
     $design->fill($input)->save();
     $preview->create($design->id, Input::get('previewImageData'));
     return json_encode($design);
 }
Esempio n. 4
0
 /**
  * About us page
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function about(Request $request)
 {
     $data['designer_number'] = Designer::count();
     $data['design_number'] = Design::count();
     $data['place_number'] = Place::count();
     $data['story_number'] = Story::count();
     $data['tag_number'] = Tag::count();
     $data['user_number'] = User::count();
     $data['city_number'] = City::has('places')->orHas('designers')->count();
     return view('pages.about', $data);
 }
Esempio n. 5
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show(Design $design)
 {
     switch ($design->category) {
         case Category::KIEN_TRUC:
             $categoryUri = 'kien-truc';
             break;
         case Category::NOI_THAT:
             $categoryUri = 'noi-that';
             break;
         case Category::THI_CONG:
             $categoryUri = 'thi-cong';
             break;
     }
     $others = $this->designModel->getDesigns()->where('category', $design->category)->where('sub_category', $design->sub_category)->where('designs.id', '<>', $design->id)->get();
     $preview = Design::where('category', $design->category)->where('sub_category', $design->sub_category)->where('id', '<', $design->id)->orderBy('id', 'desc')->first();
     $next = Design::where('category', $design->category)->where('sub_category', $design->sub_category)->where('id', '>', $design->id)->orderBy('id', 'asc')->first();
     $contact = User::join('profiles', 'users.id', '=', 'profiles.user_id')->where('user_id', 1)->first();
     return view('front.designs.show', compact('design', 'others', 'contact', 'preview', 'next', 'categoryUri'));
 }
Esempio n. 6
0
 /**
  * Check Unique Url
  *
  * @param Request $request
  * @return string Jquery Validation plugin only expect returns value string true or false
  */
 public function checkUniqueUrl(Request $request, $type, $id = null)
 {
     if ($request->ajax()) {
         $title = $request->input('title');
         switch ($type) {
             case 'house':
                 $resource = House::where('title', $title);
                 break;
             case 'project':
                 $resource = Project::where('title', $title);
                 break;
             case 'design':
                 $resource = Design::where('title', $title);
                 break;
         }
         if (!is_null($id)) {
             $resource = $resource->where('id', '<>', $id);
         }
         return 0 == $resource->count() ? 'true' : 'false';
     }
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $id)
 {
     $this->validate($request, ['action' => 'string|in:delete,restore,force_delete']);
     $design = Design::withTrashed()->find($id);
     if (empty($design)) {
         abort(404);
     }
     if ($request->user()->cannot('delete-design', $design)) {
         abort(403);
     }
     switch ($request->input('action')) {
         case 'restore':
             $design->restoreWithRelationships();
             break;
         case 'force_delete':
             $design->forceDeleteWithRelationships();
             break;
         default:
             $design->deleteWithRelationships();
     }
 }
Esempio n. 8
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  Design   $design
  * @return Response
  */
 public function destroy(Design $design)
 {
     foreach ($design->images as $image) {
         $this->delete($image);
     }
     $design->delete();
     return redirect('quan-tri/thiet-ke-thi-cong/create')->with('flash_message', Lang::get('system.destroy'));
 }