BUG 10148 I added validation to the function saveForm SOLVED

I added validation to the function saveForm
This commit is contained in:
Brayan Osmar Pereyra Suxo
2012-12-06 16:44:10 -04:00
parent 171b94ed1e
commit da560d606f
4 changed files with 11 additions and 8 deletions

View File

@@ -113,7 +113,7 @@
if (typeof(asynchronous)==='undefined') asynchronous = false; if (typeof(asynchronous)==='undefined') asynchronous = false;
data = parameters; data = parameters;
questionMark = (ajax_server.split('?').length > 1 ) ? '&' : '?'; questionMark = (ajax_server.split('?').length > 1 ) ? '&' : '?';
if (method==='GET/POST') { if ((method==='POST')||(method==='GET/POST')) {
objetus.open( 'POST', ajax_server + ((data.length<1024)?(questionMark+data):''), asynchronous ); objetus.open( 'POST', ajax_server + ((data.length<1024)?(questionMark+data):''), asynchronous );
} else { } else {
objetus.open( method, ajax_server + ((method==='GET')? questionMark+data : '') , asynchronous ); objetus.open( method, ajax_server + ((method==='GET')? questionMark+data : '') , asynchronous );
@@ -159,7 +159,11 @@
} else if(thisform.elements[i].type == "textarea") { //Handle textareas } else if(thisform.elements[i].type == "textarea") { //Handle textareas
formdata += thisform.elements[i].name + "=" + encodeURIComponent(thisform.elements[i].value); formdata += thisform.elements[i].name + "=" + encodeURIComponent(thisform.elements[i].value);
} else if(thisform.elements[i].type == "checkbox") { //Handle checkbox's } else if(thisform.elements[i].type == "checkbox") { //Handle checkbox's
formdata += thisform.elements[i].name + '=' + ((thisform.elements[i].checked)? '1': '0'); if (typeof(thisform.elements[i].value) != undefined) {
formdata += thisform.elements[i].name + '=' + thisform.elements[i].value;
} else {
formdata += thisform.elements[i].name + '=' + ((thisform.elements[i].checked)? '1': '0');
}
} else if(thisform.elements[i].type == "radio") { //Handle Radio buttons } else if(thisform.elements[i].type == "radio") { //Handle Radio buttons
if(thisform.elements[i].checked==true){ if(thisform.elements[i].checked==true){
formdata += thisform.elements[i].name + "=" + thisform.elements[i].value; formdata += thisform.elements[i].name + "=" + thisform.elements[i].value;

View File

@@ -420,14 +420,14 @@ if(method==='POST')objetus.setRequestHeader("Content-Type","application/x-www-fo
{alert("error"+ss.message);}} {alert("error"+ss.message);}}
function ajax_post(ajax_server,parameters,method,callback,asynchronous) function ajax_post(ajax_server,parameters,method,callback,asynchronous)
{var objetus;objetus=get_xmlhttp();var response;try {var objetus;objetus=get_xmlhttp();var response;try
{if(typeof(parameters)==='object')parameters=ajax_getForm(parameters);if(!method)method="POST";if(typeof(asynchronous)==='undefined')asynchronous=false;data=parameters;questionMark=(ajax_server.split('?').length>1)?'&':'?';if(method==='POST' || method==='GET/POST'){objetus.open('POST',ajax_server+((data.length<1024)?(questionMark+data):''),asynchronous);}else{objetus.open(method,ajax_server+((method==='GET')?questionMark+data:''),asynchronous);} {if(typeof(parameters)==='object')parameters=ajax_getForm(parameters);if(!method)method="POST";if(typeof(asynchronous)==='undefined')asynchronous=false;data=parameters;questionMark=(ajax_server.split('?').length>1)?'&':'?';if((method==='POST')||(method==='GET/POST')){objetus.open('POST',ajax_server+((data.length<1024)?(questionMark+data):''),asynchronous);}else{objetus.open(method,ajax_server+((method==='GET')?questionMark+data:''),asynchronous);}
objetus.onreadystatechange=function(){if(objetus.readyState==4) objetus.onreadystatechange=function(){if(objetus.readyState==4)
{if(objetus.status==200) {if(objetus.status==200)
{if(callback)callback(objetus.responseText);}}} {if(callback)callback(objetus.responseText);}}}
if((method==='POST')||(method==='GET/POST'))objetus.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");objetus.send(((method==='GET')?null:data));if(!asynchronous) if((method==='POST')||(method==='GET/POST'))objetus.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");objetus.send(((method==='GET')?null:data));if(!asynchronous)
{if(callback)callback(objetus.responseText);return objetus.responseText;}}catch(ss) {if(callback)callback(objetus.responseText);return objetus.responseText;}}catch(ss)
{alert("Error: "+var_dump(ss));}} {alert("Error: "+var_dump(ss));}}
function ajax_getForm(thisform){var formdata='';for(var i=0;i<thisform.length;i++){if(formdata!=='')formdata+='&';if(thisform.elements[i].type=="text"){formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}else if(thisform.elements[i].type=="textarea"){formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}else if(thisform.elements[i].type=="checkbox"){formdata+=thisform.elements[i].name+'='+((thisform.elements[i].checked)?'1':'0');}else if(thisform.elements[i].type=="radio"){if(thisform.elements[i].checked==true){formdata+=thisform.elements[i].name+"="+thisform.elements[i].value;}}else if(thisform.elements[i].type=="select-multiple"){for(var j=0;j<thisform.elements[i].options.length;j++){if(j!==0)formdata+='&';formdata+=((thisform.elements[i].options[j].selected)?thisform.elements[i].name.replace('[]','['+j+']')+"="+encodeURIComponent(thisform.elements[i].options[j].value):'');}}else{formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}} function ajax_getForm(thisform){var formdata='';for(var i=0;i<thisform.length;i++){if(formdata!=='')formdata+='&';if(thisform.elements[i].type=="text"){formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}else if(thisform.elements[i].type=="textarea"){formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}else if(thisform.elements[i].type=="checkbox"){if(typeof(thisform.elements[i].value)!=undefined){formdata+=thisform.elements[i].name+'='+thisform.elements[i].value;}else{formdata+=thisform.elements[i].name+'='+((thisform.elements[i].checked)?'1':'0');}}else if(thisform.elements[i].type=="radio"){if(thisform.elements[i].checked==true){formdata+=thisform.elements[i].name+"="+thisform.elements[i].value;}}else if(thisform.elements[i].type=="select-multiple"){for(var j=0;j<thisform.elements[i].options.length;j++){if(j!==0)formdata+='&';formdata+=((thisform.elements[i].options[j].selected)?thisform.elements[i].name.replace('[]','['+j+']')+"="+encodeURIComponent(thisform.elements[i].options[j].value):'');}}else{formdata+=thisform.elements[i].name+"="+encodeURIComponent(thisform.elements[i].value);}}
return formdata;} return formdata;}
function isNumber(sValue) function isNumber(sValue)
{var sValue=new String(sValue);var bDot=false;var i,sCharacter;if((sValue==null)||(sValue.length==0)) {var sValue=new String(sValue);var bDot=false;var i,sCharacter;if((sValue==null)||(sValue.length==0))
@@ -1169,7 +1169,7 @@ if(contracted)expandSubtitle(subTitleName);else contractSubtitle(subTitleName);}
function concat_collection(obj1,obj2){var i;var arr=new Array();var len1=obj1.length;var len2=obj2.length;for(i=0;i<len1;i++){arr.push(obj1[i]);} function concat_collection(obj1,obj2){var i;var arr=new Array();var len1=obj1.length;var len2=obj2.length;for(i=0;i<len1;i++){arr.push(obj1[i]);}
for(i=0;i<len2;i++){arr.push(obj2[i]);} for(i=0;i<len2;i++){arr.push(obj2[i]);}
return arr;} return arr;}
var getControlsInTheRow=function(oRow){var aAux1=[];if(oRow.cells){var i;var j;var sFieldName;for(i=0;i<oRow.cells.length;i++){var aAux2=oRow.cells[i].getElementsByTagName('input');aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('a'));aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('select'));aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('textarea'));if(aAux2){for(j=0;j<aAux2.length;j++){sFieldName=aAux2[j].id.replace('form[','');console.info(sFieldName);sFieldName=sFieldName.replace(/]$/,'');if(sFieldName!=''){aAux1.push(sFieldName);}}}}} var getControlsInTheRow=function(oRow){var aAux1=[];if(oRow.cells){var i;var j;var sFieldName;for(i=0;i<oRow.cells.length;i++){var aAux2=oRow.cells[i].getElementsByTagName('input');aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('a'));aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('select'));aAux2=concat_collection(aAux2,oRow.cells[i].getElementsByTagName('textarea'));if(aAux2){for(j=0;j<aAux2.length;j++){sFieldName=aAux2[j].id.replace('form[','');sFieldName=sFieldName.replace(/]$/,'');if(sFieldName!=''){aAux1.push(sFieldName);}}}}}
return aAux1;};var notValidateThisFields=[];function getElementsByClassNameCrossBrowser(searchClass,node,tag){var classElements=new Array();if(node==null) return aAux1;};var notValidateThisFields=[];function getElementsByClassNameCrossBrowser(searchClass,node,tag){var classElements=new Array();if(node==null)
node=document;if(tag==null) node=document;if(tag==null)
tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}} tag='*';var els=node.getElementsByTagName(tag);var elsLen=els.length;var pattern=new RegExp("(^|\\s)"+searchClass+"(\\s|$)");for(i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}
@@ -3207,4 +3207,4 @@ newBlockName=newBlockName||'P';if(isCaretAtStartOrEndOfBlock()){if(/^(H[1-6]|PRE
if(settings.end_container_on_empty_block&&canSplitBlock(containerBlock)&&dom.isEmpty(parentBlock)){newBlock=dom.split(containerBlock,parentBlock);}else{dom.insertAfter(newBlock,parentBlock);} if(settings.end_container_on_empty_block&&canSplitBlock(containerBlock)&&dom.isEmpty(parentBlock)){newBlock=dom.split(containerBlock,parentBlock);}else{dom.insertAfter(newBlock,parentBlock);}
moveToCaretPosition(newBlock);}else if(isCaretAtStartOrEndOfBlock(true)){newBlock=parentBlock.parentNode.insertBefore(createNewBlock(),parentBlock);renderBlockOnIE(newBlock);}else{tmpRng=rng.cloneRange();tmpRng.setEndAfter(parentBlock);fragment=tmpRng.extractContents();trimLeadingLineBreaks(fragment);newBlock=fragment.firstChild;dom.insertAfter(fragment,parentBlock);trimInlineElementsOnLeftSideOfBlock(newBlock);addBrToBlockIfNeeded(parentBlock);moveToCaretPosition(newBlock);} moveToCaretPosition(newBlock);}else if(isCaretAtStartOrEndOfBlock(true)){newBlock=parentBlock.parentNode.insertBefore(createNewBlock(),parentBlock);renderBlockOnIE(newBlock);}else{tmpRng=rng.cloneRange();tmpRng.setEndAfter(parentBlock);fragment=tmpRng.extractContents();trimLeadingLineBreaks(fragment);newBlock=fragment.firstChild;dom.insertAfter(fragment,parentBlock);trimInlineElementsOnLeftSideOfBlock(newBlock);addBrToBlockIfNeeded(parentBlock);moveToCaretPosition(newBlock);}
dom.setAttrib(newBlock,'id','');undoManager.add();} dom.setAttrib(newBlock,'id','');undoManager.add();}
editor.onKeyDown.add(function(ed,evt){if(evt.keyCode==13){if(handleEnterKey(evt)!==false){evt.preventDefault();}}});};})(tinymce); editor.onKeyDown.add(function(ed,evt){if(evt.keyCode==13){if(handleEnterKey(evt)!==false){evt.preventDefault();}}});};})(tinymce);

View File

@@ -2916,7 +2916,7 @@ class XmlForm_Field_Checkbox extends XmlForm_Field
*/ */
public function maskValue ($value, &$owner) public function maskValue ($value, &$owner)
{ {
return ($value === $this->value || $value == 1) ? $this->value : $this->falseValue; return ($value === $this->value) ? $value : $this->falseValue;
} }
} }

View File

@@ -25,7 +25,6 @@
try { try {
if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) { if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) {
throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('<a href=\'' . $_SERVER['HTTP_REFERER'] . '\'>{1}</a>',G::LoadTranslation( 'ID_REOPEN' ) throw new Exception( G::LoadTranslation( 'ID_INVALID_APPLICATION_ID_MSG', array ('<a href=\'' . $_SERVER['HTTP_REFERER'] . '\'>{1}</a>',G::LoadTranslation( 'ID_REOPEN' )
) ) ); ) ) );