more fixes to profile builder
authorkurund <kurund@civicrm.org>
Fri, 24 Jan 2014 22:05:27 +0000 (14:05 -0800)
committerkurund <kurund@civicrm.org>
Fri, 24 Jan 2014 22:05:27 +0000 (14:05 -0800)
js/model/crm.uf.js
js/view/crm.profile-selector.js

index 2fd7209906c94063a47e986b872e03b98de0a128..907e108d45cd439cffc17cb927ebd28f6d7e792f 100644 (file)
       var ufEntityModel;
       _.each(profileType, function (ptype) {
         if ($.inArray(ptype, contactTypes) > -1) {
-          ufEntityModel = [
-            {'entity_name': 'contact_1', 'entity_type': ptype + 'Model'}
-          ];
+          ufEntityModel = ptype + 'Model';
           return true;
         }
       });
 
       return ufEntityModel;
     },
+    setUFGroupModel: function(entityType, allEntityModels) {
+      var ufGroupModel = this;
+
+      var newUfEntityModels = [];
+      _.each(allEntityModels, function (values) {
+        if (values.entity_name == 'contact_1') {
+          values.entity_type = entityType;
+        }
+        newUfEntityModels.push(new CRM.UF.UFEntityModel(values));
+      });
+
+      ufGroupModel.getRel('ufEntityCollection').reset(newUfEntityModels);
+    },
     resetEntities: function() {
       var ufGroupModel = this;
       var deleteFieldList = [];
index 3cc048897ef5f8d5c3e05a75a2dc997c9934a257..75977cc83d67dff19cae240f2629420d6377edac 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(ufGroupModel.getUFGroupModel());
+              ufGroupModel.setUFGroupModel(ufGroupModel.getUFGroupModel(), profileSelectorView.options.ufEntities);
               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(ufGroupModel.getUFGroupModel());
+              ufGroupModel.setUFGroupModel(ufGroupModel.getUFGroupModel(), profileSelectorView.options.ufEntities);
               ufGroupModel.getRel('ufFieldCollection').reset(_.values(formData["api.UFField.get"].values));
               options.onLoad(ufGroupModel.deepCopy());
             }