});
});
- crmMailing2.controller('EditMailingCtrl', function EditMailingCtrl($scope, selectedMail, $location, crmMailingMgr, crmFromAddresses, crmStatus, CrmAttachments) {
+ crmMailing2.controller('EditMailingCtrl', function EditMailingCtrl($scope, selectedMail, $location, crmMailingMgr, crmStatus, CrmAttachments) {
$scope.mailing = selectedMail;
$scope.attachments = new CrmAttachments(function () {
return {entity_table: 'civicrm_mailing', entity_id: $scope.mailing.id};
});
+ $scope.attachments.load();
$scope.crmMailingConst = CRM.crmMailing;
- $scope.crmFromAddresses = crmFromAddresses;
$scope.partialUrl = partialUrl;
var ts = $scope.ts = CRM.ts('CiviMail');
// FIXME: Angular unnecessarily refreshes UI
}
});
-
- $scope.fromPlaceholder = {
- label: crmFromAddresses.getByAuthorEmail($scope.mailing.from_name, $scope.mailing.from_email, true).label
- };
- $scope.$watch('fromPlaceholder.label', function (newValue) {
- var addr = crmFromAddresses.getByLabel(newValue);
- $scope.mailing.from_name = addr.author;
- $scope.mailing.from_email = addr.email;
- });
});
// Controller for the edit-recipients fields (
});
// Controller for the in-place msg-template management
- // Scope members:
- // - [input] mailing: object
crmMailing2.controller('MsgTemplateCtrl', function MsgTemplateCtrl($scope, crmMsgTemplates, dialogService, $parse) {
var ts = $scope.ts = CRM.ts('CiviMail');
$scope.crmMsgTemplates = crmMsgTemplates;
// @return Promise MessageTemplate (per APIv3)
- $scope.saveTemplate = function saveTemplate() {
+ $scope.saveTemplate = function saveTemplate(mailing) {
var model = {
- selected_id: $scope.mailing.msg_template_id,
+ selected_id: mailing.msg_template_id,
tpl: {
msg_title: '',
- msg_subject: $scope.mailing.subject,
- msg_text: $scope.mailing.body_text,
- msg_html: $scope.mailing.body_html
+ msg_subject: mailing.subject,
+ msg_text: mailing.body_text,
+ msg_html: mailing.body_html
}
};
var options = {
};
return dialogService.open('saveTemplateDialog', partialUrl('dialog/saveTemplate.html'), model, options)
.then(function (item) {
- $parse('mailing.msg_template_id').assign($scope, item.id);
+ mailing.msg_template_id = item.id;
return item;
});
};
// @param int id
// @return Promise
- $scope.loadTemplate = function loadTemplate(id) {
+ $scope.loadTemplate = function loadTemplate(mailing, id) {
return crmMsgTemplates.get(id).then(function (tpl) {
- $scope.mailing.subject = tpl.msg_subject;
- $scope.mailing.body_text = tpl.msg_text;
- $scope.mailing.body_html = tpl.msg_html;
+ mailing.subject = tpl.msg_subject;
+ mailing.body_text = tpl.msg_text;
+ mailing.body_html = tpl.msg_html;
});
};
});
setTimeout(scopeApply(init), 0);
});
+ crmMailing2.controller('EmailAddrCtrl', function EmailAddrCtrl($scope, crmFromAddresses){
+ $scope.crmFromAddresses = crmFromAddresses;
+ });
+
// Controller for schedule-editing widget.
// Scope members:
// - [input] mailing: object