protected function _prepareForm()
 {
     $form = new Varien_Data_Form();
     $dataObj = new Varien_Object(array('store_id' => '', 'store_name_in_store' => '', 'status_in_store' => '', 'description_in_store' => '', 'address_in_store' => '', 'city_in_store' => ''));
     if (Mage::getSingleton('adminhtml/session')->getStoreData()) {
         $data = Mage::getSingleton('adminhtml/session')->getStoreData();
         Mage::getSingleton('adminhtml/session')->setStoreData(null);
     } elseif (Mage::registry('store_data')) {
         $data = Mage::registry('store_data')->getData();
     }
     if (isset($data)) {
         $dataObj->addData($data);
     }
     if ($dataObj->getStoreId()) {
         $warehouse = Mage::getResourceModel('inventoryplus/warehouse_collection')->addFieldToFilter('storepickup_id', $dataObj->getStoreId())->getFirstItem();
         $dataObj->setData('warehouse_id', $warehouse->getId());
         $dataObj->setData('curr_warehouse_id', $warehouse->getId());
     }
     $this->setForm($form);
     $fieldset = $form->addFieldset('store_form', array('legend' => Mage::helper('storepickup')->__('Warehouse Information')));
     $fieldset->addField('warehouse_id', 'select', array('label' => Mage::helper('storepickup')->__('Linked Warehouse'), 'name' => 'warehouse_id', 'values' => $this->getWarehouseOptions(), 'onchange' => 'imStorePickup.changeWarehouse(this);', 'note' => $this->__('If you choose a warehouse, this Store information will be imported from the warehouse after saved.')));
     $fieldset->addField('curr_warehouse_id', 'hidden', array('name' => 'curr_warehouse_id'));
     if (Mage::getSingleton('adminhtml/session')->getStoreData()) {
         $form->setValues(Mage::getSingleton('adminhtml/session')->getStoreData());
         Mage::getSingleton('adminhtml/session')->setStoreData(null);
     } elseif (Mage::registry('store_data')) {
         $form->setValues($dataObj->getData());
     }
     parent::_prepareForm();
 }
 public function load($printQuery = false, $logQuery = false)
 {
     $this->_select = $this->_read->select();
     $entityTable = $this->getEntity()->getEntityTable();
     $paidTable = $this->getAttribute('grand_total')->getBackend()->getTable();
     $idField = $this->getEntity()->getIdFieldName();
     $this->getSelect()->from(array('sales' => $entityTable), array('store_id', 'lifetime' => 'sum(sales.base_grand_total)', 'avgsale' => 'avg(sales.base_grand_total)', 'num_orders' => 'count(sales.base_grand_total)'))->where('sales.entity_type_id=?', $this->getEntity()->getTypeId())->group('sales.store_id');
     if ($this->_customer instanceof Mage_Customer_Model_Customer) {
         $this->getSelect()->where('sales.customer_id=?', $this->_customer->getId());
     }
     $this->printLogQuery($printQuery, $logQuery);
     try {
         $values = $this->_read->fetchAll($this->getSelect()->__toString());
     } catch (Exception $e) {
         $this->printLogQuery(true, true, $this->getSelect()->__toString());
         throw $e;
     }
     $stores = Mage::getResourceModel('core/store_collection')->setWithoutDefaultFilter()->load()->toOptionHash();
     if (!empty($values)) {
         foreach ($values as $v) {
             $obj = new Varien_Object($v);
             $storeName = isset($stores[$obj->getStoreId()]) ? $stores[$obj->getStoreId()] : null;
             $this->_items[$v['store_id']] = $obj;
             $this->_items[$v['store_id']]->setStoreName($storeName);
             $this->_items[$v['store_id']]->setAvgNormalized($obj->getAvgsale() * $obj->getNumOrders());
             foreach ($this->_totals as $key => $value) {
                 $this->_totals[$key] += $obj->getData($key);
             }
         }
         if ($this->_totals['num_orders']) {
             $this->_totals['avgsale'] = $this->_totals['lifetime'] / $this->_totals['num_orders'];
         }
     }
     return $this;
 }
Example #3
0
 public function render(Varien_Object $row)
 {
     $fileName = preg_replace('/^\\//', '', $row->getSitemapPath() . $row->getSitemapFilename());
     $url = $this->htmlEscape(Mage::app()->getStore($row->getStoreId())->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . $fileName);
     $code = Mage::app()->getStore($row->getStoreId())->getCode() == 'default' ? '' : Mage::app()->getStore($row->getStoreId())->getCode() . DS;
     if (file_exists(BP . DS . $code . $fileName)) {
         return sprintf('<a href="%1$s">%1$s</a>', $url);
     }
     return $url;
 }
Example #4
0
 public function render(Varien_Object $row)
 {
     $index = $this->getColumn()->getIndex();
     $urlKey = $row->getData($index);
     $url = Mage::app()->getStore($row->getStoreId())->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . $urlKey;
     return '<a href="' . $url . '" title="' . $url . '" target="_blank">/' . $urlKey . '</a>';
 }
