X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fform%2Fform.js;h=b9d30d39587b38f5b95a16a4e6712b045ddd69cb;hb=f44c5a4320e96117a4f463114e8adb10372cfb9e;hp=8cec1746ef487ca4efeb589f5e2dab949c3ef849;hpb=02b4adc22f4be31f0f846aea95a7e7ac4a806ae8;p=unfold.git diff --git a/plugins/form/form.js b/plugins/form/form.js index 8cec1746..b9d30d39 100644 --- a/plugins/form/form.js +++ b/plugins/form/form.js @@ -66,10 +66,6 @@ /* methods */ - this.on_result = function(data) { - - } - /** * \brief Validate the form * \param validate_callback (function) a callback to be triggered when validation is done @@ -83,32 +79,40 @@ // Loop on the fields and test regexp if present var err = false; var params = {} - $.each(options.columns, function(i, column) { - var value = frm.elements[column['field']].value; - var rx = column['validate_rx']; + $.each(options.fields, function(i, field) { + var value = frm.elements[field['field']].value; + var rx = field['validate_rx']; var str = ''; if (rx && !value.match(rx)) { - str = column['validate_err']; + str = field['validate_err']; err = true; } - params[column['field']] = value; - $('#err-' + options.plugin_uuid + '-' + column['field']).html(str); + params[field['field']] = value; + $('#err-' + options.plugin_uuid + '-' + field['field']).html(str); }); /* If the form correctly validates, we issue a create query */ if (!err) { var query = { 'action': 'create', - 'object': 'local:user', + 'object': options.object, 'params': params, }; /* Inform user about ongoing query: spinner */ - this.disable(); + this.enable(false); manifold.spin($obj); /* Issue json query and wait for callback */ - manifold.forward(query, this.onresult); + manifold.forward(query, function(data) { + manifold.spin($obj, false); + if (data.code != 0) { // ERROR OR WARNING, which we don't expect + alert("ERROR IN CALLING THE API"); + validate_callback(false); + return; + } + validate_callback(true); + }); } /* Note, if the create has already been done (or fails, or ... ?) @@ -122,7 +126,7 @@ /** * \brief Disable the form entirely, during a create query for example */ - this.disable = function() { + this.enable = function(is_enabled) { }