public function loadRequestData(Request $request, $removeMissingPrices = true) { // basic data parent::loadRequestData($request); if (!$this->isExistingRecord()) { $this->save(); } // set manufacturer if ($man = $request->get('Manufacturer')) { $this->manufacturer->set(!empty($man['name']) ? Manufacturer::getInstanceByName($man['name']) : null); } $this->getSpecification()->loadRequestData($request); // set prices $this->loadPricingFromRequest($request, false, $removeMissingPrices); $this->loadPricingFromRequest($request, true, $removeMissingPrices); if ($quantities = $request->get('quantityPrice')) { foreach ($this->getRelatedRecordSet('ProductPrice', new ARSelectFilter()) as $price) { $id = $price->currency->get()->getID(); if (!empty($quantities[$id]['serializedRules'])) { $prices = $quantities[$id]['serializedRules']; ksort($prices); $price->serializedRules->set(serialize($prices)); $price->save(); } } } }
public function loadRequestData(Request $request) { // basic data parent::loadRequestData($request); if (!$this->isExistingRecord()) { $this->save(); } // set manufacturer if ($request->isValueSet('manufacturer')) { $this->manufacturer->set(Manufacturer::getInstanceByName($request->get('manufacturer'))); } $this->getSpecification()->loadRequestData($request); // set prices $this->loadPricingFromRequest($request); $this->loadPricingFromRequest($request, true); }