Exemplo n.º 1
0
 /**
  * Send mail notification to customer that his products return has been rejected
  *
  * @param \XLite\Module\XC\CanadaPost\Model\ProductsReturn $return Canada Post products return model
  *
  * @return void
  */
 public static function sendProductsReturnRejected(\XLite\Module\XC\CanadaPost\Model\ProductsReturn $return)
 {
     if ($return->getOrder() && $return->getOrder()->getProfile()) {
         static::register(array('productsReturn' => $return, 'notes' => nl2br($return->getAdminNotes(), false)));
         static::compose(static::TYPE_PRODUCTS_RETURN_REJECTED, static::getOrdersDepartmentMail(), $return->getOrder()->getProfile()->getLogin(), 'modules/XC/CanadaPost/return_rejected', array(), true, \XLite::CUSTOMER_INTERFACE, static::getMailer()->getLanguageCode(\XLite::CUSTOMER_INTERFACE, $return->getOrder()->getProfile()->getLanguage()));
     }
 }
Exemplo n.º 2
0
    /**
     * Call "Create Authorized Return" request by the ProductsReturn model
     *
     * @param \XLite\Module\XC\CanadaPost\Model\ProductsReturn $return Canada Post return model
     *
     * @return \XLite\Core\CommonCell
     */
    public function callCreateAuthorizedReturnByProductsReturn(\XLite\Module\XC\CanadaPost\Model\ProductsReturn $return)
    {
        $xmlHeader = '<' . '?xml version="1.0" encoding="utf-8"?' . '>';
        // Convert weight into KG
        $itemsWeight = \XLite\Core\Converter::convertWeightUnits($return->getItemsTotalWeight(), \XLite\Core\Config::getInstance()->Units->weight_unit, 'kg');
        $itemsWeight = static::adjustFloatValue($itemsWeight, 3, 0.1, 999.999);
        $requestData = <<<XML
{$xmlHeader}
<authorized-return xmlns="http://www.canadapost.ca/ws/authreturn-v2">
    <service-code>{$return->getOrder()->getCapostShippingMethodCode()}</service-code>
{$this->getXmlBlockReturnerAddress($return->getOrder()->getProfile())}
{$this->getXmlBlockReceiverAddress()}
    <parcel-characteristics>
        <weight>{$itemsWeight}</weight>
    </parcel-characteristics>
    <print-preferences>
        <output-format>8.5x11</output-format>
        <encoding>PDF</encoding>
    </print-preferences>
    <settlement-info></settlement-info>
</authorized-return>
XML;
        return $this->callCreateAuthorizedReturn($requestData);
    }
Exemplo n.º 3
0
 /**
  * Add Canada Post return
  *
  * @param \XLite\Module\XC\CanadaPost\Model\ProductsReturn $return Canada Post return model
  *
  * @return void
  */
 public function addCapostReturn(\XLite\Module\XC\CanadaPost\Model\ProductsReturn $return)
 {
     $return->setOrder($this);
     $this->addCapostReturns($return);
 }
Exemplo n.º 4
0
 /**
  * Get view value
  *
  * @param array $field Field
  *
  * @return mixed
  */
 protected function getViewValue(array $field)
 {
     $list = \XLite\Module\XC\CanadaPost\Model\ProductsReturn::getAllowedStatuses();
     $code = $field['widget']->getValue();
     return isset($list[$code]) ? static::t($list[$code]) : static::t(array_shift($list));
 }
Exemplo n.º 5
0
 /**
  * Return default options list
  *
  * @return array
  */
 protected function getDefaultOptions()
 {
     $list = \XLite\Module\XC\CanadaPost\Model\ProductsReturn::getAllowedStatuses();
     foreach ($list as $k => $v) {
         $list[$k] = static::t($v);
     }
     return $list;
 }
 /**
  * {@inheritDoc}
  */
 public function prepareEntityBeforeCommit($type)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'prepareEntityBeforeCommit', array($type));
     return parent::prepareEntityBeforeCommit($type);
 }
Exemplo n.º 7
0
 /**
  * Preprocess "id" feild
  *
  * @param integer                                          $id     Canada Post return ID
  * @param array                                            $column Column data
  * @param \XLite\Module\XC\CanadaPost\Model\ProductsReturn $entity Canada Post return model
  *
  * @return string
  */
 protected function preprocessOrderNumber($id, array $column, \XLite\Module\XC\CanadaPost\Model\ProductsReturn $entity)
 {
     return $entity->getOrder()->getPrintableOrderNumber();
 }