PMCORE-927
This commit is contained in:
@@ -130,8 +130,8 @@ class CaseTrackerObject extends BaseCaseTrackerObject
|
|||||||
) );
|
) );
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
} catch (Exception $oException) {
|
} catch (Exception $e) {
|
||||||
throw $Exception;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ class CaseTrackerObject extends BaseCaseTrackerObject
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyDynaformAssigCaseTracker ($dynUid, $proUid)
|
public static function verifyDynaformAssigCaseTracker ($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$res = array();
|
$res = array();
|
||||||
$oCriteria = new Criteria();
|
$oCriteria = new Criteria();
|
||||||
|
|||||||
@@ -705,7 +705,7 @@ class Dynaform extends BaseDynaform
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyDynaformAssignDynaform ($dynUid, $proUid)
|
public static function verifyDynaformAssignDynaform ($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$res = array();
|
$res = array();
|
||||||
$oCriteria = new Criteria();
|
$oCriteria = new Criteria();
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ class ObjectPermission extends BaseObjectPermission
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyDynaformAssigObjectPermission ($dynUid, $proUid)
|
public static function verifyDynaformAssigObjectPermission ($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$res = array();
|
$res = array();
|
||||||
$oCriteria = new Criteria();
|
$oCriteria = new Criteria();
|
||||||
|
|||||||
@@ -230,8 +230,8 @@ class Step extends BaseStep
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$aRow = $oDataset->getRow();
|
$aRow = $oDataset->getRow();
|
||||||
return (int) $aRow['POSITION'];
|
return (int) $aRow['POSITION'];
|
||||||
} catch (Exception $oException) {
|
} catch (Exception $exception) {
|
||||||
throw $Exception;
|
throw $exception;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -413,7 +413,7 @@ class Step extends BaseStep
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyDynaformAssigStep ($dynUid, $proUid)
|
public static function verifyDynaformAssigStep ($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$res = array();
|
$res = array();
|
||||||
$oCriteria = new Criteria();
|
$oCriteria = new Criteria();
|
||||||
@@ -432,7 +432,7 @@ class Step extends BaseStep
|
|||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAttribute ($node, $attName)
|
public static function getAttribute ($node, $attName)
|
||||||
{
|
{
|
||||||
|
|
||||||
foreach ($node->attributes as $attribute) {
|
foreach ($node->attributes as $attribute) {
|
||||||
|
|||||||
@@ -166,8 +166,8 @@ class StepSupervisor extends BaseStepSupervisor
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$aRow = $oDataset->getRow();
|
$aRow = $oDataset->getRow();
|
||||||
return (int) $aRow['POSITION'];
|
return (int) $aRow['POSITION'];
|
||||||
} catch (Exception $oException) {
|
} catch (Exception $e) {
|
||||||
throw $Exception;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,8 +189,8 @@ class StepSupervisor extends BaseStepSupervisor
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$aRow = $oDataset->getRow();
|
$aRow = $oDataset->getRow();
|
||||||
return (int) $aRow['POSITION'];
|
return (int) $aRow['POSITION'];
|
||||||
} catch (Exception $oException) {
|
} catch (Exception $e) {
|
||||||
throw $Exception;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,8 +217,8 @@ class StepSupervisor extends BaseStepSupervisor
|
|||||||
$this->update( array ('STEP_UID' => $aRow['STEP_UID'],'PRO_UID' => $aRow['PRO_UID'],'STEP_TYPE_OBJ' => $aRow['STEP_TYPE_OBJ'],'STEP_UID_OBJ' => $aRow['STEP_UID_OBJ'],'STEP_POSITION' => $aRow['STEP_POSITION'] - 1
|
$this->update( array ('STEP_UID' => $aRow['STEP_UID'],'PRO_UID' => $aRow['PRO_UID'],'STEP_TYPE_OBJ' => $aRow['STEP_TYPE_OBJ'],'STEP_UID_OBJ' => $aRow['STEP_UID_OBJ'],'STEP_POSITION' => $aRow['STEP_POSITION'] - 1
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
} catch (Exception $oException) {
|
} catch (Exception $e) {
|
||||||
throw $Exception;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ class StepSupervisor extends BaseStepSupervisor
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyDynaformAssigStepSupervisor ($dynUid, $proUid)
|
public static function verifyDynaformAssigStepSupervisor ($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$res = array();
|
$res = array();
|
||||||
$oCriteria = new Criteria();
|
$oCriteria = new Criteria();
|
||||||
|
|||||||
@@ -7181,6 +7181,36 @@ msgstr "Copy/Import Dynaform"
|
|||||||
msgid "Select the dynaform you want to copy/import."
|
msgid "Select the dynaform you want to copy/import."
|
||||||
msgstr "Select the dynaform you want to copy/import."
|
msgstr "Select the dynaform you want to copy/import."
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_DYNAFORM_DEPENDS_DYNAFORMS
|
||||||
|
#: LABEL/ID_DYNAFORM_DEPENDS_DYNAFORMS
|
||||||
|
msgid "({0}) Depends in dynaform"
|
||||||
|
msgstr "({0}) Depends in dynaform"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_DYNAFORM_DEPENDS_CASE_TRACKER
|
||||||
|
#: LABEL/ID_DYNAFORM_DEPENDS_CASE_TRACKER
|
||||||
|
msgid "({0}) Depends in case traker"
|
||||||
|
msgstr "({0}) Depends in case traker"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_DYNAFORM_DEPENDS_PERMISSIONS
|
||||||
|
#: LABEL/ID_DYNAFORM_DEPENDS_PERMISSIONS
|
||||||
|
msgid "({0}) Depends in permissions"
|
||||||
|
msgstr "({0}) Depends in permissions"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_DYNAFORM_DEPENDS_STEPS
|
||||||
|
#: LABEL/ID_DYNAFORM_DEPENDS_STEPS
|
||||||
|
msgid "({0}) Depends in steps"
|
||||||
|
msgstr "({0}) Depends in steps"
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_DYNAFORM_DEPENDS_STEPS_SUPERVISOR
|
||||||
|
#: LABEL/ID_DYNAFORM_DEPENDS_STEPS_SUPERVISOR
|
||||||
|
msgid "({0}) Depends in steps supervisor"
|
||||||
|
msgstr "({0}) Depends in steps supervisor"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_DYNAFORM_DOES_NOT_EXIST
|
# LABEL/ID_DYNAFORM_DOES_NOT_EXIST
|
||||||
#: LABEL/ID_DYNAFORM_DOES_NOT_EXIST
|
#: LABEL/ID_DYNAFORM_DOES_NOT_EXIST
|
||||||
|
|||||||
@@ -58034,6 +58034,11 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_DYNAFORM_ASSIGN_FAILED','en','Failed saving DynaForm assigned to the process.','2015-01-16') ,
|
( 'LABEL','ID_DYNAFORM_ASSIGN_FAILED','en','Failed saving DynaForm assigned to the process.','2015-01-16') ,
|
||||||
( 'LABEL','ID_DYNAFORM_COPY','en','Copy/Import Dynaform','2014-01-15') ,
|
( 'LABEL','ID_DYNAFORM_COPY','en','Copy/Import Dynaform','2014-01-15') ,
|
||||||
( 'LABEL','ID_DYNAFORM_COPY_REQUIRED','en','Select the dynaform you want to copy/import.','2014-01-15') ,
|
( 'LABEL','ID_DYNAFORM_COPY_REQUIRED','en','Select the dynaform you want to copy/import.','2014-01-15') ,
|
||||||
|
( 'LABEL','ID_DYNAFORM_DEPENDS_DYNAFORMS','en','({0}) Depends in dynaform','2022-02-15') ,
|
||||||
|
( 'LABEL','ID_DYNAFORM_DEPENDS_CASE_TRACKER','en','({0}) Depends in case traker','2022-02-15') ,
|
||||||
|
( 'LABEL','ID_DYNAFORM_DEPENDS_PERMISSIONS','en','({0}) Depends in permissions','2022-02-15') ,
|
||||||
|
( 'LABEL','ID_DYNAFORM_DEPENDS_STEPS','en','({0}) Depends in steps','2022-02-15') ,
|
||||||
|
( 'LABEL','ID_DYNAFORM_DEPENDS_STEPS_SUPERVISOR','en','({0}) Depends in steps supervisor','2022-02-15') ,
|
||||||
( 'LABEL','ID_DYNAFORM_DOES_NOT_EXIST','en','The DynaForm with {0}: {1} does not exist.','2014-05-20') ,
|
( 'LABEL','ID_DYNAFORM_DOES_NOT_EXIST','en','The DynaForm with {0}: {1} does not exist.','2014-05-20') ,
|
||||||
( 'LABEL','ID_DYNAFORM_EDITOR','en','DynaForm Editor','2014-01-15') ,
|
( 'LABEL','ID_DYNAFORM_EDITOR','en','DynaForm Editor','2014-01-15') ,
|
||||||
( 'LABEL','ID_DYNAFORM_EDITOR_LOGIN_AGAIN','en','You have lost your session and you have to login to continue. Please enter your password.','2014-01-15') ,
|
( 'LABEL','ID_DYNAFORM_EDITOR_LOGIN_AGAIN','en','You have lost your session and you have to login to continue. Please enter your password.','2014-01-15') ,
|
||||||
|
|||||||
@@ -3,9 +3,18 @@
|
|||||||
namespace ProcessMaker\BusinessModel;
|
namespace ProcessMaker\BusinessModel;
|
||||||
|
|
||||||
use AdditionalTables;
|
use AdditionalTables;
|
||||||
|
use CaseTrackerObject;
|
||||||
|
use Criteria;
|
||||||
|
use Dynaform as ModelDynaform;
|
||||||
use DynaformHandler;
|
use DynaformHandler;
|
||||||
|
use DynaformPeer;
|
||||||
use Exception;
|
use Exception;
|
||||||
use G;
|
use G;
|
||||||
|
use ObjectPermission;
|
||||||
|
use ResultSet;
|
||||||
|
use Step;
|
||||||
|
use StepSupervisor;
|
||||||
|
|
||||||
use PmDynaform;
|
use PmDynaform;
|
||||||
|
|
||||||
class DynaForm
|
class DynaForm
|
||||||
@@ -139,35 +148,34 @@ class DynaForm
|
|||||||
*/
|
*/
|
||||||
public function dynaFormDepends($dynUid, $proUid)
|
public function dynaFormDepends($dynUid, $proUid)
|
||||||
{
|
{
|
||||||
$oCriteria = new \Criteria();
|
$oCriteria = new Criteria();
|
||||||
$oCriteria->addSelectColumn(\DynaformPeer::DYN_TYPE);
|
$oCriteria->addSelectColumn(DynaformPeer::DYN_TYPE);
|
||||||
$oCriteria->add(\DynaformPeer::DYN_UID, $dynUid);
|
$oCriteria->add(DynaformPeer::DYN_UID, $dynUid);
|
||||||
$oCriteria->add(\DynaformPeer::PRO_UID, $proUid);
|
$oCriteria->add(DynaformPeer::PRO_UID, $proUid);
|
||||||
$oDataset = \DynaformPeer::doSelectRS($oCriteria);
|
$oDataset = DynaformPeer::doSelectRS($oCriteria);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$dataDyna = $oDataset->getRow();
|
$dataDyna = $oDataset->getRow();
|
||||||
|
|
||||||
if ($dataDyna['DYN_TYPE'] == 'grid') {
|
if ($dataDyna['DYN_TYPE'] == 'grid') {
|
||||||
$formsDepend = array();
|
$formsDepend = [];
|
||||||
|
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria->addSelectColumn(DynaformPeer::DYN_UID);
|
||||||
$oCriteria->addSelectColumn(\DynaformPeer::DYN_UID);
|
$oCriteria->addSelectColumn(DynaformPeer::DYN_TITLE);
|
||||||
$oCriteria->addSelectColumn(\DynaformPeer::DYN_TITLE);
|
$oCriteria->add(DynaformPeer::PRO_UID, $proUid);
|
||||||
$oCriteria->add(\DynaformPeer::PRO_UID, $proUid);
|
$oCriteria->add(DynaformPeer::DYN_TYPE, "xmlform");
|
||||||
$oCriteria->add(\DynaformPeer::DYN_TYPE, "xmlform");
|
$oDataset = DynaformPeer::doSelectRS($oCriteria);
|
||||||
$oDataset = \DynaformPeer::doSelectRS($oCriteria);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
|
||||||
|
|
||||||
while ($oDataset->next()) {
|
while ($oDataset->next()) {
|
||||||
$dataForms = $oDataset->getRow();
|
$dataForms = $oDataset->getRow();
|
||||||
$dynHandler = new DynaformHandler(PATH_DYNAFORM . $proUid . PATH_SEP . $dataForms["DYN_UID"] . ".xml");
|
$dynHandler = new DynaformHandler(PATH_DYNAFORM . $proUid . PATH_SEP . $dataForms["DYN_UID"] . ".xml");
|
||||||
$dynFields = $dynHandler->getFields();
|
$dynFields = $dynHandler->getFields();
|
||||||
foreach ($dynFields as $field) {
|
foreach ($dynFields as $field) {
|
||||||
$sType = \Step::getAttribute($field, 'type');
|
$sType = Step::getAttribute($field, 'type');
|
||||||
if ($sType == 'grid') {
|
if ($sType == 'grid') {
|
||||||
$sxmlgrid = \Step::getAttribute($field, 'xmlgrid');
|
$sxmlgrid = Step::getAttribute($field, 'xmlgrid');
|
||||||
$aGridInfo = explode("/", $sxmlgrid);
|
$aGridInfo = explode("/", $sxmlgrid);
|
||||||
if ($aGridInfo[0] == $proUid && $aGridInfo[1] == $dynUid) {
|
if ($aGridInfo[0] == $proUid && $aGridInfo[1] == $dynUid) {
|
||||||
$formsDepend[] = $dataForms["DYN_TITLE"];
|
$formsDepend[] = $dataForms["DYN_TITLE"];
|
||||||
@@ -183,9 +191,9 @@ class DynaForm
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$flagDepend = false;
|
$flagDepend = false;
|
||||||
$stepsDepends = \Step::verifyDynaformAssigStep($dynUid, $proUid);
|
$stepsDepends = Step::verifyDynaformAssigStep($dynUid, $proUid);
|
||||||
|
|
||||||
$messageSteps = '(0) Depends in steps';
|
$messageSteps = G::LoadTranslation("ID_DYNAFORM_DEPENDS_STEPS", [0]);
|
||||||
if (!empty($stepsDepends)) {
|
if (!empty($stepsDepends)) {
|
||||||
$flagDepend = true;
|
$flagDepend = true;
|
||||||
$countSteps = count($stepsDepends);
|
$countSteps = count($stepsDepends);
|
||||||
@@ -193,41 +201,41 @@ class DynaForm
|
|||||||
foreach ($stepsDepends as $value) {
|
foreach ($stepsDepends as $value) {
|
||||||
$messTemp .= ", the task '" . $value['CON_VALUE'] . "' position " . $value['STEP_POSITION'];
|
$messTemp .= ", the task '" . $value['CON_VALUE'] . "' position " . $value['STEP_POSITION'];
|
||||||
}
|
}
|
||||||
$messageSteps = "($countSteps) Depends in steps in" . $messTemp;
|
$messageSteps = G::LoadTranslation("ID_DYNAFORM_DEPENDS_STEPS", [$countSteps]) . ' in ' . $messTemp;
|
||||||
}
|
}
|
||||||
|
|
||||||
$stepSupervisorsDepends = \StepSupervisor::verifyDynaformAssigStepSupervisor($dynUid, $proUid);
|
$stepSupervisorsDepends = StepSupervisor::verifyDynaformAssigStepSupervisor($dynUid, $proUid);
|
||||||
$messageStepsSupervisors = '(0) Depends in steps supervisor';
|
$messageStepsSupervisors = G::LoadTranslation("ID_DYNAFORM_DEPENDS_STEPS_SUPERVISOR", [0]);
|
||||||
if (!empty($stepSupervisorsDepends)) {
|
if (!empty($stepSupervisorsDepends)) {
|
||||||
$flagDepend = true;
|
$flagDepend = true;
|
||||||
$countSteps = count($stepSupervisorsDepends);
|
$countSteps = count($stepSupervisorsDepends);
|
||||||
$messageStepsSupervisors = "($countSteps) Depends in steps supervisor";
|
$messageStepsSupervisors = G::LoadTranslation("ID_DYNAFORM_DEPENDS_STEPS_SUPERVISOR", [$countSteps]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$objectPermissionDepends = \ObjectPermission::verifyDynaformAssigObjectPermission($dynUid, $proUid);
|
$objectPermissionDepends = ObjectPermission::verifyDynaformAssigObjectPermission($dynUid, $proUid);
|
||||||
$messageObjectPermission = '(0) Depends in permissions';
|
$messageObjectPermission = G::LoadTranslation("ID_DYNAFORM_DEPENDS_PERMISSIONS", [0]);
|
||||||
if (!empty($objectPermissionDepends)) {
|
if (!empty($objectPermissionDepends)) {
|
||||||
$flagDepend = true;
|
$flagDepend = true;
|
||||||
$countSteps = count($objectPermissionDepends);
|
$countSteps = count($objectPermissionDepends);
|
||||||
$messageObjectPermission = "($countSteps) Depends in permissions";
|
$messageObjectPermission = G::LoadTranslation("ID_DYNAFORM_DEPENDS_PERMISSIONS", [$countSteps]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$caseTrackerDepends = \CaseTrackerObject::verifyDynaformAssigCaseTracker($dynUid, $proUid);
|
$caseTrackerDepends = CaseTrackerObject::verifyDynaformAssigCaseTracker($dynUid, $proUid);
|
||||||
$messageCaseTracker = '(0) Depends in case traker';
|
$messageCaseTracker = G::LoadTranslation("ID_DYNAFORM_DEPENDS_CASE_TRACKER", [0]);
|
||||||
if (!empty($caseTrackerDepends)) {
|
if (!empty($caseTrackerDepends)) {
|
||||||
$flagDepend = true;
|
$flagDepend = true;
|
||||||
$countSteps = count($caseTrackerDepends);
|
$countSteps = count($caseTrackerDepends);
|
||||||
$messageCaseTracker = "($countSteps) Depends in case traker";
|
$messageCaseTracker = G::LoadTranslation("ID_DYNAFORM_DEPENDS_CASE_TRACKER", [$countSteps]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$dynaformDepends = \Dynaform::verifyDynaformAssignDynaform($dynUid, $proUid);
|
$dynaformDepends = ModelDynaform::verifyDynaformAssignDynaform($dynUid, $proUid);
|
||||||
$messageDynaform = '(0) Depends in case traker';
|
$messageDynaform = G::LoadTranslation("ID_DYNAFORM_DEPENDS_DYNAFORMS", [0]);
|
||||||
if (!empty($dynaformDepends)) {
|
if (!empty($dynaformDepends)) {
|
||||||
$flagDepend = true;
|
$flagDepend = true;
|
||||||
$countSteps = count($dynaformDepends);
|
$countSteps = count($dynaformDepends);
|
||||||
$messageDynaform = "($countSteps) Depends in dynaform";
|
$messageDynaform = G::LoadTranslation("ID_DYNAFORM_DEPENDS_DYNAFORMS", [$countSteps]);
|
||||||
}
|
}
|
||||||
|
$message = '';
|
||||||
if ($flagDepend) {
|
if ($flagDepend) {
|
||||||
$message = "You can not delete the dynaform '$dynUid', because it has the following dependencies: \n\n";
|
$message = "You can not delete the dynaform '$dynUid', because it has the following dependencies: \n\n";
|
||||||
$message .= $messageSteps . ".\n" . $messageStepsSupervisors . ".\n";
|
$message .= $messageSteps . ".\n" . $messageStepsSupervisors . ".\n";
|
||||||
@@ -235,7 +243,7 @@ class DynaForm
|
|||||||
$message .= $messageDynaform;
|
$message .= $messageDynaform;
|
||||||
return $message;
|
return $message;
|
||||||
}
|
}
|
||||||
return '';
|
return $message;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user