static function renderMessages() { $civi_to_mailchimp_log_message = CRM_CiviMailchimp_BAO_SyncLog::getLatestUnclearedCiviToMailchimpErrorMessage(); $session = CRM_Core_Session::singleton(); if ($civi_to_mailchimp_log_message) { $session->setStatus($civi_to_mailchimp_log_message, ts("Error Syncing CiviCRM to Mailchimp"), 'alert', array('expires' => 0)); } $mailchimp_to_civi_log_messages = CRM_CiviMailchimp_BAO_SyncLog::getUnclearedMailchimpToCiviErrorMessages(); foreach ($mailchimp_to_civi_log_messages as $message) { $session->setStatus($message, ts("Error Syncing Mailchimp to CiviCRM"), 'alert', array('expires' => 0)); } CRM_Core_Resources::singleton()->addScriptFile('com.giantrabbit.civimailchimp', 'js/sync_log.js'); }
function testGetLatestUnclearedCiviToMailchimpErrorMessageWrongDirection() { $mailchimp_sync_log = self::createTestLogMessage('This is a test error message', array('error_details' => TRUE), 'mailchimp_to_civicrm'); $message = CRM_CiviMailchimp_BAO_SyncLog::getLatestUnclearedCiviToMailchimpErrorMessage(); $this->assertNull($message); }
function test_civicrm_api3_civi_mailchimp_sync_exception() { $mailchimp_list_id = 'MailchimpListsTestListA'; $mailchimp_interest_groups = array('MailchimpTestInterestGroupingA_MailchimpTestInterestGroupA', 'MailchimpTestInterestGroupingA_MailchimpTestInterestGroupC'); $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettingsTest::createTestGroupAndSyncSettings('Test Group test_civicrm_api3_civi_mailchimp_sync_exception', $mailchimp_list_id, $mailchimp_interest_groups); $merge_fields = CRM_CiviMailchimp_Utils::getMailchimpMergeFields(); $params = CRM_CiviMailchimp_UtilsTest::sampleContactParams(); $contact = CRM_Contact_BAO_Contact::create($params); $merge_vars = CRM_CiviMailchimp_Utils::formatMailchimpMergeVars($merge_fields, $contact); CRM_CiviMailchimp_Utils::addMailchimpSyncQueueItem('subscribeContactToMailchimpList', 'MailchimpListsTestListB', $params['email'][0]['email'], $merge_vars); $action = 'unsubscribeContactFromMailchimpList'; CRM_CiviMailchimp_Utils::addMailchimpSyncQueueItem('unsubscribeContactFromMailchimpList', 'MailchimpListsTestListB', $params['email'][0]['email']); $job_params['records_to_process_per_run'] = 100; civicrm_api3_civi_mailchimp_sync($job_params); $queue = CRM_Queue_Service::singleton()->create(array('type' => 'Sql', 'name' => 'mailchimp-sync', 'reset' => FALSE)); $message = CRM_CiviMailchimp_BAO_SyncLog::getLatestUnclearedCiviToMailchimpErrorMessage(); $this->assertEquals(2, $queue->numberOfItems()); $this->assertNotNull($message); }