- $msg
+ " . $this->getSessionMessageForSupervisor() . "
@@ -1323,6 +1294,7 @@ class PmDynaform
$this->getTheStringVariableForGoogleMaps() . "\n" .
"\n" .
"\n" .
+ $this->getSessionMessage() .
"
\n" .
"
\n" .
" \n" .
@@ -2238,4 +2210,53 @@ class PmDynaform
$result = 'var googleMaps = ' . G::json_encode($googleMaps) . ';';
return $result;
}
+
+ /**
+ * Get session message.
+ *
+ * @return string
+ *
+ * @see PmDynaform->printEdit()
+ * @see PmDynaform->printABE()
+ * @link https://wiki.processmaker.com/3.1/Multiple_File_Uploader#File_Extensions
+ */
+ public function getSessionMessage()
+ {
+ $message = "";
+ if (isset($_SESSION['G_MESSAGE_TYPE']) && isset($_SESSION['G_MESSAGE'])) {
+ $color = "green";
+ if ($_SESSION['G_MESSAGE_TYPE'] === "ERROR") {
+ $color = "red";
+ }
+ if ($_SESSION['G_MESSAGE_TYPE'] === "WARNING") {
+ $color = "#C3C380";
+ }
+ if ($_SESSION['G_MESSAGE_TYPE'] === "INFO") {
+ $color = "green";
+ }
+ $message = "
" . $_SESSION['G_MESSAGE_TYPE'] . ": " . $_SESSION['G_MESSAGE'] . "
";
+ unset($_SESSION['G_MESSAGE_TYPE']);
+ unset($_SESSION['G_MESSAGE']);
+ }
+ return $message;
+ }
+
+ /**
+ * Get session message for supervisor.
+ *
+ * @return string
+ *
+ * @see PmDynaform->printEditSupervisor();
+ * @link https://wiki.processmaker.com/3.1/Multiple_File_Uploader#File_Extensions
+ */
+ public function getSessionMessageForSupervisor()
+ {
+ $message = "";
+ if (isset($_SESSION["G_MESSAGE_TYPE"]) && isset($_SESSION["G_MESSAGE"])) {
+ $message = "
" . G::LoadTranslation("ID_INFO") . ": " . $_SESSION["G_MESSAGE"] . "
";
+ unset($_SESSION["G_MESSAGE_TYPE"]);
+ unset($_SESSION["G_MESSAGE"]);
+ }
+ return $message;
+ }
}
diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php
index a218bd604..fe69df0c2 100644
--- a/workflow/engine/methods/cases/cases_SaveData.php
+++ b/workflow/engine/methods/cases/cases_SaveData.php
@@ -50,12 +50,18 @@ if (!isset($_SESSION['USER_LOGGED'])) {
}
}
-ValidationUploadedFiles::getValidationUploadedFiles()->dispatch(function($validator) {
+/**
+ * To do: The following evaluation must be moved after saving the data (so as not to lose the data entered in the form).
+ * It only remains because it is an old behavior, which must be defined by "Product Owner".
+ * @see workflow/engine/methods/services/ActionsByEmailDataFormPost.php
+ */
+$validator = ValidationUploadedFiles::getValidationUploadedFiles()->runRulesForFileEmpty();
+if ($validator->fails()) {
G::SendMessageText($validator->getMessage(), "ERROR");
$url = explode("sys" . config("system.workspace"), $_SERVER['HTTP_REFERER']);
G::header("location: " . "/sys" . config("system.workspace") . $url[1]);
die();
-});
+}
try {
if ($_GET['APP_UID'] !== $_SESSION['APPLICATION']) {
diff --git a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php
index 1b0c83c09..32198a3d8 100644
--- a/workflow/engine/methods/services/ActionsByEmailDataFormPost.php
+++ b/workflow/engine/methods/services/ActionsByEmailDataFormPost.php
@@ -5,11 +5,26 @@
* @link https://wiki.processmaker.com/3.3/Actions_by_Email#Link_to_Fill_a_Form
*/
-use ProcessMaker\ChangeLog\ChangeLog;
use ProcessMaker\BusinessModel\Cases\InputDocument;
+use ProcessMaker\ChangeLog\ChangeLog;
+use ProcessMaker\Validation\ValidationUploadedFiles;
if (PMLicensedFeatures::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
+
+ /**
+ * To do: The following evaluation must be moved after saving the data (so as not to lose the data entered in the form).
+ * It only remains because it is an old behavior, which must be defined by "Product Owner".
+ * @see workflow/engine/methods/cases/cases_SaveData.php
+ */
+ $validator = ValidationUploadedFiles::getValidationUploadedFiles()->runRulesForFileEmpty();
+ if ($validator->fails()) {
+ G::SendMessageText($validator->getMessage(), "ERROR");
+ $url = explode("sys" . config("system.workspace"), $_SERVER['HTTP_REFERER']);
+ G::header("location: " . "/sys" . config("system.workspace") . $url[1]);
+ die();
+ }
+
$G_PUBLISH = new Publisher();
try {