more work on profile builder, set correct filter defaults
authorkurund <kurund@civicrm.org>
Fri, 24 Jan 2014 09:52:47 +0000 (01:52 -0800)
committerkurund <kurund@civicrm.org>
Fri, 24 Jan 2014 09:52:47 +0000 (01:52 -0800)
js/model/crm.uf.js
js/view/crm.profile-selector.js

index 79d43a7a6da4cb53b0a4186b23fed170c94a3d37..2fd7209906c94063a47e986b872e03b98de0a128 100644 (file)
       });
       return allMatched;
     },
+    getUFGroupModel: function() {
+      var ufGroupModel = this;
+
+      // set proper entity model based on selected profile
+      var contactTypes = ['Individual', 'Household', 'Organization'];
+      var profileType = ufGroupModel.get('group_type');
+      profileType = profileType.split(',');
+      var ufEntityModel;
+      _.each(profileType, function (ptype) {
+        if ($.inArray(ptype, contactTypes) > -1) {
+          ufEntityModel = [
+            {'entity_name': 'contact_1', 'entity_type': ptype + 'Model'}
+          ];
+          return true;
+        }
+      });
+
+      return ufEntityModel;
+    },
     resetEntities: function() {
       var ufGroupModel = this;
       var deleteFieldList = [];
index 19660552f86e7468f1859c806dc7d45445a49561..3cc048897ef5f8d5c3e05a75a2dc997c9934a257 100644 (file)
             success: function(formData) {
               // Note: With chaining, API returns some extraneous keys that aren't part of UFGroupModel
               var ufGroupModel = new CRM.UF.UFGroupModel(_.pick(formData, _.keys(CRM.UF.UFGroupModel.prototype.schema)));
-              ufGroupModel.getRel('ufEntityCollection').reset(profileSelectorView.options.ufEntities);
+              ufGroupModel.getRel('ufEntityCollection').reset(ufGroupModel.getUFGroupModel());
               ufGroupModel.getRel('ufFieldCollection').reset(_.values(formData["api.UFField.get"].values));
               options.onLoad(ufGroupModel);
             }
             success: function(formData) {
               // Note: With chaining, API returns some extraneous keys that aren't part of UFGroupModel
               var ufGroupModel = new CRM.UF.UFGroupModel(_.pick(formData, _.keys(CRM.UF.UFGroupModel.prototype.schema)));
-              ufGroupModel.getRel('ufEntityCollection').reset(profileSelectorView.options.ufEntities);
+              ufGroupModel.getRel('ufEntityCollection').reset(ufGroupModel.getUFGroupModel());
               ufGroupModel.getRel('ufFieldCollection').reset(_.values(formData["api.UFField.get"].values));
               options.onLoad(ufGroupModel.deepCopy());
             }