CRM-21411 Fix issue where unsubscribe group field would not show because CRM.crmMaili...
authorSeamus Lee <seamuslee001@gmail.com>
Wed, 8 Nov 2017 20:09:53 +0000 (07:09 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Wed, 8 Nov 2017 20:09:53 +0000 (07:09 +1100)
ang/crmMailing/BlockMailing.html
ang/crmMailing/EditUnsubGroupCtrl.js

index 2e37083c1b1f513160c997decaa338219d3e94d5..5a04d8e04f7fc0fe2ea546f8efbee28c6e94b749 100644 (file)
@@ -61,7 +61,7 @@ It could perhaps be thinned by 30-60% by making more directives.
           ng-model="mailing.recipients.groups.base[0]"
           ng-required="true"
           >
-          <option ng-repeat="grp in crmMailingConst.groupNames | filter:{is_hidden:0} | orderBy:'title'" value="{{grp.id}}">{{grp.title}}</option>
+          <option ng-repeat="grp in crmMailingConst.testGroupNames | filter:{is_hidden:0} | orderBy:'title'" value="{{grp.id}}">{{grp.title}}</option>
         </select>
       </div>
     </span>
index c0e7d3e71fb1e3285dd4e09483f8fc0ada991767..56070e03e64482df2f7001a8776ba1327bdbeb00 100644 (file)
@@ -3,14 +3,16 @@
   angular.module('crmMailing').controller('EditUnsubGroupCtrl', function EditUnsubGroupCtrl($scope) {
     // CRM.crmMailing.groupNames is a global constant - since it doesn't change, we can digest & cache.
     var mandatoryIds = [];
-    _.each(CRM.crmMailing.groupNames, function(grp) {
-      if (grp.is_hidden == "1") {
-        mandatoryIds.push(parseInt(grp.id));
-      }
-    });
 
     $scope.isUnsubGroupRequired = function isUnsubGroupRequired(mailing) {
-      return _.intersection(mandatoryIds, mailing.recipients.groups.include).length > 0;
+      if (!_.isEmpty(CRM.crmMailing.groupNames)) {
+        _.each(CRM.crmMailing.groupNames, function(grp) {
+          if (grp.is_hidden == "1") {
+            mandatoryIds.push(parseInt(grp.id));
+          }
+        });
+        return _.intersection(mandatoryIds, mailing.recipients.groups.include).length > 0;
+      }
     };
   });