product = $product; $this->brand = $brand; $this->category = $category; $this->listing = $listing; $this->tag = $tag; $this->review = $review; } /** * Returns count of product. * * @param array $filter * * @return int */ public function count() { return 0; } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.product.gadget', $count = 10) { if (User::hasRole('user')) { $this->product->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\ProductUserCriteria()); } $product = $this->product->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('product'))->render(); } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.brand.gadget', $count = 10) { if (User::hasRole('user')) { $this->brand->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\BrandUserCriteria()); } $brand = $this->brand->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('brand'))->render(); } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.category.gadget', $count = 10) { if (User::hasRole('user')) { $this->category->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\CategoryUserCriteria()); } $category = $this->category->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('category'))->render(); } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.listing.gadget', $count = 10) { if (User::hasRole('user')) { $this->listing->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\ListingUserCriteria()); } $listing = $this->listing->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('listing'))->render(); } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.tag.gadget', $count = 10) { if (User::hasRole('user')) { $this->tag->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\TagUserCriteria()); } $tag = $this->tag->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('tag'))->render(); } /** * Make gadget View * * @param string $view * * @param int $count * * @return View */ public function gadget($view = 'admin.review.gadget', $count = 10) { if (User::hasRole('user')) { $this->review->pushCriteria(new \Litepie\Litepci\Repositories\Criteria\ReviewUserCriteria()); } $review = $this->review->scopeQuery(function ($query) use ($count) { return $query->orderBy('id', 'DESC')->take($count); })->all(); return view('product::' . $view, compact('review'))->render(); } }