Exemplo n.º 1
0
 /**
  * Create asn request
  *
  * @return void
  */
 public function doActionCreateAsn()
 {
     $api = new \XLite\Module\XC\PitneyBowes\Model\Shipping\PitneyBowesApiFacade(\XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration());
     if ($this->getParcel()) {
         $inputData = array('pbParcel' => $this->getParcel(), 'request' => \XLite\Core\Request::getInstance());
         $inboundParcelResult = $api->createInboundParcelsRequest($inputData);
         if ($inboundParcelResult) {
             \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::logDebug($inboundParcelResult);
             foreach ($inboundParcelResult as $inboundParcel) {
                 $existedTrackingNumber = \XLite\Core\Database::getRepo('XLite\\Model\\OrderTrackingNumber')->findOneBy(array('value' => $inboundParcel->parcelIdentifier, 'order' => $this->getOrder()));
                 if (!$existedTrackingNumber) {
                     $trackingNumber = new \XLite\Model\OrderTrackingNumber();
                     $trackingNumber->setOrder($this->getOrder());
                     $trackingNumber->setValue($inboundParcel->parcelIdentifier);
                     $this->getOrder()->addTrackingNumbers($trackingNumber);
                     \XLite\Core\Database::getEM()->persist($this->getOrder());
                     \XLite\Core\Database::getEM()->flush($this->getOrder());
                 }
             }
             $this->getParcel()->setCreateAsnCalled(true);
             \XLite\Core\Database::getEM()->persist($this->getParcel());
             \XLite\Core\Database::getEM()->flush($this->getParcel());
         } else {
             \XLite\Core\TopMessage::addWarning('Create ASN action failed, try again later');
         }
     }
     $this->setSilenceClose(true);
 }
Exemplo n.º 2
0
 /**
  * Get filename
  *
  * @return string
  */
 protected function getFilename()
 {
     if (empty($this->generator->getOptions()->categories_filename)) {
         $config = \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration();
         $parts = array('Sender_ID' => $config->sender_id, 'Data_Feed_Name' => 'category-tree', 'Operation' => 'update', 'Recipient_ID' => '16061', 'UTC_Date_Time' => \XLite\Core\Converter::formatTime(null, '%Y%m%d_%H%M%S'), 'Random_6_Digits' => str_pad(rand(0, pow(10, 6)), 6, '0', STR_PAD_LEFT));
         $this->generator->getOptions()->categories_filename = implode('_', $parts) . '.csv';
     }
     return $this->generator->getOptions()->categories_filename;
 }
Exemplo n.º 3
0
 /**
  * @return void
  */
 protected function confirmOrderApiCall()
 {
     $api = new Shipping\PitneyBowesApiFacade(\XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration());
     $confirmOrderResult = $api->confirmOrder($this->getPbOrder());
     if ($confirmOrderResult) {
         $this->confirmOrderHistoryEvent($this->getPbOrder(), $confirmOrderResult);
     }
     $this->setShippingStatus(\XLite\Model\Order\Status\Shipping::STATUS_PROCESSING);
 }
Exemplo n.º 4
0
 /**
  * Upload to PB SFTP Server, called from completed.tpl
  *
  * @return boolean
  */
 public function uploadToPB()
 {
     $result = false;
     $generator = $this->getGenerator();
     if ($generator) {
         $config = \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration();
         $processor = new PitneyBowes\Logic\FileExchange\Processor($config);
         $result = $processor->submitCatalog($generator->getCatalogFiles(), $generator->getOptions()->differential);
         if ($result) {
             \XLite\Core\TmpVars::getInstance()->{\XLite\Module\XC\PitneyBowes\Core\Task\PitneyBowesCatalog::CELL_DIFF_EXTRACTION} = LC_START_TIME;
             if (!$generator->getOptions()->differential) {
                 \XLite\Core\TmpVars::getInstance()->{\XLite\Module\XC\PitneyBowes\Core\Task\PitneyBowesCatalog::CELL_FULL_EXTRACTION} = LC_START_TIME;
             }
         }
     }
     return $result;
 }
Exemplo n.º 5
0
 /**
  * Returns configuration
  * 
  * @return \XLite\Core\ConfigCell
  */
 protected function getConfiguration()
 {
     return \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration();
 }
Exemplo n.º 6
0
 /**
  * Check product visibility
  *
  * @return boolean
  */
 public function isVisible()
 {
     return parent::isVisible() && !(\XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration()->restricted_products === 'hide' && $this->isRestrictedProduct());
 }
Exemplo n.º 7
0
 /**
  * Checks if first time configuration window should be displayed
  *
  * @return boolean
  */
 public function isCredentialsRequested()
 {
     \XLite\Core\Config::updateInstance();
     return (bool) \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration()->credentials_requested;
 }