Merged in darojas/processmaker (pull request #719)
Fix bug 14245: Crear OutputDocuments en el nuevo Designer BPMN, cuando existe un OD con el mismo nombre en otro proceso. Se valida sch_end_date que acepte valor nulo en CASE SCHEDULER
This commit is contained in:
@@ -283,11 +283,6 @@ class CaseScheduler
|
||||
if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE"));
|
||||
}
|
||||
if (!isset($caseSchedulerData['SCH_END_DATE'])) {
|
||||
if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE"));
|
||||
}
|
||||
}
|
||||
if ($caseSchedulerData['SCH_START_DATE'] == "") {
|
||||
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date')));
|
||||
}
|
||||
@@ -486,8 +481,10 @@ class CaseScheduler
|
||||
$caseSchedulerData['SCH_TIME_NEXT_RUN'] = $date;
|
||||
}
|
||||
}
|
||||
if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') {
|
||||
$caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE'];
|
||||
if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) {
|
||||
if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') {
|
||||
$caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE'];
|
||||
}
|
||||
}
|
||||
if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) {
|
||||
$nOptEvery = $caseSchedulerData['SCH_REPEAT_EVERY_OPT'];
|
||||
@@ -569,11 +566,6 @@ class CaseScheduler
|
||||
if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE"));
|
||||
}
|
||||
if (isset($caseSchedulerData['SCH_END_DATE'])) {
|
||||
if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE"));
|
||||
}
|
||||
}
|
||||
if ($caseSchedulerData['SCH_START_DATE'] == "") {
|
||||
throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date')));
|
||||
}
|
||||
@@ -780,8 +772,10 @@ class CaseScheduler
|
||||
$caseSchedulerData['SCH_TIME_NEXT_RUN'] = $date;
|
||||
}
|
||||
}
|
||||
if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') {
|
||||
$caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE'];
|
||||
if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) {
|
||||
if (trim( $caseSchedulerData['SCH_END_DATE'] ) != '') {
|
||||
$caseSchedulerData['SCH_END_DATE'] = $caseSchedulerData['SCH_END_DATE'];
|
||||
}
|
||||
}
|
||||
if (! empty( $caseSchedulerData['SCH_REPEAT_TASK_CHK'] )) {
|
||||
$nOptEvery = $caseSchedulerData['SCH_REPEAT_EVERY_OPT'];
|
||||
|
||||
@@ -392,18 +392,26 @@ class OutputDocument
|
||||
{
|
||||
try {
|
||||
$delimiter = \DBAdapter::getStringDelimiter();
|
||||
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\OutputDocumentPeer::OUT_DOC_UID);
|
||||
$criteria->addAlias("CT", "CONTENT");
|
||||
|
||||
$criteria->addAlias("CT", \ContentPeer::TABLE_NAME);
|
||||
|
||||
$arrayCondition = array();
|
||||
$arrayCondition[] = array(\OutputDocumentPeer::OUT_DOC_UID, "CT.CON_ID", \Criteria::EQUAL);
|
||||
$arrayCondition[] = array("CT.CON_CATEGORY", $delimiter . "OUT_DOC_TITLE" . $delimiter, \Criteria::EQUAL);
|
||||
$arrayCondition[] = array("CT.CON_LANG", $delimiter . SYS_LANG . $delimiter, \Criteria::EQUAL);
|
||||
$criteria->addJoinMC($arrayCondition, \Criteria::LEFT_JOIN);
|
||||
|
||||
$criteria->add(\OutputDocumentPeer::PRO_UID, $processUid, \Criteria::EQUAL);
|
||||
$criteria->add(\ContentPeer::CON_VALUE, $title, \Criteria::EQUAL);
|
||||
|
||||
|
||||
$criteria->add("CT.CON_VALUE", $title, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \OutputDocumentPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
if ($rsCriteria->next()) {
|
||||
return true;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user