CRM-14483 - Only allow addition of "Sequence" if we don't have a sequence already
authorTim Otten <totten@civicrm.org>
Wed, 7 May 2014 22:04:32 +0000 (15:04 -0700)
committerTim Otten <totten@civicrm.org>
Tue, 20 May 2014 03:15:26 +0000 (20:15 -0700)
js/angular-crmCaseType.js
partials/crmCaseType/edit.html

index fbb319a2abc606b820b8abd7438926b14683942b..ecaa871968b9b713184e8bc8520101d618c68085 100644 (file)
       }
     };
 
+    $scope.isNewActivitySetAllowed = function(workflow) {
+      switch (workflow) {
+        case 'timeline':
+          return true;
+        case 'pipeline':
+          return 0 == _.where($scope.caseType.definition.activitySets, {pipeline: '1'}).length;
+        default:
+          if (console && console.log) console.log('Denied access to unrecognized workflow: (' + workflow + ')');
+          return false;
+      }
+    };
+
     $scope.getWorkflowName = function(activitySet) {
       var result = 'Unknown';
       _.each($scope.workflows, function(value, key) {
index 9a27e3f1d6cf7c8cb245087d54be5e9935db905e..8e7536ea824b8e4413eb0c8042d304253bc4451a 100644 (file)
@@ -26,8 +26,8 @@ Required vars: caseType
       </li>
       <select ng-model="newActivitySetWorkflow" ng-change="addActivitySet(newActivitySetWorkflow); newActivitySetWorkflow='';">
         <option value="">(Add)</option>
-        <option value="timeline">Timeline</option>
-        <option value="pipeline">Sequence</option>
+        <option value="timeline" ng-show="isNewActivitySetAllowed('timeline')">Timeline</option>
+        <option value="pipeline" ng-show="isNewActivitySetAllowed('pipeline')">Sequence</option>
       </select>
     </ul>