public function setSingleAddress() { $f = new ARUpdateFilter(new EqualsCond(new ARFieldHandle('OrderedItem', 'customerOrderID'), $this->order->getID())); $f->addModifier('OrderedItem.shipmentID', new ARExpressionHandle('NULL')); ActiveRecordModel::updateRecordSet('OrderedItem', $f); $this->order->isMultiAddress->set(false); $this->order->loadAll(); $this->order->mergeItems(); $this->order->resetShipments(); SessionOrder::save($this->order); $this->order->deleteRelatedRecordSet('Shipment'); return new ActionRedirectResponse('order', 'index'); }
public function changeRecurringProductPeriod() { $request = $this->getRequest(); $orderedItemID = $request->get('id'); $billingPlandropdownName = $request->get('recurringBillingPlan'); $recurringID = $request->get($billingPlandropdownName); $orderedItem = ActiveRecordModel::getInstanceByID('OrderedItem', $orderedItemID, true); $recurringItem = RecurringItem::getInstanceByOrderedItem($orderedItem); if ($recurringItem) { $recurringItem->setRecurringProductPeriod(RecurringProductPeriod::getInstanceByID($recurringID)); $recurringItem->save(); $orderedItem->updateBasePriceToCalculatedPrice(); } $this->order->loadItemData(); $this->order->mergeItems(); $this->order->save(); return new ActionRedirectResponse('order', 'index', array('query' => 'return=' . $this->request->get('return'))); }