Example #5
0
 public function render(Varien_Object $row)
 {
     $storeViewIds = explode(',', $row->getStoreId());
     $websites = Mage::app()->getWebsites();
     if ($storeViewIds[0] == 0 || count($storeViewIds) < 1) {
         echo Mage::helper('pointofsale')->__("No Store View");
         return;
     }
     foreach ($websites as $website) {
         if ($this->in_array($storeViewIds, $website->getStoreIds())) {
             echo "<div style='float:left;  padding:0 5px'><b><u>" . $website->getName() . "</u></b><br>";
             $storegroups = $website->getGroupCollection();
             foreach ($storegroups as $storegroup) {
                 if ($this->in_array($storeViewIds, $storegroup->getStoreIds())) {
                     echo "<b style='padding-left:5px;'>" . $storegroup->getName() . "</b><br>";
                     $storeviews = $storegroup->getStoreCollection();
                     foreach ($storeviews as $storeview) {
                         if (in_array($storeview->getId(), $storeViewIds)) {
                             echo "<span style='padding-left:10px;'>" . $storeview->getName() . "</span><br>";
                         }
                     }
                 }
             }
             echo "</div>";
         }
     }
 }
 public function render(Varien_Object $row)
 {
     // Create url to Flipmedia_Clickreward_IndexController
     $url = Mage::getUrl('click/index/reward', array('token' => $row->getRuleToken(), '_nosid' => true, '_secure' => true, '_store' => $row->getStoreId(), '_store_to_url' => false));
     // Return Link
     return sprintf("<a href=\"#\" onclick=\"window.prompt('Copy to clipboard: Ctrl+C, Enter','%s'); return false;\">%s</a>", $url, Mage::helper('checkout')->__('Copy Link')) . "<br/>" . sprintf("<a href=\"%s\" target=\"_blank\">%s</a>", $url, Mage::helper('checkout')->__('Test Link'));
 }
Example #7
0
 /**
  * Get unique category request path
  *
  * @param Varien_Object $category
  * @param string $parentPath
  * @return string
  */
 public function getCategoryRequestPath($category, $parentPath)
 {
     $storeId = $category->getStoreId();
     $idPath = $this->generatePath('id', null, $category);
     $suffix = $this->getCategoryUrlSuffix($storeId);
     if (isset($this->_rewrites[$idPath])) {
         $this->_rewrite = $this->_rewrites[$idPath];
         $existingRequestPath = $this->_rewrites[$idPath]->getRequestPath();
     }
     if ($category->getUrlKey() == '') {
         $urlKey = $this->getCategoryModel()->formatUrlKey($category->getName());
     } else {
         $urlKey = $this->getCategoryModel()->formatUrlKey($category->getUrlKey());
     }
     $categoryUrlSuffix = $this->getCategoryUrlSuffix($category->getStoreId());
     if (null === $parentPath) {
         $parentPath = $this->getResource()->getCategoryParentPath($category);
     } elseif ($parentPath == '/') {
         $parentPath = '';
     }
     $parentPath = Mage::helper('catalog/category')->getCategoryUrlPath($parentPath, true, $category->getStoreId());
     // Only filter category URL paths when not in B2B store.
     if (Mage::helper("mey_b2b")->getStoreId() != $storeId) {
         $parentPath = $this->_filterCategoriesFromRequestPath($parentPath);
     }
     $requestPath = $parentPath . $urlKey . $categoryUrlSuffix;
     if (isset($existingRequestPath) && $existingRequestPath == $requestPath . $suffix) {
         return $existingRequestPath;
     }
     if ($this->_deleteOldTargetPath($requestPath, $idPath, $storeId)) {
         return $requestPath;
     }
     return $this->getUnusedPath($category->getStoreId(), $requestPath, $this->generatePath('id', null, $category));
 }
Example #8
0
 public function render(Varien_Object $row)
 {
     $field_id = $row->getFieldId();
     $field = Mage::getModel('webforms/fields')->load($field_id);
     $value = $row->getData($this->getColumn()->getIndex());
     $options = array();
     $webform = Mage::getModel('webforms/webforms')->setStoreId($row->getStoreId())->load($field->getWebformId());
     $fields_to_fieldsets = $webform->getFieldsToFieldsets(true);
     foreach ($fields_to_fieldsets as $fieldset_id => $fieldset) {
         $field_options = array();
         foreach ($fieldset['fields'] as $field) {
             if (in_array('field_' . $field->getId(), $value)) {
                 $field_options[] = $field->getName();
             }
         }
         if ($fieldset_id) {
             if (in_array('fieldset_' . $fieldset_id, $value)) {
                 $options[] = $fieldset['name'] . ' [' . Mage::helper('webforms')->__('Field Set') . ']';
             }
             if (count($field_options)) {
                 $options[] = '<b>' . $fieldset['name'] . '</b><br>&nbsp;&nbsp;&nbsp;&nbsp;' . implode('<br>&nbsp;&nbsp;&nbsp;&nbsp;', $field_options);
             }
         } else {
             foreach ($field_options as $opt) {
                 $options[] = $opt;
             }
         }
     }
     return implode('<br>', $options);
 }
