diff -r ea1a44e4ad62 -r caad2367d940 web/data/cubicweb.edition.js --- a/web/data/cubicweb.edition.js Wed Jul 15 09:45:13 2009 +0200 +++ b/web/data/cubicweb.edition.js Thu Jul 16 13:30:13 2009 +0200 @@ -348,11 +348,11 @@ // Success if (result[0]) { if (onsuccess) { - return onsuccess(result[1], formid); + onsuccess(result[1], formid); } else { document.location.href = result[1]; - return ; } + return; } unfreezeFormButtons(formid); // Failures @@ -362,7 +362,7 @@ if ( !isArrayLike(descr) || descr.length != 2 ) { log('got strange error :', descr); updateMessage(descr); - return ; + return; } _displayValidationerrors(formid, descr[0], descr[1]); updateMessage(_("please correct errors below")); @@ -370,7 +370,7 @@ if (onfailure){ onfailure(formid); } - return false; + return; } @@ -422,7 +422,7 @@ }); } -$(document).ready(setFormsTarget); +jQuery(document).ready(setFormsTarget); /* @@ -454,9 +454,9 @@ * @param eid : the eid of the entity being edited * @param reload: boolean to reload page if true (when changing URL dependant data) */ -function inlineValidateAttributeForm(formid, rtype, eid, divid, reload, default_value) { +function inlineValidateAttributeForm(rtype, eid, divid, reload, default_value) { try { - var form = getNode(formid); + var form = getNode(divid+'-form'); if (typeof FCKeditorAPI != "undefined") { for ( var name in FCKeditorAPI.__Instances ) { var oEditor = FCKeditorAPI.__Instances[name] ; @@ -473,7 +473,7 @@ return false; } d.addCallback(function (result, req) { - handleFormValidationResponse(formid, noop, noop, result); + handleFormValidationResponse(divid+'-form', noop, noop, result); if (reload) { document.location.href = result[1]; } else { @@ -486,7 +486,7 @@ // hide global error messages jQuery('div.errorMessage').remove(); jQuery('#appMsg').hide(); - cancelInlineEdit(eid, rtype, divid); + hideInlineEdit(eid, rtype, divid); } } return false; @@ -494,30 +494,29 @@ return false; } -function inlineValidateRelationForm(formid, rtype, role, eid, divid, vid, default_value) { +function inlineValidateRelationForm(rtype, role, eid, divid, reload, vid, + default_value, lzone) { try { - var form = getNode(formid); + var form = getNode(divid+'-form'); var relname = rtype + ':' + eid; var newtarget = jQuery('[name=' + relname + ']').val(); var zipped = formContents(form); - var d = asyncRemoteExec('edit_relation', 'apply', zipped[0], zipped[1], rtype, role, - eid, vid, default_value); + var d = asyncRemoteExec('validate_form', 'apply', zipped[0], zipped[1]); } catch (ex) { log('got exception', ex); return false; } d.addCallback(function (result, req) { - handleFormValidationResponse(formid, noop, noop, result); - var fieldview = getNode(divid); - fieldview.innerHTML = result[2]; - // switch inline form off only if no error - if (result[0]) { - // hide global error messages - jQuery('div.errorMessage').remove(); - jQuery('#appMsg').hide(); - var inputname = 'edit' + role[0] + '-' + relname; - jQuery('input[name=' + inputname + ']').val(newtarget); - cancelInlineEdit(eid, rtype, divid); + handleFormValidationResponse(divid+'-form', noop, noop, result); + if (reload) { + document.location.href = result[1]; + } else { + if (result[0]) { + var d = asyncRemoteExec('reledit_form', eid, rtype, role, lzone); + d.addCallback(function (result) { + jQuery('#'+divid+'-reledit').replaceWith(result); + }); + } } return false; }); @@ -528,12 +527,12 @@ /**** inline edition ****/ function showInlineEditionForm(eid, rtype, divid) { jQuery('#' + divid).hide(); - jQuery('#' + divid + '-form').show(); + jQuery('#' + divid+'-form').show(); } -function cancelInlineEdit(eid, rtype, divid) { +function hideInlineEdit(eid, rtype, divid) { jQuery('#' + divid).show(); - jQuery('#' + divid + '-form').hide(); + jQuery('#' + divid+'-form').hide(); } CubicWeb.provide('edition.js');