CRM-16811 - Support markup fields in popup profile editor
[civicrm-core.git] / js / model / crm.uf.js
index cc81507931a7eb63ec21b7e74750651c384206d6..99d456e539467b76c1de659b596ec1bfe1e4e6c6 100644 (file)
@@ -97,6 +97,7 @@
       case 'Individual':
       case 'Organization':
       case 'Household':
+      case 'Formatting':
         return 'contact_1';
       case 'Activity':
         return 'activity_1';
       }
     },
     initialize: function() {
+      if (this.get('field_name').indexOf('formatting') === 0) {
+        this.schema.help_pre.title = ts('Markup');
+      }
       this.set('entity_name', CRM.UF.guessEntityName(this.get('field_type')));
       this.on("rel:ufGroupModel", this.applyDefaults, this);
       this.on('change', watchChanges);
       var entity_name = ufFieldModel.get('entity_name'),
         field_name = ufFieldModel.get('field_name'),
         fieldSchema = this.getRel('ufGroupModel').getFieldSchema(ufFieldModel.get('entity_name'), ufFieldModel.get('field_name'));
-
+      if (field_name.indexOf('formatting') === 0) {
+        return true;
+      }
       if (! fieldSchema) {
         return false;
       }
       return ufEntity.getModelClass();
     },
     getFieldSchema: function(entity_name, field_name) {
+      if (field_name.indexOf('formatting') === 0) {
+        field_name = 'formatting';
+      }
       var modelClass = this.getModelClass(entity_name);
       var fieldSchema = modelClass.prototype.schema[field_name];
       if (!fieldSchema) {
-        if (console.log) {
-          console.log('Failed to locate field: ' + entity_name + "." + field_name);
-        }
+        CRM.console('warn', 'Failed to locate field: ' + entity_name + "." + field_name);
         return null;
       }
       return fieldSchema;