Merged in bugfix/PMC-695 (pull request #6867)

PMC-695

Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
Roly
2019-04-26 19:20:05 +00:00
committed by Julio Cesar Laura Avendaño
3 changed files with 76 additions and 34 deletions

View File

@@ -1132,23 +1132,7 @@ class PmDynaform
if (!isset($this->fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["PREVIOUS_STEP"])) {
$this->fields["APP_DATA"]["__DYNAFORM_OPTIONS"]["PREVIOUS_STEP"] = "";
}
$msg = "";
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";
}
$msg = "<div style='background-color:" . $color . ";color: white;padding: 1px 2px 1px 5px;' class='userGroupTitle'>" . $_SESSION['G_MESSAGE_TYPE'] . ": " . $_SESSION['G_MESSAGE'] . "</div>";
unset($_SESSION['G_MESSAGE_TYPE']);
unset($_SESSION['G_MESSAGE']);
}
$title = $msg .
$title = $this->getSessionMessage() .
"<table width='100%' align='center'>\n" .
" <tr class='userGroupTitle'>\n" .
" <td width='100%' align='center'>" . G::LoadTranslation('ID_CASE') . " #: " . $this->fields["APP_NUMBER"] . "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . G::LoadTranslation('ID_TITLE') . ": " . $this->fields["APP_TITLE"] . "</td>\n" .
@@ -1199,19 +1183,8 @@ class PmDynaform
public function printEditSupervisor()
{
ob_clean();
$json = G::json_decode($this->record["DYN_CONTENT"]);
$this->jsonr($json);
$msg = "";
if (isset($_SESSION["G_MESSAGE_TYPE"]) && isset($_SESSION["G_MESSAGE"])) {
$msg = "<div style=\"margin: 1.2em; border: 1px solid #3C763D; padding: 0.5em; background: #B2D3B3;\"><strong>" . G::LoadTranslation("ID_INFO") . "</strong>: " . $_SESSION["G_MESSAGE"] . "</div>";
unset($_SESSION["G_MESSAGE_TYPE"]);
unset($_SESSION["G_MESSAGE"]);
}
$javascrip = "
<script type=\"text/javascript\">
var jsondata = " . G::json_encode($json) . ";
@@ -1234,11 +1207,9 @@ class PmDynaform
var leaveCaseWarning = " . $this->getLeaveCaseWarning() . ";
" . $this->getTheStringVariableForGoogleMaps() . "
</script>
<script type=\"text/javascript\" src=\"/jscore/cases/core/pmDynaform.js\"></script>
<div>
$msg
" . $this->getSessionMessageForSupervisor() . "
<div style=\"display: none;\">
<a id=\"dyn_forward\" href=\"javascript:;\"></a>
</div>
@@ -1323,6 +1294,7 @@ class PmDynaform
$this->getTheStringVariableForGoogleMaps() . "\n" .
"</script>\n" .
"<script type='text/javascript' src='/jscore/cases/core/pmDynaform.js'></script>\n" .
$this->getSessionMessage() .
"<div style='width:100%;padding: 0px 10px 0px 10px;margin:15px 0px 0px 0px;'>\n" .
" <a id='dyn_forward' href='' style='float:right;font-size:12px;line-height:1;margin:0px 5px 1px 0px;'>\n" .
" </a>\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 = "<div style='background-color:" . $color . ";color: white;padding: 1px 2px 1px 5px;' class='userGroupTitle'>" . $_SESSION['G_MESSAGE_TYPE'] . ": " . $_SESSION['G_MESSAGE'] . "</div>";
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 = "<div style=\"margin: 1.2em; border: 1px solid #3C763D; padding: 0.5em; background: #B2D3B3;\"><strong>" . G::LoadTranslation("ID_INFO") . "</strong>: " . $_SESSION["G_MESSAGE"] . "</div>";
unset($_SESSION["G_MESSAGE_TYPE"]);
unset($_SESSION["G_MESSAGE"]);
}
return $message;
}
}

View File

@@ -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']) {

View File

@@ -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 {