summaryrefslogtreecommitdiff
path: root/www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js')
-rw-r--r--www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js b/www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js
new file mode 100644
index 00000000..95148bf2
--- /dev/null
+++ b/www/crm/wp-content/plugins/civicrm/civicrm/ang/crmMailing.js
@@ -0,0 +1,61 @@
+(function (angular, $, _) {
+
+ angular.module('crmMailing', CRM.angRequires('crmMailing'));
+
+ angular.module('crmMailing').config([
+ '$routeProvider',
+ function ($routeProvider) {
+ $routeProvider.when('/mailing', {
+ template: '<div></div>',
+ controller: 'ListMailingsCtrl'
+ });
+
+ if (!CRM || !CRM.crmMailing) {
+ return;
+ }
+
+ $routeProvider.when('/mailing/new', {
+ template: '<p>' + ts('Initializing...') + '</p>',
+ controller: 'CreateMailingCtrl',
+ resolve: {
+ selectedMail: function(crmMailingMgr) {
+ var m = crmMailingMgr.create({
+ template_type: CRM.crmMailing.templateTypes[0].name
+ });
+ return crmMailingMgr.save(m);
+ }
+ }
+ });
+
+ $routeProvider.when('/mailing/new/:templateType', {
+ template: '<p>' + ts('Initializing...') + '</p>',
+ controller: 'CreateMailingCtrl',
+ resolve: {
+ selectedMail: function($route, crmMailingMgr) {
+ var m = crmMailingMgr.create({
+ template_type: $route.current.params.templateType
+ });
+ return crmMailingMgr.save(m);
+ }
+ }
+ });
+
+ $routeProvider.when('/mailing/:id', {
+ templateUrl: '~/crmMailing/EditMailingCtrl/base.html',
+ controller: 'EditMailingCtrl',
+ resolve: {
+ selectedMail: function($route, crmMailingMgr) {
+ return crmMailingMgr.get($route.current.params.id);
+ },
+ attachments: function($route, CrmAttachments) {
+ var attachments = new CrmAttachments(function () {
+ return {entity_table: 'civicrm_mailing', entity_id: $route.current.params.id};
+ });
+ return attachments.load();
+ }
+ }
+ });
+ }
+ ]);
+
+})(angular, CRM.$, CRM._);