allow creation of new case type CRM-14480
authorkurund <kurund@civicrm.org>
Thu, 29 May 2014 16:43:20 +0000 (22:13 +0530)
committerkurund <kurund@civicrm.org>
Thu, 29 May 2014 16:43:20 +0000 (22:13 +0530)
----------------------------------------
* CRM-14480: Implement "Edit Case Type" screen
  https://issues.civicrm.org/jira/browse/CRM-14480

js/angular-crmCaseType.js
partials/crmCaseType/caseTypeDetails.html
partials/crmCaseType/list.html

index ddcd34f04af0c1a51cf9627fde6849eda8165dbd..4ce66ac555a54b21a5d2a3114ee6d3e6d1230775 100644 (file)
@@ -8,8 +8,7 @@
 
   var newCaseTypeDefinitionTemplate = {
     activityTypes: [
-      {name: 'Open Case', max_instances: 1 },
-      {name: 'Example activity'}
+      {name: 'Open Case', max_instances: 1 }
     ],
     activitySets: [
       {
@@ -17,8 +16,7 @@
         label: 'Standard Timeline',
         timeline: '1', // Angular won't bind checkbox correctly with numeric 1
         activityTypes: [
-          {name: 'Open Case', status: 'Completed' },
-          {name: 'Example activity', reference_activity: 'Open Case', reference_offset: 3, reference_select: 'newest'}
+          {name: 'Open Case', status: 'Completed' }
         ]
       }
     ],
         controller: 'CaseTypeCtrl',
         resolve: {
           selectedCaseType: function($route, crmApi) {
-            return crmApi('CaseType', 'getsingle', {id: $route.current.params.id});
+            if ( $route.current.params.id !== 'new') {
+              return crmApi('CaseType', 'getsingle', {id: $route.current.params.id});
+            }
+            else {
+              return { title: "New case type", name: "New case type", definition: _.extend({}, newCaseTypeDefinitionTemplate) };
+            }
           }
         }
       });
@@ -78,7 +81,7 @@
     };
 
     $scope.caseType = selectedCaseType;
-    $scope.caseType.definition = $scope.caseType.definition || _.extend({}, newCaseTypeDefinitionTemplate);
+    $scope.caseType.definition = $scope.caseType.definition || [];
     $scope.caseType.definition.activityTypes = $scope.caseType.definition.activityTypes || [];
     $scope.caseType.definition.activitySets = $scope.caseType.definition.activitySets || [];
     $scope.caseType.definition.caseRoles = $scope.caseType.definition.caseRoles || [];
index 912b40745a614410fcfed84c4ba855b1e041cc40..c70c889480ff85949d2cf33e7ea6a0b0247e763b 100644 (file)
@@ -15,7 +15,7 @@ The original form used table layout; don't know if we have an alternative, CSS-b
   <tr>
     <td class="label">Name</td>
     <td>
-      <input type="text" ng-model="name"/> <!-- FIXME lock -->
+      <input type="text" ng-model="caseType.name"/> <!-- FIXME lock -->
     </td>
   </tr>
   <tr>
index af75e521760db269501991b7e3565332476387e2..d3e0923b2a2d7b30e06551ea3af0cbf892b23c5c 100644 (file)
@@ -6,4 +6,6 @@ Required vars: caseTypes
   <li ng-repeat="caseType in caseTypes">
     <a ng-href="#/caseType/{{caseType.id}}">{{caseType.title}}</a>
   </li>
-</ul>
\ No newline at end of file
+</ul>
+
+<a ng-href="#/caseType/new">New Case</a>
\ No newline at end of file