/** * 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); }
/** * 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; }
/** * @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); }
/** * 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; }
/** * Returns configuration * * @return \XLite\Core\ConfigCell */ protected function getConfiguration() { return \XLite\Module\XC\PitneyBowes\Model\Shipping\Processor\PitneyBowes::getProcessorConfiguration(); }
/** * 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()); }
/** * 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; }