Example #9
0
 /**
  * @param null|Varien_Object $dataObject
  * @return Xcom_Xfabric_Model_Message_Request
  */
 public function _prepareData(Varien_Object $dataObject = null)
 {
     $avroDataObject = Mage::getModel('xcom_chronicle/message_webstore_offer', array('product' => $dataObject->getProduct(), 'store_id' => $dataObject->getStoreId()));
     $data = array('offer' => $avroDataObject->toArray());
     $this->setMessageData($data);
     return parent::_prepareData($dataObject);
 }
Example #10
0
 public function render(Varien_Object $row)
 {
     if (!$row->getData($this->getColumn()->getIndex())) {
         return null;
     }
     return '<a title="' . Mage::helper('core')->__('Edit Store View') . '" href="' . $this->getUrl('*/*/editStore', array('store_id' => $row->getStoreId())) . '">' . $row->getData($this->getColumn()->getIndex()) . '</a>';
 }
Example #11
0
 /**
  * @param null|Varien_Object $dataObject
  * @return Xcom_Xfabric_Model_Message_Request
  */
 public function _prepareData(Varien_Object $dataObject = null)
 {
     /** @var $avroDataObject Xcom_Chronicle_Model_Message_Webstore_Offer */
     $avroDataObject = Mage::getModel('xcom_chronicle/message_webstore_offer', array('product' => $dataObject->getProduct(), 'store_id' => $dataObject->getStoreId()));
     $data = array('sku' => $avroDataObject->getSku(), 'quantity' => $avroDataObject->getQuantity(), 'webStoreId' => $avroDataObject->getWebStoreId());
     $this->setMessageData($data);
     return parent::_prepareData($dataObject);
 }
Example #12
0
 public function validate(Varien_Object $object)
 {
     $product = Mage::getModel('catalog/product')->setStoreId($object->getStoreId())->load($object->getProductId());
     $this->_entityAttributeValues[$product->getId()][$product->getStoreId()] = $product->getData($this->getAttribute());
     // Required since 1.8.0.0 // Old: $this->getValue() //
     #var_dump($this->getAttribute(), $product->getData($this->getAttribute()), parent::validateAttribute($product));
     return parent::validate($product);
 }
Example #13
0
 public function render(Varien_Object $row)
 {
     $fileName = preg_replace('/^\\//', '', $row->getSimplegoogleshoppingPath() . $row->getSimplegoogleshoppingFilename());
     $url = $this->htmlEscape(Mage::app()->getStore($row->getStoreId())->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) . $fileName);
     if (file_exists(BP . DS . $fileName)) {
         return sprintf('<a href="%1$s?r=' . time() . '" target="_blank">%1$s</a>', $url);
     }
     return $url;
 }
Example #14
0
 /**
  * @param Varien_Object $row
  *
  * @return string
  */
 public function render(Varien_Object $row)
 {
     $store = Mage::getModel('core/store')->load($row->getStoreId());
     $storeName = $store->getName();
     if (!Mage::helper('bronto_email')->isEnabled('store', $store->getId())) {
         $storeName .= ' (Disabled)';
     }
     return $storeName;
 }
 public function render(Varien_Object $row)
 {
     $helper = Mage::helper('thememanager');
     $storeId = $row->getStoreId();
     if (!isset(self::$stores[$storeId])) {
         self::$stores[$storeId] = $helper->getStoreTitleNameById($storeId);
     }
     return self::$stores[$storeId] ? self::$stores[$storeId] : '<div class="removed-store">' . $helper->__('This store was removed and theme settings for this store are not available to edit. Please export or clone this subtheme to use it for another available store') . '</div>';
 }
Example #16
0
 /**
  * @param Varien_Object $object
  * @return $this
  */
 public function afterSave($object)
 {
     $generalStoreId = $object->getStoreId();
     $periods = $object->getData($this->getAttribute()->getName());
     Mage::getResourceSingleton('payperrentals/excludeddates')->deleteByProductId($object->getId(), $generalStoreId);
     if (is_null($periods)) {
         return $this;
     }
     if (is_array($periods)) {
         foreach ($periods as $k => $period) {
             if (!is_numeric($k)) {
                 continue;
             }
             $storeId = @$period['use_default_value'] ? 0 : $object->getStoreId();
             $ex = Mage::getModel('payperrentals/excludeddates')->setProductId($object->getId())->setStoreId($storeId)->setDisabledFrom(ITwebexperts_Payperrentals_Helper_Date::toMysqlDate($period['excludefrom']))->setDisabledType($period['repeatperiod'])->setExcludeDatesFrom($period['excludedaysfrom'])->setDisabledTo(ITwebexperts_Payperrentals_Helper_Date::toMysqlDate($period['excludeto']))->save();
         }
     }
     return $this;
 }
