[CORD-1856] Correctly parsing boolena default values

Change-Id: Id3ea018b95855105b60198231afcf8c2725c8eb6
diff --git a/src/app/core/services/helpers/config.helpers.spec.ts b/src/app/core/services/helpers/config.helpers.spec.ts
index f06fc4f..7718a44 100644
--- a/src/app/core/services/helpers/config.helpers.spec.ts
+++ b/src/app/core/services/helpers/config.helpers.spec.ts
@@ -211,6 +211,7 @@
 
       expect(cols[4]).not.toBeDefined();
     });
+
   });
 
   describe('the modelToTableCfg method', () => {
@@ -245,6 +246,26 @@
       expect(inputs[2].validators.min).toBe(20);
       expect(inputs[2].validators.max).toBe(40);
     });
+
+    it('should convert boolean defaults to real booleans', () => {
+      const fields: IXosModelDefsField[] = [
+        {
+          type: 'boolean',
+          name: 'active',
+          default: '"True"',
+          validators: []
+        },
+        {
+          type: 'boolean',
+          name: 'disabled',
+          default: '"False"',
+          validators: []
+        },
+      ];
+      const form_fields = service.modelFieldToInputCfg(fields);
+      expect(form_fields[0].default).toBe(true);
+      expect(form_fields[1].default).toBe(false);
+    });
   });
 
   describe('the modelToFormCfg method', () => {
diff --git a/src/app/core/services/helpers/config.helpers.ts b/src/app/core/services/helpers/config.helpers.ts
index c177568..e4a0a70 100644
--- a/src/app/core/services/helpers/config.helpers.ts
+++ b/src/app/core/services/helpers/config.helpers.ts
@@ -257,7 +257,7 @@
         type: f.type,
         validators: this.formatValidators(f.validators),
         hint: f.hint,
-        default: f.default || null
+        default: this.formatDefaultValues(f.default)
       };
 
       // NOTE populate drop-downs based on relation
@@ -277,6 +277,7 @@
   }
 
   public modelToFormCfg(model: IXosModeldef): IXosFormCfg {
+
     const formCfg: IXosFormCfg = {
       formName: `${model.name}Form`,
       exclude: this.form_excluded_fields,
@@ -338,6 +339,21 @@
     return formCfg;
   }
 
+  private formatDefaultValues(val: any): any {
+
+    if (angular.isString(val)) {
+      const unquoted = val.split('"').join('').toLowerCase();
+      if (unquoted === 'true') {
+        return true;
+      }
+      else if (unquoted === 'false') {
+        return false;
+      }
+    }
+
+    return val || undefined;
+  }
+
   private formatValidators(validators: IXosModelDefsFieldValidators[]): IXosFormInputValidator {
     // convert validators as expressed from modelDefs,
     // to the object required by xosForm