53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
(function(angular, $, _) {
|
|
|
|
angular.module('crmMailingAB').controller('CrmMailingABReportCtrl', function($scope, crmApi, crmMailingStats) {
|
|
var ts = $scope.ts = CRM.ts(null);
|
|
|
|
var CrmMailingABReportCnt = 1, activeMailings = null;
|
|
$scope.getActiveMailings = function() {
|
|
if ($scope.abtest.$CrmMailingABReportCnt != CrmMailingABReportCnt) {
|
|
$scope.abtest.$CrmMailingABReportCnt = ++CrmMailingABReportCnt;
|
|
activeMailings = [
|
|
{
|
|
name: 'a',
|
|
title: ts('Mailing A'),
|
|
mailing: $scope.abtest.mailings.a,
|
|
attachments: $scope.abtest.attachments.a
|
|
},
|
|
{
|
|
name: 'b',
|
|
title: ts('Mailing B'),
|
|
mailing: $scope.abtest.mailings.b,
|
|
attachments: $scope.abtest.attachments.b
|
|
}
|
|
];
|
|
if ($scope.abtest.ab.status == 'Final') {
|
|
activeMailings.push({
|
|
name: 'c',
|
|
title: ts('Final'),
|
|
mailing: $scope.abtest.mailings.c,
|
|
attachments: $scope.abtest.attachments.c
|
|
});
|
|
}
|
|
}
|
|
return activeMailings;
|
|
};
|
|
|
|
crmMailingStats.getStats({
|
|
a: $scope.abtest.ab.mailing_id_a,
|
|
b: $scope.abtest.ab.mailing_id_b,
|
|
c: $scope.abtest.ab.mailing_id_c
|
|
}).then(function(stats) {
|
|
$scope.stats = stats;
|
|
});
|
|
|
|
$scope.statTypes = crmMailingStats.getStatTypes();
|
|
$scope.statUrl = function statUrl(mailing, statType, view) {
|
|
return crmMailingStats.getUrl(mailing, statType, view, 'abtest/' + $scope.abtest.ab.id);
|
|
};
|
|
|
|
$scope.checkPerm = CRM.checkPerm;
|
|
});
|
|
|
|
})(angular, CRM.$, CRM._);
|