@@ -127,7 +127,6 @@ protected function _migrateFrom115($initialTime)
127
127
*/
128
128
protected function _makeForCollectionItem ($ collection , $ mailchimpStoreId , $ initialTime , Closure $ callback )
129
129
{
130
- $ helper = $ this ->getHelper ();
131
130
$ dateHelper = $ this ->getDateHelper ();
132
131
$ finished = false ;
133
132
@@ -142,7 +141,7 @@ protected function _makeForCollectionItem($collection, $mailchimpStoreId, $initi
142
141
143
142
do {
144
143
$ collection ->setCurPage ($ currentPage );
145
- $ helper ->_loadItemCollection ($ collection );
144
+ $ this ->_loadItemCollection ($ collection );
146
145
147
146
foreach ($ collection as $ collectionItem ) {
148
147
$ callback ($ collectionItem , $ mailchimpStoreId );
@@ -166,6 +165,14 @@ protected function _makeForCollectionItem($collection, $mailchimpStoreId, $initi
166
165
return $ finished ;
167
166
}
168
167
168
+ /**
169
+ * @param $collection
170
+ */
171
+ protected function _loadItemCollection ($ collection )
172
+ {
173
+ $ collection ->load ();
174
+ }
175
+
169
176
protected function _migrateFrom115dropColumn ($ arrayMigrationConfigData )
170
177
{
171
178
$ helper = $ this ->getHelper ();
@@ -209,6 +216,14 @@ protected function _migrateFrom115dropColumn($arrayMigrationConfigData)
209
216
}
210
217
}
211
218
219
+ /**
220
+ * @return Ebizmarts_MailChimp_Model_Ecommercesyncdata
221
+ */
222
+ protected function getMailchimpEcommerceSyncDataModel ()
223
+ {
224
+ return Mage::getModel ('mailchimp/ecommercesyncdata ' );
225
+ }
226
+
212
227
/**
213
228
* Migrate Customers from version 1.1.5 to the mailchimp_ecommerce_sync_data table.
214
229
*
@@ -256,7 +271,7 @@ function ($customer, $mailchimpStoreId) {
256
271
$ syncModified = $ customer ->getMailchimpSyncModified ();
257
272
}
258
273
259
- $ ecommerceSyncData = $ helper ->getMailchimpEcommerceSyncDataModel ();
274
+ $ ecommerceSyncData = $ this ->getMailchimpEcommerceSyncDataModel ();
260
275
$ ecommerceSyncData ->saveEcommerceSyncData (
261
276
$ customerId ,
262
277
Ebizmarts_MailChimp_Model_Config::IS_CUSTOMER ,
@@ -323,7 +338,7 @@ function ($product, $mailchimpStoreId) {
323
338
$ syncModified = $ product ->getMailchimpSyncModified ();
324
339
}
325
340
326
- $ ecommerceSyncData = $ helper ->getMailchimpEcommerceSyncDataModel ();
341
+ $ ecommerceSyncData = $ this ->getMailchimpEcommerceSyncDataModel ();
327
342
$ ecommerceSyncData ->saveEcommerceSyncData (
328
343
$ productId ,
329
344
Ebizmarts_MailChimp_Model_Config::IS_PRODUCT ,
@@ -340,6 +355,14 @@ function ($product, $mailchimpStoreId) {
340
355
}
341
356
}
342
357
358
+ /**
359
+ * @return Mage_Sales_Model_Order
360
+ */
361
+ protected function getSalesOrderModel ()
362
+ {
363
+ return Mage::getModel ('sales/order ' );
364
+ }
365
+
343
366
/**
344
367
* Migrate Orders from version 1.1.5 to the mailchimp_ecommerce_sync_data table.
345
368
*
@@ -380,7 +403,7 @@ function ($order, $mailchimpStoreId) {
380
403
$ orderId = $ order ->getEntityId ();
381
404
$ syncError = null ;
382
405
$ syncModified = null ;
383
- $ orderObject = $ helper ->getSalesOrderModel ()->load ($ orderId );
406
+ $ orderObject = $ this ->getSalesOrderModel ()->load ($ orderId );
384
407
$ syncDelta = $ orderObject ->getMailchimpSyncDelta ();
385
408
386
409
if ($ order ->getMailchimpSyncError ()) {
@@ -391,7 +414,7 @@ function ($order, $mailchimpStoreId) {
391
414
$ syncModified = $ order ->getMailchimpSyncModified ();
392
415
}
393
416
394
- $ ecommerceSyncData = $ helper ->getMailchimpEcommerceSyncDataModel ();
417
+ $ ecommerceSyncData = $ this ->getMailchimpEcommerceSyncDataModel ();
395
418
$ ecommerceSyncData ->saveEcommerceSyncData (
396
419
$ orderId ,
397
420
Ebizmarts_MailChimp_Model_Config::IS_ORDER ,
@@ -450,7 +473,7 @@ function ($quote, $mailchimpStoreId) {
450
473
$ syncError = null ;
451
474
$ syncDeleted = null ;
452
475
$ token = null ;
453
- $ quoteObject = $ helper ->getSalesOrderModel ()->load ($ quoteId );
476
+ $ quoteObject = $ this ->getSalesOrderModel ()->load ($ quoteId );
454
477
$ syncDelta = $ quoteObject ->getMailchimpSyncDelta ();
455
478
456
479
if ($ quote ->getMailchimpSyncError ()) {
@@ -465,7 +488,7 @@ function ($quote, $mailchimpStoreId) {
465
488
$ token = $ quote ->getMailchimpToken ();
466
489
}
467
490
468
- $ ecommerceSyncData = $ helper ->getMailchimpEcommerceSyncDataModel ();
491
+ $ ecommerceSyncData = $ this ->getMailchimpEcommerceSyncDataModel ();
469
492
$ ecommerceSyncData ->saveEcommerceSyncData (
470
493
$ quoteId ,
471
494
Ebizmarts_MailChimp_Model_Config::IS_QUOTE ,
@@ -510,19 +533,36 @@ protected function delete115MigrationConfigData()
510
533
);
511
534
}
512
535
536
+ /**
537
+ * Modify is_syncing value if initial sync finished for all stores.
538
+ *
539
+ * @param $syncValue
540
+ */
541
+ protected function _setIsSyncingIfFinishedInAllStores ($ syncValue )
542
+ {
543
+ $ stores = $ this ->getMageApp ()->getStores ();
544
+
545
+ foreach ($ stores as $ storeId => $ store ) {
546
+ $ ecommEnabled = $ this ->isEcomSyncDataEnabled ($ storeId );
547
+
548
+ if ($ ecommEnabled ) {
549
+ $ this ->setIsSyncingIfFinishedPerScope ($ syncValue , $ storeId );
550
+ }
551
+ }
552
+ }
553
+
513
554
/**
514
555
* Migrate data from version 1.1.6.
515
556
*
516
557
* @param $initialTime
517
558
*/
518
559
protected function _migrateFrom116 ($ initialTime )
519
560
{
520
- $ helper = $ this ->getHelper ();
521
- $ helper ->_setIsSyncingIfFinishedInAllStores (true );
561
+ $ this ->_setIsSyncingIfFinishedInAllStores (true );
522
562
$ finished = $ this ->_migrateOrdersFrom116 ($ initialTime );
523
563
524
564
if ($ finished ) {
525
- $ helper ->_setIsSyncingIfFinishedInAllStores (false );
565
+ $ this ->_setIsSyncingIfFinishedInAllStores (false );
526
566
$ arrayMigrationConfigData = array ('115 ' => false , '116 ' => true , '1164 ' => false );
527
567
$ this ->handleDeleteMigrationConfigData ($ arrayMigrationConfigData );
528
568
}
0 commit comments