/** * Get default options for selector * * @return array */ protected function getDefaultOptions() { $options = \XLite\Module\XC\CanadaPost\Model\Order\Parcel::getValidOptionsByClass(\XLite\Module\XC\CanadaPost\Model\Order\Parcel::OPT_CLASS_NON_DELIVERY); $list = array(); foreach ($options as $k => $v) { $list[$k] = $v[\XLite\Module\XC\CanadaPost\Model\Order\Parcel::OPT_SCHEMA_TITLE]; } return $list; }
/** * Add Canada Post parcel to order * * @param \XLite\Module\XC\CanadaPost\Model\Order\Parcel $newParcel Canada Post parcel model * * @return void */ public function addCapostParcel(\XLite\Module\XC\CanadaPost\Model\Order\Parcel $newParcel) { $newParcel->setOrder($this); $this->addCapostParcels($newParcel); }
/** * Get "sku-list" XML block (part of the "customs" block) * Common for "Create Non-Contract Shipment" and "Create Shipment" calls * * @param \XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel Canada Post parcel model * * @return string */ protected function getSkuListCommonXmlBlockByParcel(\XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel) { $xmlDataItems = ''; foreach ($parcel->getItems() as $item) { $itemDescr = static::adjustStringValue($item->getOrderItem()->getName(), 44); $itemSku = static::adjustStringValue($item->getOrderItem()->getSku(), 44); // Convert item price $itemPrice = static::applyConversionRate($item->getOrderItem()->getItemPrice()); $itemPrice = static::adjustFloatValue($itemPrice, 2, 0.01, 99999.99000000001); $xmlDataItems .= <<<XML <item> <customs-number-of-units>{$item->getAmount()}</customs-number-of-units> <customs-description>{$itemDescr}</customs-description> <sku>{$itemSku}</sku> <unit-weight>{$item->getWeightInKg(true)}</unit-weight> <customs-value-per-unit>{$itemPrice}</customs-value-per-unit> </item> XML; } $xmlData = <<<XML <sku-list> {$xmlDataItems} </sku-list> XML; return $xmlData; }
/** * Check - is notification "On shipment" enabled or not * * @param \XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel Canada Post parcel model * * @return boolean */ public function isNotifyOnShipment(\XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel) { return $parcel->isDeliveryToPostOffice() || $parcel->getNotifyOnShipment(); }
/** * Get allowed parcels to move * * @param \XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel Canada Post parcel object * * @return array */ public function getAllowedToMoveParcels(\XLite\Module\XC\CanadaPost\Model\Order\Parcel $parcel) { $allowedParcels = array(); foreach ($parcel->getOrder()->getCapostParcels() as $p) { if ($p->getId() !== $parcel->getId() && $p->isEditable()) { $allowedParcels[$p->getId()] = static::t('Parcel') . ' #' . $p->getNumber(); } } $allowedParcels['NEW'] = static::t('New parcel'); return $allowedParcels; }
/** * {@inheritDoc} */ public function prepareEntityBeforeCommit($type) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'prepareEntityBeforeCommit', array($type)); return parent::prepareEntityBeforeCommit($type); }