Example #17
0
 public function render(Varien_Object $row)
 {
     $types = array('none', 'xml', 'txt', 'csv', 'tsv');
     $ext = $types[$row->getFeed_type()];
     $fileName = preg_replace('/^\\//', '', $row->getFeed_path() . $row->getFeed_name() . '.' . $ext);
     $url = $this->htmlEscape(Mage::app()->getStore($row->getStoreId())->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) . $fileName);
     if (file_exists(BP . DS . $fileName)) {
         return sprintf('<a href="%1$s?r=' . time() . '" target="_blank">%1$s</a>', $url);
     }
     return $url;
 }
Example #18
0
 /**
  * Get attribute value
  *
  * @param Varien_Object $object
  * @return mixed
  */
 protected function _getAttributeValue($object)
 {
     $storeId = $object->getStoreId();
     $defaultStoreId = Mage_Core_Model_App::ADMIN_STORE_ID;
     $productValues = isset($this->_entityAttributeValues[$object->getId()]) ? $this->_entityAttributeValues[$object->getId()] : array();
     $defaultValue = isset($productValues[$defaultStoreId]) ? $productValues[$defaultStoreId] : null;
     $value = isset($productValues[$storeId]) ? $productValues[$storeId] : $defaultValue;
     $value = $this->_prepareDatetimeValue($value, $object);
     $value = $this->_prepareMultiselectValue($value, $object);
     return $value;
 }
Example #19
0
 /**
  * Before save
  *
  * @param Varien_Object $object
  * @return Mage_Customer_Model_Customer_Attribute_Backend_Store
  */
 public function beforeSave($object)
 {
     if ($object->getId()) {
         return $this;
     }
     if (!$object->hasStoreId()) {
         $object->setStoreId(Mage::app()->getStore()->getId());
     }
     if (!$object->hasData('created_in')) {
         $object->setData('created_in', Mage::app()->getStore($object->getStoreId())->getName());
     }
     return $this;
 }
 public function render(Varien_Object $row)
 {
     if (is_null($row->getCustomerId())) {
         if ($row->getStoreId() == Mage_Core_Model_App::ADMIN_STORE_ID) {
             return Mage::helper('review')->__('Administrator');
         } else {
             return Mage::helper('review')->__('Guest');
         }
     } elseif ($row->getCustomerId() > 0) {
         return Mage::helper('review')->__('Customer');
     }
     //		return ($row->getCustomerId() ? Mage::helper('review')->__('Customer') : Mage::helper('review')->__('Guest'));
 }
Example #21
0
 /**
  * @param Varien_Object $dataObject
  */
 public function runConverter(Varien_Object $dataObject)
 {
     $stylaField = $this->getStylaField();
     $environmentInfo = $this->_emulateFrontend();
     //we need to temporarily set the same store id to the object, or else we won't get a rewritten url
     $oldId = $dataObject->getStoreId();
     $dataObject->setStoreId($this->_getDefaultStoreViewId());
     $productUrl = $dataObject->getProductUrl();
     if ($this->_useRelativeUrls()) {
         $productUrl = str_replace(Mage::getBaseUrl(), "/", $productUrl);
     }
     $dataObject->setStoreId($oldId);
     $this->_stopEmulation($environmentInfo);
     $dataObject->setData($stylaField, $productUrl);
 }
 /**
  * Retrives rendered column
  * @param Varien_Object $row
  * @return string
  */
 public function render(Varien_Object $row)
 {
     $actions = $this->getColumn()->getActions();
     $actions = $this->_transformData($actions[$row->getStoreId()], $this->getColumn()->getProps());
     $out = '<select class="action-select" onchange="varienGridAction.execute(this);">' . '<option value=""></option>';
     $i = 0;
     foreach ($actions as $action) {
         $i++;
         if (is_array($action)) {
             $out .= $this->_toOptionHtml($action, $row);
         }
     }
     $out .= '</select>';
     return $out;
 }
