Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
 /**
  * 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);
 }
Beispiel #3
0
    /**
     * 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;
    }
Beispiel #4
0
 /**
  * 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();
 }
Beispiel #5
0
 /**
  * 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);
 }