From 2952dc61a6cf816fca392f5c4536cef5aa03dda2 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Mon, 7 Apr 2014 16:54:23 -0400 Subject: [PATCH] BUG 14398 "Mandatory upload field - Error message..." SOLVED - Mandatory upload field - Error message displays Tehnical fields name instead of it label - Problema resuelto, cuando se tiene campos requeridos en un dynaform al quitar esta restriccion con JavaScript que contiene el dynaform, al hacer click en el boton submit, processmaker valida campos requeridos mostrando un mensaje de error que emerge donde indica "(*) The field COUNTRY is required!". Este mensaje de error indica que existe un error en el nombre del campo "COUNTRY", esto se define al crear un campo el dynaform cuya representacion en XML es: Country of origin Se modifica el mensaje que emerge cuando son campos requeridos por el label del campo como se muestra en el ejemplo: "(*) The field Country of origin is required!". Disponible para la version 2.5.3 de ProcessMaker. --- workflow/engine/methods/cases/cases_SaveData.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php index f391fd96d..7721b9047 100644 --- a/workflow/engine/methods/cases/cases_SaveData.php +++ b/workflow/engine/methods/cases/cases_SaveData.php @@ -310,6 +310,16 @@ try { //$oJSON = new Services_JSON(); $_POST['__notValidateThisFields__'] = (isset( $_POST['__notValidateThisFields__'] ) && $_POST['__notValidateThisFields__'] != '') ? $_POST['__notValidateThisFields__'] : $_POST['DynaformRequiredFields']; if ($missing_req_values = $oForm->validateRequiredFields( $_POST['form'], Bootstrap::json_decode( stripslashes( $_POST['__notValidateThisFields__'] ) ) )) { + $fieldsRequired = Bootstrap::json_decode(str_replace(array("%27", "%39"), array("\"", "'"), $_POST["DynaformRequiredFields"])); + + foreach ($fieldsRequired as $key1 => $value1) { + foreach ($missing_req_values as $key2 => $value2) { + if ($value1->name == $value2) { + $missing_req_values[$key2] = $value1->label; + } + } + } + $_POST['next_step'] = $aNextStep; $_POST['previous_step'] = $oCase->getPreviousStep( $_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['STEP_POSITION'] ); $_POST['req_val'] = $missing_req_values;