diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 24b73383c..30091b7e5 100755 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -26063,6 +26063,12 @@ msgstr "You must login again to view the changes. Do you want do it now?" msgid "System Settings" msgstr "System Settings" +# TRANSLATION +# LABEL/ID_SYSTEM_VARIABLES_ARE_PROTECTED +#: LABEL/ID_SYSTEM_VARIABLES_ARE_PROTECTED +msgid "System variables are protected from changes, this request is denied" +msgstr "System variables are protected from changes, this request is denied" + # TRANSLATION # LABEL/ID_TABLE #: LABEL/ID_TABLE diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index df46a9d18..ad4443d74 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -61281,6 +61281,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_SYSTEM_INFO','en','System information','2014-01-15') , ( 'LABEL','ID_SYSTEM_REDIRECT_CONFIRM','en','You must login again to view the changes. Do you want do it now?','2015-01-16') , ( 'LABEL','ID_SYSTEM_SETTINGS','en','System Settings','2014-01-15') , +( 'LABEL','ID_SYSTEM_VARIABLES_ARE_PROTECTED','en','System variables are protected from changes, this request is denied','2022-03-24') , ( 'LABEL','ID_TABLE','en','Table','2014-01-15') , ( 'LABEL','ID_TABLES_REMOVED_SUCCESSFULLY','en','tables removed Successfully','2014-01-15') , ( 'LABEL','ID_TABLES_REMOVED_WITH_ERRORS','en','tables removed but with errors','2014-01-15') , diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index a160091da..c13d0cb80 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1972,6 +1972,13 @@ class Cases Validator::isArray($app_data, '$app_data'); Validator::isString($usr_uid, '$usr_uid'); Validator::usrUid($usr_uid, '$usr_uid'); + // Validate the system variables + $systemVars = G::getSystemConstants(); + foreach ($systemVars as $key => $var) { + if (array_key_exists($key, $app_data)) { + throw new Exception(G::LoadTranslation("ID_CAN_NOT_CHANGE")); + } + } $arrayResult = $this->getStatusInfo($app_uid);