589 var d = loadRemote('json', args, 'POST'); |
589 var d = loadRemote('json', args, 'POST'); |
590 } catch(ex) { |
590 } catch(ex) { |
591 log('got exception', ex); |
591 log('got exception', ex); |
592 return false; |
592 return false; |
593 } |
593 } |
594 function _callback(result, req) { |
594 d.addCallback(function(result, req) { |
595 handleFormValidationResponse(formid, onsuccess, onfailure, result); |
595 handleFormValidationResponse(formid, onsuccess, onfailure, result); |
596 } |
596 }); |
597 d.addCallback(_callback); |
|
598 return false; |
597 return false; |
599 } |
598 } |
600 |
|
601 |
|
602 |
|
603 // ======================= DEPRECATED FUNCTIONS ========================= // |
|
604 // (mostly reledit related) |
|
605 /** |
|
606 * .. function:: inlineValidateRelationFormOptions(rtype, eid, divid, options) |
|
607 * |
|
608 * called by reledit forms to submit changes |
|
609 * * `rtype`, the attribute being edited |
|
610 * |
|
611 * * `eid`, the eid of the entity being edited |
|
612 * |
|
613 * * `options`, a dictionnary of options used by the form validation handler such |
|
614 * as ``role``, ``onsuccess``, ``onfailure``, ``reload``, ``vid``, ``lzone`` |
|
615 * and ``default_value``: |
|
616 * |
|
617 * * `onsucess`, javascript function to execute on success, default is noop |
|
618 * |
|
619 * * `onfailure`, javascript function to execute on failure, default is noop |
|
620 * |
|
621 * * `default_value`, value if the field is empty |
|
622 * |
|
623 * * `lzone`, html fragment (string) for a clic-zone triggering actual edition |
|
624 */ |
|
625 |
|
626 |
|
627 showInlineEditionForm = cw.utils.deprecatedFunction( |
|
628 '[3.9] this is now unused by reledit (see cw.reledit.js)', |
|
629 function showInlineEditionForm(eid, rtype, divid) { |
|
630 jQuery('#' + divid).hide(); |
|
631 jQuery('#' + divid + '-value').hide(); |
|
632 jQuery('#' + divid + '-form').show(); |
|
633 } |
|
634 ); |
|
635 |
|
636 hideInlineEdit = cw.utils.deprecatedFunction( |
|
637 '[3.9] this is now unused by reledit (see cw.reledit.js)', |
|
638 function hideInlineEdit(eid, rtype, divid) { |
|
639 jQuery('#appMsg').hide(); |
|
640 jQuery('div.errorMessage').remove(); |
|
641 jQuery('#' + divid).show(); |
|
642 jQuery('#' + divid + '-value').show(); |
|
643 jQuery('#' + divid + '-form').hide(); |
|
644 } |
|
645 ); |
|
646 |
|
647 |
|
648 inlineValidateRelationFormOptions = cw.utils.deprecatedFunction( |
|
649 '[3.9] this is now unused by reledit (see cw.reledit.js)', |
|
650 function inlineValidateRelationFormOptions(rtype, eid, divid, options) { |
|
651 try { |
|
652 var form = cw.getNode(divid + '-form'); |
|
653 var relname = rtype + ':' + eid; |
|
654 var newtarget = jQuery('[name=' + relname + ']').val(); |
|
655 var zipped = cw.utils.formContents(form); |
|
656 var args = ajaxFuncArgs('validate_form', null, 'apply', zipped[0], zipped[1]); |
|
657 var d = loadRemote(JSON_BASE_URL, args, 'POST'); |
|
658 } catch(ex) { |
|
659 return false; |
|
660 } |
|
661 d.addCallback(function(result, req) { |
|
662 execFormValidationResponse(rtype, eid, divid, options, result); |
|
663 }); |
|
664 return false; |
|
665 }); |
|
666 |
|
667 execFormValidationResponse = cw.utils.deprecatedFunction( |
|
668 '[3.9] this is now unused by reledit (see cw.reledit.js)', |
|
669 function execFormValidationResponse(rtype, eid, divid, options, result) { |
|
670 options = $.extend({onsuccess: noop, |
|
671 onfailure: noop |
|
672 }, options); |
|
673 if (handleFormValidationResponse(divid + '-form', options.onsucess , options.onfailure, result)) { |
|
674 if (options.reload) { |
|
675 document.location.reload(); |
|
676 } else { |
|
677 var args = { |
|
678 fname: 'reledit_form', |
|
679 rtype: rtype, |
|
680 role: options.role, |
|
681 eid: eid, |
|
682 divid: divid, |
|
683 reload: options.reload, |
|
684 vid: options.vid, |
|
685 default_value: options.default_value, |
|
686 landing_zone: options.lzone |
|
687 }; |
|
688 jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post'); |
|
689 } |
|
690 } |
|
691 }); |
|
692 |
|
693 |
|
694 /** |
|
695 * .. function:: loadInlineEditionFormOptions(eid, rtype, divid, options) |
|
696 * |
|
697 * inline edition |
|
698 */ |
|
699 loadInlineEditionFormOptions = cw.utils.deprecatedFunction( |
|
700 '[3.9] this is now unused by reledit (see cw.reledit.js) ', |
|
701 function loadInlineEditionFormOptions(eid, rtype, divid, options) { |
|
702 var args = { |
|
703 fname: 'reledit_form', |
|
704 rtype: rtype, |
|
705 role: options.role, |
|
706 eid: eid, |
|
707 divid: divid, |
|
708 reload: options.reload, |
|
709 vid: options.vid, |
|
710 default_value: options.default_value, |
|
711 landing_zone: options.lzone, |
|
712 callback: function() { |
|
713 showInlineEditionForm(eid, rtype, divid); |
|
714 } |
|
715 }; |
|
716 jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post'); |
|
717 }); |
|
718 |
|
719 |
|
720 inlineValidateRelationForm = cw.utils.deprecatedFunction( |
|
721 '[3.9] inlineValidateRelationForm() function is deprecated, use inlineValidateRelationFormOptions instead', |
|
722 function(rtype, role, eid, divid, reload, vid, default_value, lzone, onsucess, onfailure) { |
|
723 try { |
|
724 var form = cw.getNode(divid + '-form'); |
|
725 var relname = rtype + ':' + eid; |
|
726 var newtarget = jQuery('[name=' + relname + ']').val(); |
|
727 var zipped = cw.utils.formContents(form); |
|
728 var d = asyncRemoteExec('validate_form', 'apply', zipped[0], zipped[1]); |
|
729 } catch(ex) { |
|
730 return false; |
|
731 } |
|
732 d.addCallback(function(result, req) { |
|
733 var options = {role : role, |
|
734 reload: reload, |
|
735 vid: vid, |
|
736 default_value: default_value, |
|
737 lzone: lzone, |
|
738 onsucess: onsucess || $.noop, |
|
739 onfailure: onfailure || $.noop |
|
740 }; |
|
741 execFormValidationResponse(rtype, eid, divid, options); |
|
742 }); |
|
743 return false; |
|
744 } |
|
745 ); |
|
746 |
|
747 loadInlineEditionForm = cw.utils.deprecatedFunction( |
|
748 '[3.9] loadInlineEditionForm() function is deprecated, use loadInlineEditionFormOptions instead', |
|
749 function(eid, rtype, role, divid, reload, vid, default_value, lzone) { |
|
750 var args = { |
|
751 fname: 'reledit_form', |
|
752 rtype: rtype, |
|
753 role: role, |
|
754 eid: eid, |
|
755 divid: divid, |
|
756 reload: reload, |
|
757 vid: vid, |
|
758 default_value: default_value, |
|
759 landing_zone: lzone, |
|
760 callback: function() { |
|
761 showInlineEditionForm(eid, rtype, divid); |
|
762 } |
|
763 }; |
|
764 jQuery('#' + divid + '-reledit').parent().loadxhtml(JSON_BASE_URL, args, 'post'); |
|
765 } |
|
766 ); |
|