From 238d001f7fe128fb0d086feb7c30bab8084a18a4 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Thu, 20 Jun 2013 14:31:26 +0000 Subject: [PATCH 1/3] BUG 12141 "Error en la validacion de tipo de datos en un..." SOLVED - Error en la validacion de tipo de datos en un pmtable - Problema resuelto, cuando se crea un PM Table al adicionar un nuevo campo de tipo CHAR, VARCHAR y LONGVARCHAR, puede ser determinado como Primary Key. * Available from version ProcessMaker-2.5.1-testing.3 --- workflow/engine/templates/pmTables/edit.js | 109 ++++++++++++++------- 1 file changed, 72 insertions(+), 37 deletions(-) diff --git a/workflow/engine/templates/pmTables/edit.js b/workflow/engine/templates/pmTables/edit.js index 43c92c5bd..b70fd169e 100755 --- a/workflow/engine/templates/pmTables/edit.js +++ b/workflow/engine/templates/pmTables/edit.js @@ -119,20 +119,20 @@ Ext.onReady(function(){ } } }); - + var sizeField = new fm.NumberField({ name: 'sizeEdit', id: 'sizeEdit', allowBlank: true, allowDecimals: false, - allowNegative: false, + allowNegative: false, disabled: true, nanText: 'This field should content a number', minValue: 1, maxValue: 99, minLength: 0 }); - + //check column for tablesizeField columns grid var checkColumn = new Ext.grid.CheckColumn({ header: 'Filter', @@ -197,7 +197,7 @@ Ext.onReady(function(){ width: 75, editor: new fm.ComboBox({ typeAhead: true, - editable:true, + editable: false, lazyRender: true, mode: 'local', displayField:'type', @@ -217,42 +217,77 @@ Ext.onReady(function(){ Ext.getCmp('sizeEdit').setValue(''); } selCombo = combo.getValue(); - if(selCombo != 'DOUBLE' - && selCombo != 'TIME' - && selCombo != 'DATE' - && selCombo != 'DATETIME' - && selCombo != 'BOOLEAN' - && selCombo != 'REAL' - && selCombo != 'FLOAT') { - Ext.getCmp('sizeEdit').enable(); - } else { - Ext.getCmp('sizeEdit').disable(); + + var swSize = 1; //Enable + var swNull = 1; + var swPK = 1; + var swAI = 1; + + //Date + if (selCombo == "DATE" || selCombo == "DATETIME" || selCombo == "TIME") { + swSize = 0; //Disable + swPK = 0; + swAI = 0; } - if(selCombo == 'CHAR' || selCombo == 'VARCHAR') { - Ext.getCmp('sizeEdit').setMaxValue(((selCombo == 'CHAR')?255:999)); - sizeField.getEl().dom.maxLength = 3; - Ext.getCmp('field_null').enable(); - Ext.getCmp('field_null').setValue(true); - } else { - Ext.getCmp('sizeEdit').setMaxValue(99); - sizeField.getEl().dom.maxLength = 2; - Ext.getCmp('field_null').disable(); - Ext.getCmp('field_null').setValue(false); + + //Numbers + if (selCombo == "INTEGER" || selCombo == "BIGINT" || selCombo == "TINYINT" || selCombo == "SMALLINT") { + //Enable All } - if( selCombo == 'CHAR' - || selCombo == 'VARCHAR' - || selCombo == 'TIME' - || selCombo == 'DATE' - || selCombo == 'DATETIME' - || selCombo == 'BOOLEAN' - || selCombo == 'REAL' - || selCombo == 'FLOAT' - || selCombo == 'DOUBLE') { - Ext.getCmp('field_primary_key').disable(); - Ext.getCmp('field_incre').disable(); + + if (selCombo == "DECIMAL" || selCombo == "DOUBLE" || selCombo == "FLOAT" || selCombo == "REAL") { + swPK = 0; + swAI = 0; + } + + //String + if (selCombo == "CHAR" || selCombo == "VARCHAR" || selCombo == "LONGVARCHAR") { + swAI = 0; + } + + //Boolean + if (selCombo == "BOOLEAN") { + swSize = 0; + swNull = 0; + swPK = 0; + swAI = 0; + } + + if (swNull == 1) { + Ext.getCmp("field_null").enable(); } else { - Ext.getCmp('field_primary_key').enable(); - Ext.getCmp('field_incre').enable(); + Ext.getCmp("field_null").disable(); + Ext.getCmp("field_null").setValue(false); + } + + if (swPK == 1) { + Ext.getCmp("field_primary_key").enable(); + } else { + Ext.getCmp("field_primary_key").disable(); + Ext.getCmp("field_primary_key").setValue(false); + } + + if (swAI == 1) { + Ext.getCmp("field_incre").enable(); + } else { + Ext.getCmp("field_incre").disable(); + Ext.getCmp("field_incre").setValue(false); + + } + + if (swSize == 1) { + Ext.getCmp("sizeEdit").enable(); + + if (selCombo == "CHAR" || selCombo == "VARCHAR" || selCombo == "LONGVARCHAR") { + Ext.getCmp("sizeEdit").setMaxValue(((selCombo == "CHAR") ? 255 : 999)); + sizeField.getEl().dom.maxLength = 3; + } else { + Ext.getCmp("sizeEdit").setMaxValue(99); + sizeField.getEl().dom.maxLength = 2; + } + } else { + Ext.getCmp("sizeEdit").disable(); + Ext.getCmp("sizeEdit").setValue(""); } } }//select From 3ce4781c621ead3fc48bd643501fe143f49e77d7 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Date: Thu, 20 Jun 2013 16:16:36 -0400 Subject: [PATCH 2/3] BUG-12185 No se puede subir un archivo cuando eL... SOLVED - Al subir un file con el mismo nombre al servidor Alfresco devolvia un error de conflicto. - se captura el error y se devuelve un mensaje que el archivo ya existe. --- .../triggers/class.pmAlfrescoFunctions.php | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php b/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php index fee5e5835..abf399874 100755 --- a/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php +++ b/workflow/engine/classes/triggers/class.pmAlfrescoFunctions.php @@ -342,10 +342,22 @@ function uploadDoc($alfrescoServerUrl, $fileSource, $title, $description, $docTy $xmlData = '' . $title . '' . $description . '' . $fileContent . 'cmis:document'; $alfresco_exec = RestClient::post($alfresco_url, $xmlData, $user, $pwd, "application/atom+xml"); - $sXmlArray = $alfresco_exec->getResponse(); - $sXmlArray = trim($sXmlArray); - $xXmlArray = simplexml_load_string($sXmlArray); - $aXmlArray = @G::json_decode(@G::json_encode($xXmlArray), 1); - + $response = $alfresco_exec->getHeaders(); + switch ($response['code']) { + case '201': + //Created + $sXmlArray = $alfresco_exec->getResponse(); + $sXmlArray = trim($sXmlArray); + $xXmlArray = simplexml_load_string($sXmlArray); + $aXmlArray = @G::json_decode(@G::json_encode($xXmlArray), 1); + break; + case '409': + //file exists + $aXmlArray = 'There is already a file with the same name: ' . $title; + break; + default: + $aXmlArray = $response['message']; + break; + } return $aXmlArray; } From ab8624d7954633da2aefd988e7321b821118a2c6 Mon Sep 17 00:00:00 2001 From: jennylee Date: Thu, 20 Jun 2013 17:01:26 -0400 Subject: [PATCH 3/3] =?UTF-8?q?BUG=2011068=20Boton=20Continue=20no=20funci?= =?UTF-8?q?onaba=20al=20a=C3=B1r=20un=20nueevo=20Intermediate=20Message=20?= =?UTF-8?q?Event.=20SOLVED?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El boton 'Continue' estaba bloqueado y no se podia crear un nuevo Intermediate Message Event. Se arreglo la validacion que hacia q este boton funcione y ahora permite crear uno nuevo. --- workflow/engine/js/events/events.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/engine/js/events/events.js b/workflow/engine/js/events/events.js index 7f13e9084..1265576d1 100755 --- a/workflow/engine/js/events/events.js +++ b/workflow/engine/js/events/events.js @@ -9,7 +9,7 @@ var eventsNewAction = function(oForm) { return false; } - if (oForm.onsubmit()) { + if (oForm) { oRPC = new leimnud.module.rpc.xmlhttp({ url : '../events/eventsNewAction', method: 'POST', @@ -164,7 +164,7 @@ var EventCompose = function(t){ // previous calls for the old component // url : '../events/eventsAjax', // args: 'request=showDynavars', - // the control for assign dynavars is the same as + // the control for assign dynavars is the same as // the other sections inside processmaker url : '../controls/varsAjax', args: 'sSymbol=@@&displayOption=event'