diff options
| -rw-r--r-- | app/index.js | 3 | ||||
| -rw-r--r-- | app/node_modules/okschema/index.js | 12 | ||||
| -rw-r--r-- | themes/okadmin/templates/index.liquid | 3 | ||||
| -rw-r--r-- | themes/okadmin/templates/partials/inputs.liquid | 4 |
4 files changed, 19 insertions, 3 deletions
diff --git a/app/index.js b/app/index.js index d487bd7..5ac88dd 100644 --- a/app/index.js +++ b/app/index.js @@ -40,7 +40,8 @@ function OKCMS(options) { var metaUser = options.meta || {}; var metaDefault = { - project: 'OKCMS' + project: 'OKCMS', + debug: debug }; var meta = assign({ diff --git a/app/node_modules/okschema/index.js b/app/node_modules/okschema/index.js index d53ed7b..c5a56c4 100644 --- a/app/node_modules/okschema/index.js +++ b/app/node_modules/okschema/index.js @@ -68,6 +68,9 @@ var types = { * OKSchema! * Meant as a thin wrapper around some existing schema validation * module, mostly to allow for the extension of types. + * + * NOTE: Currently just assumes spec is valid. If you give a bad spec + * strange things may or may not happen */ function OKSchema(spec) { if (!(this instanceof OKSchema)) return new OKSchema(spec); @@ -138,11 +141,18 @@ OKSchema.prototype.assertValid = function(data) { var type = spec[prop].type; if (types[type]) { types[type].assertValid(spec[prop], data[prop]); + // Also check if it's a number type and try to cast it + // otherwise pass and let mschema handle + } else if (type === 'number') { + try { + data[prop] = parseFloat(data[prop]); + } catch (err) {} } }); var result = mschema.validate(data, this.toMschema()); - if (!result.valid) + if (!result.valid) { throw result.errors; + } }; /** diff --git a/themes/okadmin/templates/index.liquid b/themes/okadmin/templates/index.liquid index d25100f..e9ad538 100644 --- a/themes/okadmin/templates/index.liquid +++ b/themes/okadmin/templates/index.liquid @@ -17,7 +17,8 @@ {% for data in resource.data %} <li> <a href="{{resource.type}}/{{data.id}}/">{{data.title}}</a> - <input class="resource-input" type="hidden" name="{{resource.type}}[{{forloop.index0}}]" value='{{data | stringify}}'> + <input class="resource-input" type="hidden" name="{{resource.type}}[{{forloop.index0}}]" + value='{{data | stringify | escape_once}}'> </li> {% endfor %} </ol> diff --git a/themes/okadmin/templates/partials/inputs.liquid b/themes/okadmin/templates/partials/inputs.liquid index c9a4d92..4d31413 100644 --- a/themes/okadmin/templates/partials/inputs.liquid +++ b/themes/okadmin/templates/partials/inputs.liquid @@ -12,6 +12,10 @@ {% elsif type == 'text' %} <textarea name="{{name}}">{{spec.value}}</textarea> + {% elsif type == 'number' %} + <input + type="number" + name="{{name}}" value="{{spec.value}}"> {% elsif type == 'enum' %} <select name="{{name}}"> |
