public function buildIndex($type = false, $type_id = false, $chain = false, $strSearch = false, $provider_id = false, $brand_id = false) { $purchaseModel = new Purchase(); $labelModel = new Label(); $userModel = new User(); $count = $this->_glob['_countProductsOfPage']; if (isset($_GET['show']) and $_GET['show'] == 'all') { $count = $this->_glob['_maxCountProductsOfPage']; } $purchases = $purchaseModel->getPurchases($type, $type_id, $strSearch, $count, $provider_id, $brand_id); $productsIds = $purchases->pluck('product_id'); $productsIds = $productsIds->toArray(); $labels = $labelModel->getLabelsByProductsId($productsIds); foreach ($purchases as $purchase) { $purchase->zakup = $this->getRub($purchase->base_price * ((100 - $purchase->discount_price) / 100) * ($this->_glob['_curr'][$purchase->currency]['RATE'] * ((100 + $purchase->raise) / 100)) * ((100 - $purchase->discount_bulk) / 100), $purchase->currency); //та самая ебанутая формула расчета закупа if (count($labels) > 0) { $arLabel = []; foreach ($labels as $label) { if ($purchase->product_id == $label->product_id) { $arLabel[] = $label; } } $purchase->labels = $arLabel; } } $userTemplates = $userModel->getTemplates('purchases'); $serializeFields = $userModel->getFields(Auth::User()->template_purch_id, 'purchases'); $showFields = false; if ($serializeFields != null) { $showFields = unserialize($serializeFields->fields); } $pathToProduct = '/product'; if ($type == 'category') { $pathToProduct = '/product/category/' . $type_id[0]; } if ($type == 'brand') { $pathToProduct = '/product/brand/' . $type_id; } if ($type == 'product') { $pathToProduct = '/product/product/' . $type_id; } if ($type == 'label') { $pathToProduct = '/product/label/' . $type_id; } if ($type == 'flag') { $pathToProduct = '/product/flag/'; } if ($strSearch) { $pathToProduct = '/product/search/' . $strSearch; } return view('purchases.index')->with('title', 'Условия и цены')->with('purchases', $purchases)->with('chain', $chain)->with('pathToProduct', $pathToProduct)->with('templates', $userTemplates)->with('fields', $showFields); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show(Label $labelModel, History $historyModel, Purchase $purchaseModel, Provider $providerController, Brand $brandModel, Category $categoryModel, Product $productModel, $id) { $product = $productModel->getProduct($id); if (!$product) { abort(404); } $purchase = $purchaseModel->getPurchase($id); $historyProduct = $historyModel->getProductHistory($id); $historyPurchase = $historyModel->getPurchaseHistory($id); $historySite = $historyModel->getSiteHistory($id); $labels = $labelModel->getLabelsByProductsId([$id]); $arLabels = []; foreach ($labels as $label) { $arLabels[] = $label->label; } $strLabels = implode(',', $arLabels); if (!empty($product->childs)) { $product->childs = unserialize($product->childs); } $categories_list = $categoryModel->getFullCategoriesList(); $brands_list = $brandModel->getFullBrandsList(); $provider_list = $providerController->getProvedrsList(); return view('products.show')->with('title', $product->category_name . ' ' . $product->name)->with('product', $product)->with('purchase', $purchase)->with('categories_list', $categories_list)->with('brands_list', $brands_list)->with('provider_list', $provider_list)->with('history_product', $historyProduct)->with('history_purchase', $historyPurchase)->with('history_site', $historySite)->with('labels', $strLabels); }