From a76869e484c45efd21ee88ce067d936d792d0611 Mon Sep 17 00:00:00 2001 From: "deb.monish" Date: Wed, 18 Jul 2018 23:45:46 +0530 Subject: [PATCH] dev/mail#20 : Preview screen don't open until recipients list is built on mail compose screen --- ang/crmMailing/services.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ang/crmMailing/services.js b/ang/crmMailing/services.js index e50a0a0f7a7a..bc8783e5af3d 100644 --- a/ang/crmMailing/services.js +++ b/ang/crmMailing/services.js @@ -262,8 +262,15 @@ // @param mailing Object (per APIv3) // @return Promise an object with "subject", "body_text", "body_html" preview: function preview(mailing) { + return this.getPreviewContent(qApi, mailing) + }, + + // @param backend + // @param mailing Object (per APIv3) + // @return preview content + getPreviewContent: function getPreviewContent(backend, mailing) { if (CRM.crmMailing.workflowEnabled && !CRM.checkPerm('create mailings') && !CRM.checkPerm('access CiviMail')) { - return qApi('Mailing', 'preview', {id: mailing.id}).then(function(result) { + return backend('Mailing', 'preview', {id: mailing.id}).then(function(result) { return result.values; }); } @@ -278,7 +285,7 @@ delete params.scheduled_date; delete params.recipients; // the content was merged in params._skip_evil_bao_auto_recipients_ = 1; // skip recipient rebuild on mail preview - return qApi('Mailing', 'create', params).then(function(result) { + return backend('Mailing', 'create', params).then(function(result) { mailing.modified_date = result.values[result.id].modified_date; // changes rolled back, so we don't care about updating mailing return result.values[result.id]['api.Mailing.preview'].values; @@ -451,7 +458,7 @@ }; var result = null; var p = crmMailingMgr - .preview(mailing) + .getPreviewContent(CRM.api3, mailing) .then(function (content) { var options = CRM.utils.adjustDialogDefaults({ autoOpen: false,