drupal-civicrm/sites/all/modules/civicrm/ang/crmMailingAB/WinnerDialogCtrl.js

53 lines
1.8 KiB
JavaScript
Raw Normal View History

2018-01-14 15:10:16 +02:00
(function(angular, $, _) {
angular.module('crmMailingAB').controller('CrmMailingABWinnerDialogCtrl', function($scope, $timeout, dialogService, crmMailingMgr, crmStatus) {
var ts = $scope.ts = CRM.ts(null);
var abtest = $scope.abtest = $scope.model.abtest;
var mailingName = $scope.model.mailingName;
var titles = {a: ts('Mailing A'), b: ts('Mailing B')};
$scope.mailingTitle = titles[mailingName];
function init() {
// When using dialogService with a button bar, the major button actions
// need to be registered with the dialog widget (and not embedded in
// the body of the dialog).
var buttons = [
{
text: ts('Submit final mailing'),
icons: {primary: 'fa-paper-plane'},
click: function() {
crmMailingMgr.mergeInto(abtest.mailings.c, abtest.mailings[mailingName], [
'name',
'recipients',
'scheduled_date'
]);
crmStatus({start: ts('Saving...'), success: ''}, abtest.save())
.then(function() {
return crmStatus({start: ts('Submitting...'), success: ts('Submitted')},
abtest.submitFinal().then(function(r) {
delete abtest.$CrmMailingABReportCnt;
return r;
}));
})
.then(function() {
dialogService.close('selectWinnerDialog', abtest);
});
}
},
{
text: ts('Cancel'),
icons: {primary: 'fa-times'},
click: function() {
dialogService.cancel('selectWinnerDialog');
}
}
];
dialogService.setButtons('selectWinnerDialog', buttons);
}
$timeout(init);
});
})(angular, CRM.$, CRM._);