Example #23
0
 /**
  * Prepare html output
  *
  * @return string
  */
 protected function _toHtml()
 {
     $previewModel = Mage::getModel('hackathon_emailpreview/emailPreview');
     $storeId = $this->getRequest()->getParam('storeId');
     $templateId = $this->getRequest()->getParam('templateId');
     $templateType = $this->getRequest()->getParam('templateType');
     $templateParams = new Varien_Object();
     $templateParams->setRequestParams($this->getRequest()->getParams());
     $templateParams->setStoreId($storeId);
     $eventData = array('templateParams' => $templateParams, 'templateType' => $templateType);
     Mage::dispatchEvent('hackathon_emailpreview_render_email_before', $eventData);
     $storeId = $templateParams->getStoreId();
     $templateParams->setStore(Mage::app()->getStore($storeId));
     $html = $previewModel->renderEmail($templateId, $templateParams->getData());
     return $html;
 }
 public function saveAction()
 {
     $data = $this->getRequest()->getParams();
     $uploader = new Mage_Core_Model_File_Uploader('file');
     $uploader->setAllowedExtensions(array('csv'));
     $uploader->setAllowRenameFiles(true);
     $path = Mage::getBaseDir('var') . DS . 'import';
     if (!file_exists($path)) {
         mkdir($path, 0777);
     }
     try {
         $result = $uploader->save($path);
         $fullPath = $result['path'] . DS . $result['file'];
         $csv = new Varien_File_Csv();
         $data = $csv->getData($fullPath);
         $items = array();
         if (count($data) > 1) {
             for ($i = 1; $i < count($data); $i++) {
                 $item = array();
                 for ($j = 0; $j < count($data[0]); $j++) {
                     if (isset($data[$i][$j]) && trim($data[$i][$j]) != '') {
                         $item[strtolower($data[0][$j])] = $data[$i][$j];
                     }
                 }
                 $items[] = $item;
             }
         }
         $resource = Mage::getSingleton('core/resource');
         $writeConnection = $resource->getConnection('core_write');
         $table = $resource->getTableName('seoautolink/link');
         $table2 = $resource->getTableName('seoautolink/link_store');
         $i = 0;
         foreach ($items as $item) {
             if (!isset($item['keyword'])) {
                 continue;
             }
             $item = new Varien_Object($item);
             $query = "REPLACE {$table} SET\n                    keyword = '" . addslashes($item->getKeyword()) . "',\n                    url = '" . addslashes($item->getUrl()) . "',\n                    url_title = '" . addslashes($item->getUrlTitle()) . "',\n                    url_target = '" . addslashes($item->getUrlTarget()) . "',\n                    is_nofollow = '" . (int) $item->getIsNofollow() . "',\n                    max_replacements = '" . (int) $item->getMaxReplacements() . "',\n                    sort_order = '" . (int) $item->getSortOrder() . "',\n                    occurence = '" . (int) $item->getOccurence() . "',\n                    is_active = '" . (int) $item->getIsActive() . "',\n                    created_at = '" . now() . "',\n                    updated_at = '" . now() . "';\n                    REPLACE {$table2} SET\n                        store_id = '" . (int) $item->getStoreId() . "',\n                        link_id = LAST_INSERT_ID();\n                     ";
             $writeConnection->query($query);
             $i++;
         }
         Mage::getSingleton('adminhtml/session')->addSuccess('' . $i . ' records were inserted or updated');
     } catch (Exception $e) {
         Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
     }
     $this->_redirect('*/*/');
 }
Example #25
0
 public function render(Varien_Object $row)
 {
     /* @var $row CueBlocks_SitemapEnhanced_Model_SitemapEnhanced */
     $html = '';
     $pathmap = $row->getHelper()->getGeneralConf($row->storeId, true)->getPathMap();
     $collection = $row->getFilesCollection();
     foreach ($collection as $item) {
         $fileName = preg_replace('/^\\//', '', $row->getSitemapPath() . $item->getSitemapFileFilename());
         $url = $this->htmlEscape(Mage::app()->getStore($row->getStoreId())->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) . $fileName);
         if (file_exists(BP . DS . $pathmap . $fileName)) {
             $html .= sprintf('<div><a target="_blank" href="%1$s">%2$s</a></div>', $url, $item->getSitemapFileFilename());
         } else {
             $html .= sprintf('<div>%1$s</div>', $item->getSitemapFileFilename());
         }
     }
     return $html;
 }
Example #26
0
 /**
  * Retrieve select object for loading entity attributes values
  * Join attribute store value
  *
  * @param Varien_Object $object
  * @param string $table
  * @return Varien_Db_Select
  */
 protected function _getLoadAttributesSelect($object, $table)
 {
     /**
      * This condition is applicable for all cases when we was work in not single
      * store mode, customize some value per specific store view and than back
      * to single store mode. We should load correct values
      */
     if (Mage::app()->isSingleStoreMode()) {
         $storeId = (int) Mage::app()->getStore(true)->getId();
     } else {
         $storeId = (int) $object->getStoreId();
     }
     $storeIds = array($this->getDefaultStoreId());
     if ($storeId != $this->getDefaultStoreId()) {
         $storeIds[] = $storeId;
     }
     $select = $this->_getReadAdapter()->select()->from(array('attr_table' => $table), array())->where("attr_table.{$this->getEntityIdField()} = ?", $object->getId())->where('attr_table.store_id IN (?)', $storeIds);
     return $select;
 }
 /**
  * Delete entity attribute values
  *
  * @param Varien_Object $object
  * @param string $table
  * @param array $info
  * @return Mage_Catalog_Model_Resource_Abstract
  */
 protected function _deleteAttributes($object, $table, $info)
 {
     $adapter = $this->_getWriteAdapter();
     $entityIdField = $this->getEntityIdField();
     $globalValues = array();
     $websiteAttributes = array();
     $storeAttributes = array();
     /**
      * Separate attributes by scope
      */
     foreach ($info as $itemData) {
         $attribute = $this->getAttribute($itemData['attribute_id']);
         if ($attribute->isScopeStore()) {
             $storeAttributes[] = (int) $itemData['attribute_id'];
         } elseif ($attribute->isScopeWebsite()) {
             $websiteAttributes[] = (int) $itemData['attribute_id'];
         } else {
             $globalValues[] = (int) $itemData['value_id'];
         }
     }
     /**
      * Delete global scope attributes
      */
     if (!empty($globalValues)) {
         $adapter->delete($table, array('value_id IN (?)' => $globalValues));
     }
     $condition = array($entityIdField . ' = ?' => $object->getId(), 'entity_type_id = ?' => $object->getEntityTypeId());
     /**
      * Delete website scope attributes
      */
     if (!empty($websiteAttributes)) {
         $storeIds = $object->getWebsiteStoreIds();
         if (!empty($storeIds)) {
             $delCondition = $condition;
             $delCondition['attribute_id IN(?)'] = $websiteAttributes;
             $delCondition['store_id IN(?)'] = $storeIds;
             $adapter->delete($table, $delCondition);
         }
     }
     /**
      * Delete store scope attributes
      */
     if (!empty($storeAttributes)) {
         $delCondition = $condition;
         $delCondition['attribute_id IN(?)'] = $storeAttributes;
         $delCondition['store_id = ?'] = (int) $object->getStoreId();
         $adapter->delete($table, $delCondition);
     }
     return $this;
 }
