From 788e0d7e5081447e9164389a87b11fe5a6d6e999 Mon Sep 17 00:00:00 2001 From: gonzalo Date: Thu, 31 May 2018 11:25:21 -0300 Subject: [PATCH] closes #220 --- Model/Api/PromoRules.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Model/Api/PromoRules.php b/Model/Api/PromoRules.php index b188ba50..5b774f3a 100644 --- a/Model/Api/PromoRules.php +++ b/Model/Api/PromoRules.php @@ -93,17 +93,21 @@ protected function _getDeletedPromoRules($mailchimpStoreId, $magentoStoreId) */ foreach($collection as $rule) { - $ruleId = $rule->getData('related_id'); - $mailchimpRule = $api->ecommerce->promoCodes->getAll($mailchimpStoreId,$ruleId); - foreach($mailchimpRule['promo_codes'] as $promoCode) - { - $this->_helper->ecommerceDeleteAllByIdType($promoCode['id'], \Ebizmarts\MailChimp\Helper\Data::IS_PROMO_CODE); + $ruleId = $rule->getData('related_id'); + try { + $mailchimpRule = $api->ecommerce->promoCodes->getAll($mailchimpStoreId, $ruleId); + foreach ($mailchimpRule['promo_codes'] as $promoCode) { + $this->_helper->ecommerceDeleteAllByIdType($promoCode['id'], \Ebizmarts\MailChimp\Helper\Data::IS_PROMO_CODE); + } + $batchArray[$count]['method'] = 'DELETE'; + $batchArray[$count]['path'] = "/ecommerce/stores/$mailchimpStoreId/promo-rules/$ruleId"; + $batchArray[$count]['operation_id'] = $this->_batchId . '_' . $ruleId; + $count++; + } catch(\Mailchimp_Error $e) { + $this->_helper->log("The Rule $ruleId is already deleted"); } $this->_helper->ecommerceDeleteAllByIdType($ruleId, \Ebizmarts\MailChimp\Helper\Data::IS_PROMO_RULE); - $batchArray[$count]['method'] = 'DELETE'; - $batchArray[$count]['path'] = "/ecommerce/stores/$mailchimpStoreId/promo-rules/$ruleId"; - $batchArray[$count]['operation_id'] = $this->_batchId. '_' . $ruleId; - $count++; + } return $batchArray; }