From bbfbfa46de6f9ec38dd7637af04487bda6155df3 Mon Sep 17 00:00:00 2001 From: Omar Suca Date: Thu, 8 Aug 2013 16:46:55 -0400 Subject: [PATCH 1/2] BUG-12488 Date fields are editable even when you not select this function and the fields of date have to be validate it Descripcion: You can edit the date field even if you don't select editable in the menu of a date field. Solucion: Se asigna las propiedades por default a cada campo de un formulario, asi para este bug en especifico se le asigna la propiedad "editable=0" al campo tipo "Date" --- workflow/engine/methods/dynaforms/fields_Save.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/dynaforms/fields_Save.php b/workflow/engine/methods/dynaforms/fields_Save.php index 669802b83..6d5b40a73 100755 --- a/workflow/engine/methods/dynaforms/fields_Save.php +++ b/workflow/engine/methods/dynaforms/fields_Save.php @@ -132,6 +132,9 @@ if (file_exists(PATH_XMLFORM . 'dynaforms/fields/' . $type . '.xml')) { } } } + if ($type === 'date' && isset($_POST['form']['PME_EDITABLE'])) { + $_POST['form']['PME_EDITABLE'] = (empty($_POST['form']['PME_EDITABLE'])) ? 0 : $_POST['form']['PME_EDITABLE']; + } } foreach ($_POST['form'] as $key => $value) { @@ -229,11 +232,10 @@ unset($FieldAttributes['XMLNODE_VALUE']); unset($FieldAttributes['BTN_CANCEL']); unset($FieldAttributes['SAVELABEL']); foreach ($FieldAttributes as $key => $value) { - if ($value != "") { + if (!empty($value) || is_integer($value)) { $FieldAttrib[strtolower($key)] = $value; } } - $fields->saveField($attributes, $FieldAttrib, $labels); G::LoadClass('xmlDb'); From dd90f8d3962f0ab3a21d88027930566adf594aff Mon Sep 17 00:00:00 2001 From: Omar Suca Date: Mon, 12 Aug 2013 10:56:10 -0400 Subject: [PATCH 2/2] BUG-12488 Date fields are editable even when you not select this function and the fields of date have to be validate it Descripcion: You can edit the date field even if you don't select editable in the menu of a date field. Solucion: Se asigna las propiedades por default a cada campo de un formulario, asi para este bug en especifico se le asigna la propiedad "editable=0" al campo tipo "Date". Se realiza la verificacion del tipo de propiedad que se asignara al campo --- workflow/engine/methods/dynaforms/fields_Save.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/dynaforms/fields_Save.php b/workflow/engine/methods/dynaforms/fields_Save.php index 6d5b40a73..e946ce71f 100755 --- a/workflow/engine/methods/dynaforms/fields_Save.php +++ b/workflow/engine/methods/dynaforms/fields_Save.php @@ -232,10 +232,21 @@ unset($FieldAttributes['XMLNODE_VALUE']); unset($FieldAttributes['BTN_CANCEL']); unset($FieldAttributes['SAVELABEL']); foreach ($FieldAttributes as $key => $value) { - if (!empty($value) || is_integer($value)) { - $FieldAttrib[strtolower($key)] = $value; + switch (gettype($value)) { + case 'string': + if (!empty($value)) { + $FieldAttrib[strtolower($key)] = $value; + } + break; + case 'integer': + $FieldAttrib[strtolower($key)] = $value; + break; + default: + //Nothing + break; } } + $fields->saveField($attributes, $FieldAttrib, $labels); G::LoadClass('xmlDb');