Example #28
0
 /**
  * Form array with appropriate structure for shipment request
  *
  * @param Varien_Object $request
  * @return array
  */
 protected function _formShipmentRequest(Varien_Object $request)
 {
     if ($request->getReferenceData()) {
         $referenceData = $request->getReferenceData() . $request->getPackageId();
     } else {
         $referenceData = 'Order #' . $request->getOrderShipment()->getOrder()->getIncrementId() . ' P' . $request->getPackageId();
     }
     $packageParams = $request->getPackageParams();
     $customsValue = $packageParams->getCustomsValue();
     $height = $packageParams->getHeight();
     $width = $packageParams->getWidth();
     $length = $packageParams->getLength();
     $weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LB' : 'KG';
     $dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM';
     $unitPrice = 0;
     $itemsQty = 0;
     $itemsDesc = array();
     $countriesOfManufacture = array();
     $productIds = array();
     $packageItems = $request->getPackageItems();
     foreach ($packageItems as $itemShipment) {
         $item = new Varien_Object();
         $item->setData($itemShipment);
         $unitPrice += $item->getPrice();
         $itemsQty += $item->getQty();
         $itemsDesc[] = $item->getName();
         $productIds[] = $item->getProductId();
     }
     // get countries of manufacture
     $productCollection = Mage::getResourceModel('catalog/product_collection')->addStoreFilter($request->getStoreId())->addFieldToFilter('entity_id', array('in' => $productIds))->addAttributeToSelect('country_of_manufacture');
     foreach ($productCollection as $product) {
         $countriesOfManufacture[] = $product->getCountryOfManufacture();
     }
     $paymentType = $request->getIsReturn() ? 'RECIPIENT' : 'SENDER';
     $requestClient = array('RequestedShipment' => array('ShipTimestamp' => time(), 'DropoffType' => $this->getConfigData('dropoff'), 'PackagingType' => $request->getPackagingType(), 'ServiceType' => $request->getShippingMethod(), 'Shipper' => array('Contact' => array('PersonName' => $request->getShipperContactPersonName(), 'CompanyName' => $request->getShipperContactCompanyName(), 'PhoneNumber' => $request->getShipperContactPhoneNumber()), 'Address' => array('StreetLines' => array($request->getShipperAddressStreet1(), $request->getShipperAddressStreet2()), 'City' => $request->getShipperAddressCity(), 'StateOrProvinceCode' => $request->getShipperAddressStateOrProvinceCode(), 'PostalCode' => $request->getShipperAddressPostalCode(), 'CountryCode' => $request->getShipperAddressCountryCode())), 'Recipient' => array('Contact' => array('PersonName' => $request->getRecipientContactPersonName(), 'CompanyName' => $request->getRecipientContactCompanyName(), 'PhoneNumber' => $request->getRecipientContactPhoneNumber()), 'Address' => array('StreetLines' => array($request->getRecipientAddressStreet1(), $request->getRecipientAddressStreet2()), 'City' => $request->getRecipientAddressCity(), 'StateOrProvinceCode' => $request->getRecipientAddressStateOrProvinceCode(), 'PostalCode' => $request->getRecipientAddressPostalCode(), 'CountryCode' => $request->getRecipientAddressCountryCode(), 'Residential' => (bool) $this->getConfigData('residence_delivery'))), 'ShippingChargesPayment' => array('PaymentType' => $paymentType, 'Payor' => array('AccountNumber' => $this->getConfigData('account'), 'CountryCode' => Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID, $request->getStoreId()))), 'LabelSpecification' => array('LabelFormatType' => 'COMMON2D', 'ImageType' => 'PNG', 'LabelStockType' => 'PAPER_8.5X11_TOP_HALF_LABEL'), 'RateRequestTypes' => array('ACCOUNT'), 'PackageCount' => 1, 'RequestedPackageLineItems' => array('SequenceNumber' => '1', 'Weight' => array('Units' => $weightUnits, 'Value' => $request->getPackageWeight()), 'CustomerReferences' => array('CustomerReferenceType' => 'CUSTOMER_REFERENCE', 'Value' => $referenceData), 'SpecialServicesRequested' => array('SpecialServiceTypes' => 'SIGNATURE_OPTION', 'SignatureOptionDetail' => array('OptionType' => $packageParams->getDeliveryConfirmation())))));
     // for international shipping
     if ($request->getShipperAddressCountryCode() != $request->getRecipientAddressCountryCode()) {
         $requestClient['RequestedShipment']['CustomsClearanceDetail'] = array('CustomsValue' => array('Currency' => $request->getBaseCurrencyCode(), 'Amount' => $customsValue), 'DutiesPayment' => array('PaymentType' => $paymentType, 'Payor' => array('AccountNumber' => $this->getConfigData('account'), 'CountryCode' => Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID, $request->getStoreId()))), 'Commodities' => array('Weight' => array('Units' => $weightUnits, 'Value' => $request->getPackageWeight()), 'NumberOfPieces' => 1, 'CountryOfManufacture' => implode(',', array_unique($countriesOfManufacture)), 'Description' => implode(', ', $itemsDesc), 'Quantity' => ceil($itemsQty), 'QuantityUnits' => 'pcs', 'UnitPrice' => array('Currency' => $request->getBaseCurrencyCode(), 'Amount' => $unitPrice), 'CustomsValue' => array('Currency' => $request->getBaseCurrencyCode(), 'Amount' => $customsValue)));
     }
     if ($request->getMasterTrackingId()) {
         $requestClient['RequestedShipment']['MasterTrackingId'] = $request->getMasterTrackingId();
     }
     // set dimensions
     if ($length || $width || $height) {
         $requestClient['RequestedShipment']['RequestedPackageLineItems']['Dimensions'] = array();
         $dimenssions =& $requestClient['RequestedShipment']['RequestedPackageLineItems']['Dimensions'];
         $dimenssions['Length'] = $length;
         $dimenssions['Width'] = $width;
         $dimenssions['Height'] = $height;
         $dimenssions['Units'] = $dimensionsUnits;
     }
     return $this->_getAuthDetails() + $requestClient;
 }
