Merge pull request #12499 from wannesderoy/patch-4
[civicrm-core.git] / ang / crmMailing.js
index 7254b8a06ed905dbcdde71b174714c47c76063f7..95148bf27b3fd56d83831864ee30802b7d5bc030 100644 (file)
@@ -1,8 +1,6 @@
 (function (angular, $, _) {
 
-  angular.module('crmMailing', [
-    'crmUtil', 'crmAttachment', 'crmAutosave', 'ngRoute', 'ui.utils', 'crmUi', 'dialogService'
-  ]);
+  angular.module('crmMailing', CRM.angRequires('crmMailing'));
 
   angular.module('crmMailing').config([
     '$routeProvider',
         controller: 'ListMailingsCtrl'
       });
 
-      var editorPaths = {
-        '': '~/crmMailing/EditMailingCtrl/2step.html',
-        '/unified': '~/crmMailing/EditMailingCtrl/unified.html',
-        '/unified2': '~/crmMailing/EditMailingCtrl/unified2.html',
-        '/wizard': '~/crmMailing/EditMailingCtrl/wizard.html'
-      };
-      angular.forEach(editorPaths, function(editTemplate, pathSuffix) {
-        if (CRM && CRM.crmMailing && CRM.crmMailing.workflowEnabled) {
-            editTemplate = '~/crmMailing/EditMailingCtrl/workflow.html'; // override
+      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' + pathSuffix, {
-          template: '<p>' + ts('Initializing...') + '</p>',
-          controller: 'CreateMailingCtrl',
-          resolve: {
-            selectedMail: function(crmMailingMgr) {
-              var m = crmMailingMgr.create();
-              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' + pathSuffix, {
-          templateUrl: editTemplate,
-          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();
-            }
+        }
+      });
+
+      $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();
           }
-        });
+        }
       });
     }
   ]);