var crmMailing2 = angular.module('crmMailing2');
crmMailing2.factory('crmMailingMgr', function($q, crmApi) {
- var pickDefaultMailComponent = function(type) {
+ var pickDefaultMailComponent = function pickDefaultMailComponent(type) {
var mcs = _.where(CRM.crmMailing.headerfooterList, {
component_type:type,
is_default: "1"
return {
// @param scalar idExpr a number or the literal string 'new'
// @return Promise|Object Mailing (per APIv3)
- getOrCreate: function (idExpr) {
+ getOrCreate: function getOrCreate(idExpr) {
return (idExpr == 'new') ? this.create() : this.get(idExpr);
},
// @return Promise Mailing (per APIv3)
- get: function (id) {
+ get: function get(id) {
return crmApi('Mailing', 'getsingle', {id: id}).then(function(mailing){
return crmApi('MailingGroup', 'get', {mailing_id: id}).then(function(groupResult){
mailing.groups = {include: [], exclude: []};
});
},
// @return Object Mailing (per APIv3)
- create: function () {
+ create: function create() {
return {
name: "revert this", // fixme
campaign_id: null,
}
});
return crmApi('Mailing', 'create', params).then(function(result){
- console.log('preview', params, result);
return result.values[result.id]['api.Mailing.preview'].values;
});
},
// @param mailing Object (per APIv3)
// @param int previewLimit
// @return Promise for a list of recipients (mailing_id, contact_id, api.contact.getvalue, api.email.getvalue)
- previewRecipients: function(mailing, previewLimit) {
+ previewRecipients: function previewRecipients(mailing, previewLimit) {
// To get list of recipients, we tentatively save the mailing and
// get the resulting recipients -- then rollback any changes.
var params = _.extend({}, mailing, {
(function (angular, $, _) {
- var partialUrl = function (relPath) {
+ var partialUrl = function partialUrl(relPath) {
return CRM.resourceUrls['civicrm'] + '/partials/crmMailing2/' + relPath;
};
templateUrl: partialUrl('edit.html'),
controller: 'EditMailingCtrl',
resolve: {
- selectedMail: function($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
+ selectedMail: function selectedMail($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
}
});
$routeProvider.when('/mailing2/:id/unified', {
templateUrl: partialUrl('edit-unified.html'),
controller: 'EditMailingCtrl',
resolve: {
- selectedMail: function($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
+ selectedMail: function selectedMail($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
}
});
$routeProvider.when('/mailing2/:id/unified2', {
templateUrl: partialUrl('edit-unified2.html'),
controller: 'EditMailingCtrl',
resolve: {
- selectedMail: function($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
+ selectedMail: function selectedMail($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
}
});
$routeProvider.when('/mailing2/:id/wizard', {
templateUrl: partialUrl('edit-wizard.html'),
controller: 'EditMailingCtrl',
resolve: {
- selectedMail: function($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
+ selectedMail: function selectedMail($route, crmMailingMgr) { return crmMailingMgr.getOrCreate($route.current.params.id); }
}
});
}
]);
- crmMailing2.controller('ListMailingsCtrl', function ($scope) {
+ crmMailing2.controller('ListMailingsCtrl', function ListMailingsCtrl($scope) {
// We haven't implemented this in Angular, but some users may get clever
// about typing URLs, so we'll provide a redirect.
window.location = CRM.url('civicrm/mailing/browse/unscheduled', {
});
});
- crmMailing2.controller('EditMailingCtrl', function ($scope, selectedMail) {
+ crmMailing2.controller('EditMailingCtrl', function EditMailingCtrl($scope, selectedMail) {
$scope.mailing = selectedMail;
$scope.crmMailingConst = CRM.crmMailing;
// Scope members:
// - [input] mailing: object
// - [output] recipients: array of recipient records
- crmMailing2.controller('EditRecipCtrl', function ($scope, dialogService, crmApi, crmMailingMgr) {
+ crmMailing2.controller('EditRecipCtrl', function EditRecipCtrl($scope, dialogService, crmApi, crmMailingMgr) {
// TODO load & live update real recipients list
$scope.recipients = null;
$scope.getRecipientsEstimate = function () {
$scope.$watchCollection("mailing.mailings.include", refreshRecipients);
$scope.$watchCollection("mailing.mailings.exclude", refreshRecipients);
- $scope.previewRecipients = function () {
+ $scope.previewRecipients = function previewRecipients() {
var model = {
recipients: $scope.recipients
};
1: $scope.getRecipientsEstimate()
}),
};
- dialogService.open('recipDialog', partialUrl('dialog/recipients.html'), model, options)
- .then(
- function (result) {
- // console.log('Closed!');
- },
- function (error) {
- // console.log('Cancelled!');
- }
- );
+ dialogService.open('recipDialog', partialUrl('dialog/recipients.html'), model, options);
};
});
$scope.testContact = {email: ''};
$scope.testGroup = {gid: null};
- $scope.previewHtml = function() {
+ $scope.previewHtml = function previewHtml() {
$scope.previewDialog(partialUrl('dialog/previewHtml.html'));
};
- $scope.previewText = function() {
+ $scope.previewText = function previewText() {
$scope.previewDialog(partialUrl('dialog/previewText.html'));
};
- $scope.previewFull = function() {
+ $scope.previewFull = function previewFull() {
$scope.previewDialog(partialUrl('dialog/previewFull.html'));
};
// Open a dialog with a preview of the current mailing
// @param template string URL of the template to use in the preview dialog
- $scope.previewDialog = function(template) {
+ $scope.previewDialog = function previewDialog(template) {
CRM.status(ts('Previewing'));
crmMailingMgr
.preview($scope.mailing)
dialogService.open('previewDialog', template, content, options);
});
};
- $scope.sendTestToContact = function() {
+ $scope.sendTestToContact = function sendTestToContact() {
CRM.alert('Send test to contact, ' + $scope.testContact.email);
};
- $scope.sendTestToGroup = function() {
+ $scope.sendTestToGroup = function sendTestToGroup() {
CRM.alert('Send test to group, ' + $scope.testGroup.gid);
};
});
// - "subject"
// - "body_html"
// - "body_text"
- crmMailing2.controller('PreviewMailingDialogCtrl', function ($scope, crmMailingMgr) {
+ crmMailing2.controller('PreviewMailingDialogCtrl', function PreviewMailingDialogCtrl($scope, crmMailingMgr) {
$scope.ts = CRM.ts('CiviMail');
});