Example #29
0
 /**
  * Prepare and set request in property of current instance
  *
  * @param Varien_Object $request
  * @return Mage_Usa_Model_Shipping_Carrier_Dhl
  */
 public function setRequest(Varien_Object $request)
 {
     $this->_request = $request;
     $r = new Varien_Object();
     if ($request->getAction() == 'GenerateLabel') {
         $r->setAction('GenerateLabel');
     } else {
         $r->setAction('RateEstimate');
     }
     $r->setIsGenerateLabelReturn($request->getIsGenerateLabelReturn());
     $r->setStoreId($request->getStoreId());
     if ($request->getLimitMethod()) {
         $r->setService($request->getLimitMethod());
     }
     if ($request->getDhlId()) {
         $id = $request->getDhlId();
     } else {
         $id = $this->getConfigData('id');
     }
     $r->setId($id);
     if ($request->getDhlPassword()) {
         $password = $request->getDhlPassword();
     } else {
         $password = $this->getConfigData('password');
     }
     $r->setPassword($password);
     if ($request->getDhlAccount()) {
         $accountNbr = $request->getDhlAccount();
     } else {
         $accountNbr = $this->getConfigData('account');
     }
     $r->setAccountNbr($accountNbr);
     if ($request->getDhlShippingKey()) {
         $shippingKey = $request->getDhlShippingKey();
     } else {
         $shippingKey = $this->getConfigData('shipping_key');
     }
     $r->setShippingKey($shippingKey);
     if ($request->getDhlShippingIntlKey()) {
         $shippingKey = $request->getDhlShippingIntlKey();
     } else {
         $shippingKey = $this->getConfigData('shipping_intlkey');
     }
     $r->setShippingIntlKey($shippingKey);
     if ($request->getDhlShipmentType()) {
         $shipmentType = $request->getDhlShipmentType();
     } else {
         $shipmentType = $this->getConfigData('shipment_type');
     }
     $r->setShipmentType($shipmentType);
     if ($request->getDhlDutiable()) {
         $shipmentDutible = $request->getDhlDutiable();
     } else {
         $shipmentDutible = $this->getConfigData('dutiable');
     }
     $r->setDutiable($shipmentDutible);
     if ($request->getDhlDutyPaymentType()) {
         $dutypaytype = $request->getDhlDutyPaymentType();
     } else {
         $dutypaytype = $this->getConfigData('dutypaymenttype');
     }
     $r->setDutyPaymentType($dutypaytype);
     if ($request->getDhlContentDesc()) {
         $contentdesc = $request->getDhlContentDesc();
     } else {
         $contentdesc = $this->getConfigData('contentdesc');
     }
     $r->setContentDesc($contentdesc);
     if ($request->getDestPostcode()) {
         $r->setDestPostal($request->getDestPostcode());
     }
     if ($request->getOrigCountry()) {
         $origCountry = $request->getOrigCountry();
     } else {
         $origCountry = Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID, $r->getStoreId());
     }
     $r->setOrigCountry($origCountry);
     if ($request->getOrigCountryId()) {
         $origCountryId = $request->getOrigCountryId();
     } else {
         $origCountryId = Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID, $r->getStoreId());
     }
     $r->setOrigCountryId($origCountryId);
     if ($request->getAction() == 'GenerateLabel') {
         $packageParams = $request->getPackageParams();
         $shippingWeight = $request->getPackageWeight();
         if ($packageParams->getWeightUnits() != Zend_Measure_Weight::POUND) {
             $shippingWeight = round(Mage::helper('usa')->convertMeasureWeight($request->getPackageWeight(), $packageParams->getWeightUnits(), Zend_Measure_Weight::POUND));
         }
         if ($packageParams->getDimensionUnits() != Zend_Measure_Length::INCH) {
             $packageParams->setLength(round(Mage::helper('usa')->convertMeasureDimension($packageParams->getLength(), $packageParams->getDimensionUnits(), Zend_Measure_Length::INCH)));
             $packageParams->setWidth(round(Mage::helper('usa')->convertMeasureDimension($packageParams->getWidth(), $packageParams->getDimensionUnits(), Zend_Measure_Length::INCH)));
             $packageParams->setHeight(round(Mage::helper('usa')->convertMeasureDimension($packageParams->getHeight(), $packageParams->getDimensionUnits(), Zend_Measure_Length::INCH)));
         }
         $r->setPackageParams($packageParams);
     } else {
         /*
          * DHL only accepts weight as a whole number. Maximum length is 3 digits.
          */
         $shippingWeight = $request->getPackageWeight();
         if ($shipmentType != 'L') {
             $weight = $this->getTotalNumOfBoxes($shippingWeight);
             $shippingWeight = round(max(1, $weight), 0);
         }
     }
     $r->setValue(round($request->getPackageValue(), 2));
     $r->setValueWithDiscount($request->getPackageValueWithDiscount());
     $r->setCustomsValue($request->getPackageCustomsValue());
     $r->setDestStreet(Mage::helper('core/string')->substr(str_replace("\n", '', $request->getDestStreet()), 0, 35));
     $r->setDestStreetLine2($request->getDestStreetLine2());
     $r->setDestCity($request->getDestCity());
     $r->setOrigCompanyName($request->getOrigCompanyName());
     $r->setOrigCity($request->getOrigCity());
     $r->setOrigPhoneNumber($request->getOrigPhoneNumber());
     $r->setOrigPersonName($request->getOrigPersonName());
     $r->setOrigEmail(Mage::getStoreConfig('trans_email/ident_general/email', $r->getStoreId()));
     $r->setOrigCity($request->getOrigCity());
     $r->setOrigPostal($request->getOrigPostal());
     $originStreet1 = Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_ADDRESS1, $r->getStoreId());
     $originStreet2 = Mage::getStoreConfig(Mage_Shipping_Model_Shipping::XML_PATH_STORE_ADDRESS2, $r->getStoreId());
     $r->setOrigStreet($request->getOrigStreet() ? $request->getOrigStreet() : $originStreet2);
     $r->setOrigStreetLine2($request->getOrigStreetLine2());
     $r->setDestPhoneNumber($request->getDestPhoneNumber());
     $r->setDestPersonName($request->getDestPersonName());
     $r->setDestCompanyName($request->getDestCompanyName());
     if (is_numeric($request->getOrigState())) {
         $r->setOrigState(Mage::getModel('directory/region')->load($request->getOrigState())->getCode());
     } else {
         $r->setOrigState($request->getOrigState());
     }
     if ($request->getDestCountryId()) {
         $destCountry = $request->getDestCountryId();
     } else {
         $destCountry = self::USA_COUNTRY_ID;
     }
     //for DHL, puero rico state for US will assume as puerto rico country
     //for puerto rico, dhl will ship as international
     if ($destCountry == self::USA_COUNTRY_ID && ($request->getDestPostcode() == '00912' || $request->getDestRegionCode() == self::PUERTORICO_COUNTRY_ID)) {
         $destCountry = self::PUERTORICO_COUNTRY_ID;
     }
     $r->setDestCountryId($destCountry);
     $r->setDestState($request->getDestRegionCode());
     $r->setWeight($shippingWeight);
     $r->setFreeMethodWeight($request->getFreeMethodWeight());
     $r->setOrderShipment($request->getOrderShipment());
     if ($request->getPackageId()) {
         $r->setPackageId($request->getPackageId());
     }
     $r->setBaseSubtotalInclTax($request->getBaseSubtotalInclTax());
     $this->_rawRequest = $r;
     return $this;
 }
Example #30
0
 /**
  * Set new increment id to object
  *
  * @param Varien_Object $object
  * @return Mage_Eav_Model_Entity_Abstract
  */
 public function setNewIncrementId(Varien_Object $object)
 {
     if ($object->getIncrementId()) {
         return $this;
     }
     $incrementId = $this->getEntityType()->fetchNewIncrementId($object->getStoreId());
     if ($incrementId !== false) {
         $object->setIncrementId($incrementId);
     }
     return $this;
 }