" . $this->getSessionMessageForSupervisor() . "
@@ -2629,4 +2638,46 @@ class PmDynaform
}
};
}
+
+ /**
+ * Get html navigation bar for steps to revise.
+ * @param string $appUid
+ * @param string $dynUid
+ * @param int $delIndex
+ * @return string
+ */
+ public static function navigationBarForStepsToRevise(string $appUid, string $dynUid, int $delIndex): string
+ {
+ $navbar = '';
+ $cases = new Cases();
+ $steps = $cases->getAllUrlStepsToRevise($appUid, $delIndex);
+ $n = count($steps);
+ foreach ($steps as $key => $step) {
+ if ($step['uid'] === $dynUid) {
+ $previousLabel = '';
+ $previousUrl = '';
+ $nextLabel = '';
+ $nextUrl = '';
+ if ($key - 1 >= 0) {
+ $previousLabel = G::LoadTranslation('ID_PREVIOUS');
+ $previousUrl = $steps[$key - 1]['url'];
+ }
+ if ($key + 1 < $n) {
+ $nextLabel = G::LoadTranslation('ID_NEXT');
+ $nextUrl = $steps[$key + 1]['url'];
+ }
+ $navbar = "
";
+ }
+ }
+ return $navbar;
+ }
}
diff --git a/workflow/engine/methods/cases/cases_StepToRevise.php b/workflow/engine/methods/cases/cases_StepToRevise.php
index 30d9ad870..e68448e40 100644
--- a/workflow/engine/methods/cases/cases_StepToRevise.php
+++ b/workflow/engine/methods/cases/cases_StepToRevise.php
@@ -1,28 +1,4 @@
.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- */
-// die("first");
-/* Permissions */
$filter = new InputFilter();
$_GET = $filter->xssFilterHard($_GET, "url");
@@ -151,7 +127,7 @@ if ($_GET['DYN_UID'] != '') {
$FieldsPmDynaform["CURRENT_DYNAFORM"] = $_GET['DYN_UID'];
$a = new PmDynaform($FieldsPmDynaform);
if ($a->isResponsive()) {
- $a->printEditSupervisor();
+ $a->printEditSupervisor(['DEL_INDEX' => $_GET['DEL_INDEX']]);
} else {
$G_PUBLISH->AddContent('dynaform', 'xmlform', $_SESSION['PROCESS'] . '/' . $_GET['DYN_UID'], '', $Fields['APP_DATA'], 'cases_SaveDataSupervisor?UID=' . $_GET['DYN_UID'] . '&ex=' . $_GET['ex']);
}
diff --git a/workflow/engine/methods/cases/cases_StepToReviseInputs.php b/workflow/engine/methods/cases/cases_StepToReviseInputs.php
index 077240d2b..c15021e75 100644
--- a/workflow/engine/methods/cases/cases_StepToReviseInputs.php
+++ b/workflow/engine/methods/cases/cases_StepToReviseInputs.php
@@ -1,28 +1,4 @@
.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- */
-//die("second");
-/* Permissions */
$filter = new InputFilter();
$_GET = $filter->xssFilterHard($_GET, "url");
@@ -119,13 +95,8 @@ if (! isset($_GET['INP_DOC_UID'])) {
$Fields['MESSAGE2'] = G::LoadTranslation('ID_PLEASE_SELECT_FILE');
$docName = $Fields['INP_DOC_TITLE'];
$oHeadPublisher->addScriptCode('var documentName=\'Reviewing Input Document
' . $docName . '\';');
- // $G_PUBLISH->AddContent('xmlform', 'xmlform', $sXmlForm, '', $Fields, 'cases_SupervisorSaveDocument?UID=' .
- //$_GET['INP_DOC_UID'] . '&APP_UID=' . $_GET['APP_UID'] . '&position=' . $_GET['position']);
- $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocumentsToRevise', 'cases/cases_ToReviseInputdocsList', $oCase->getInputDocumentsCriteria($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_GET['INP_DOC_UID']), array_merge(array('DOC_UID' => $_GET['INP_DOC_UID']
- ), $Fields));
- //$aFields
- // $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocuments', 'cases/cases_InputdocsList',
- //$oCase->getInputDocumentsCriteria($_SESSION['APPLICATION']));//$aFields
+ $G_PUBLISH->AddContent('view','cases/paged-table-inputDocumentsToReviseNavBar');
+ $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocumentsToRevise', 'cases/cases_ToReviseInputdocsList', $oCase->getInputDocumentsCriteria($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_GET['INP_DOC_UID']), array_merge(['DOC_UID' => $_GET['INP_DOC_UID']], $Fields));
}
G::RenderPage('publish', 'blank');
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
index 9cf14b4f8..53e1c2018 100755
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
@@ -58,6 +58,7 @@ use ProcessMaker\Model\GroupUser;
use ProcessMaker\Model\ListUnassigned;
use ProcessMaker\Model\Triggers;
use ProcessMaker\Model\ProcessUser;
+use ProcessMaker\Model\StepSupervisor;
use ProcessMaker\Model\Task;
use ProcessMaker\Model\User;
use ProcessMaker\Plugins\PluginRegistry;
@@ -4388,4 +4389,70 @@ class Cases
// Return results
return $dynaForms;
}
+
+ /**
+ * Get objects that they have send it.
+ * @param string $appUid
+ * @param string $typeObject
+ * @return array
+ */
+ public function getStepsToRevise(string $appUid, string $typeObject): array
+ {
+ $application = ModelApplication::where('APP_UID', '=', $appUid)
+ ->first();
+ $result = StepSupervisor::where('PRO_UID', '=', $application['PRO_UID'])->
+ where('STEP_TYPE_OBJ', '=', $typeObject)->
+ orderBy('STEP_POSITION', 'ASC')->
+ get()->
+ toArray();
+ return $result;
+ }
+
+ /**
+ * Get all url steps to revise.
+ * @param string $appUid
+ * @param int $delIndex
+ * @return array
+ */
+ public function getAllUrlStepsToRevise(string $appUid, int $delIndex): array
+ {
+ $result = [];
+ $dynaformStep = $this->getStepsToRevise($appUid, 'DYNAFORM');
+ $i = 0;
+ foreach ($dynaformStep as $step) {
+ $url = "cases_StepToRevise?"
+ . "type=DYNAFORM&"
+ . "ex={$i}&"
+ . "PRO_UID={$step["PRO_UID"]}&"
+ . "DYN_UID={$step['STEP_UID_OBJ']}&"
+ . "APP_UID={$appUid}&"
+ . "position={$step['STEP_POSITION']}&"
+ . "DEL_INDEX={$delIndex}";
+ $result[] = [
+ 'uid' => $step['STEP_UID_OBJ'],
+ 'url' => $url
+ ];
+ $i++;
+ }
+
+ $inputDocumentStep = $this->getStepsToRevise($appUid, 'INPUT_DOCUMENT');
+ $i = 0;
+ foreach ($inputDocumentStep as $step) {
+ $url = "cases_StepToReviseInputs?"
+ . "type=INPUT_DOCUMENT&"
+ . "ex={$i}&"
+ . "PRO_UID={$step["PRO_UID"]}&"
+ . "INP_DOC_UID={$step['STEP_UID_OBJ']}&"
+ . "APP_UID={$appUid}&"
+ . "position={$step['STEP_POSITION']}&"
+ . "DEL_INDEX={$delIndex}";
+ $result[] = [
+ 'uid' => $step['STEP_UID_OBJ'],
+ 'url' => $url
+ ];
+ $i++;
+ }
+ return $result;
+ }
+
}
diff --git a/workflow/engine/src/ProcessMaker/Model/StepSupervisor.php b/workflow/engine/src/ProcessMaker/Model/StepSupervisor.php
new file mode 100644
index 000000000..a40c8d172
--- /dev/null
+++ b/workflow/engine/src/ProcessMaker/Model/StepSupervisor.php
@@ -0,0 +1,17 @@
+'
+ . ''
+ . '
';
From 5d047be00e4c0477dc92602b306c61eb67a78605 Mon Sep 17 00:00:00 2001
From: Roly Gutierrez