Exemplo n.º 1
0
 public function isAddedNewVariationsAttributes(Ess_M2ePro_Model_ListingsProducts $listingProduct)
 {
     if (!$listingProduct->isListingTypeFixed() || !$listingProduct->getListingTemplate()->isVariationMode() || $listingProduct->getMagentoProduct()->isSimpleTypeWithoutCustomOptions()) {
         return false;
     }
     $magentoVariations = $this->prepareMagentoVariations($listingProduct->getMagentoProduct()->getProductVariations());
     $currentVariations = $this->prepareCurrentVariations($listingProduct->getListingsProductsVariations(true));
     if (!isset($magentoVariations[0]) && !isset($currentVariations[0])) {
         return false;
     }
     if (!isset($magentoVariations[0]) || !isset($currentVariations[0])) {
         return true;
     }
     if (count($magentoVariations[0]['options']) != count($currentVariations[0]['options'])) {
         return true;
     }
     return false;
 }
 public function updateAfterAction(Ess_M2ePro_Model_ListingsProducts $listingProduct, $saveEbayQtySold = false)
 {
     if (!$listingProduct->isListingTypeFixed() || !$listingProduct->getListingTemplate()->isVariationMode() || $listingProduct->getMagentoProduct()->isSimpleTypeWithoutCustomOptions()) {
         return;
     }
     // Delete Variations
     //-----------------------------
     $productVariations = $listingProduct->getListingsProductsVariations(true);
     foreach ($productVariations as $variation) {
         /** @var $variation Ess_M2ePro_Model_ListingsProductsVariations */
         $variation->isDelete() && $variation->deleteInstance();
     }
     //-----------------------------
     // Update Variations
     //-----------------------------
     $productVariations = $listingProduct->getListingsProductsVariations(true);
     foreach ($productVariations as $variation) {
         /** @var $variation Ess_M2ePro_Model_ListingsProductsVariations */
         $dataForUpdate = array('ebay_price' => $variation->getPrice(), 'add' => Ess_M2ePro_Model_ListingsProductsVariations::ADD_NO, 'delete' => Ess_M2ePro_Model_ListingsProductsVariations::DELETE_NO, 'status' => Ess_M2ePro_Model_ListingsProducts::STATUS_LISTED);
         if ($saveEbayQtySold) {
             $dataForUpdate['ebay_qty_sold'] = is_null($variation->getEbayQtySold()) ? 0 : $variation->getEbayQtySold();
             $dataForUpdate['ebay_qty'] = $variation->getQty() + $dataForUpdate['ebay_qty_sold'];
         } else {
             $dataForUpdate['ebay_qty_sold'] = 0;
             $dataForUpdate['ebay_qty'] = $variation->getQty();
         }
         if ($dataForUpdate['ebay_qty'] <= $dataForUpdate['ebay_qty_sold']) {
             $dataForUpdate['status'] = Ess_M2ePro_Model_ListingsProducts::STATUS_SOLD;
         }
         if ($dataForUpdate['ebay_qty'] <= 0) {
             $dataForUpdate['status'] = Ess_M2ePro_Model_ListingsProducts::STATUS_NOT_LISTED;
         }
         $variation->addData($dataForUpdate)->save();
     }
     //-----------------------------
 }
Exemplo n.º 3
0
 protected function addImagesData(Ess_M2ePro_Model_ListingsProducts $listingProduct, array &$requestData)
 {
     $requestData['images'] = array('gallery_type' => $listingProduct->getListingTemplate()->getGalleryType(), 'images' => $listingProduct->getImagesForEbay());
 }