Merged in victorsl/processmaker (pull request #550)
ProcessMaker-BE "Group (fixes)"
This commit is contained in:
@@ -441,6 +441,10 @@ abstract class ResultSetCommon {
|
|||||||
if (!array_key_exists($idx, $this->fields)) { throw new SQLException("Invalid resultset column: " . $column); }
|
if (!array_key_exists($idx, $this->fields)) { throw new SQLException("Invalid resultset column: " . $column); }
|
||||||
if ($this->fields[$idx] === null) { return null; }
|
if ($this->fields[$idx] === null) { return null; }
|
||||||
|
|
||||||
|
if ($this->fields[$idx] . "" == "") {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
if (($this->fields[$idx] == '0000-00-00 00:00:00') || ($this->fields[$idx] == '0000-00-00')) {
|
if (($this->fields[$idx] == '0000-00-00 00:00:00') || ($this->fields[$idx] == '0000-00-00')) {
|
||||||
$ts = '0';
|
$ts = '0';
|
||||||
}
|
}
|
||||||
@@ -459,4 +463,5 @@ abstract class ResultSetCommon {
|
|||||||
return date($format, $ts);
|
return date($format, $ts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -266,6 +266,12 @@ class Group
|
|||||||
//Verify data
|
//Verify data
|
||||||
$this->throwExceptionIfNotExistsGroup($groupUid, $this->arrayFieldNameForException["groupUid"]);
|
$this->throwExceptionIfNotExistsGroup($groupUid, $this->arrayFieldNameForException["groupUid"]);
|
||||||
|
|
||||||
|
$arrayTotalTasksByGroup = $this->getTotalTasksByGroup($groupUid);
|
||||||
|
|
||||||
|
if (isset($arrayTotalTasksByGroup[$groupUid]) && $arrayTotalTasksByGroup[$groupUid] > 0) {
|
||||||
|
throw new \Exception(\G::LoadTranslation("ID_GROUP_CANNOT_DELETE_WHILE_ASSIGNED_TO_TASK"));
|
||||||
|
}
|
||||||
|
|
||||||
//Delete
|
//Delete
|
||||||
$group = new \Groupwf();
|
$group = new \Groupwf();
|
||||||
|
|
||||||
@@ -343,7 +349,7 @@ class Group
|
|||||||
$criteria = new \Criteria("workflow");
|
$criteria = new \Criteria("workflow");
|
||||||
|
|
||||||
$criteria->addSelectColumn(\GroupUserPeer::GRP_UID);
|
$criteria->addSelectColumn(\GroupUserPeer::GRP_UID);
|
||||||
$criteria->addSelectColumn("COUNT(" . \GroupUserPeer::GRP_UID . ") AS NUM_REC");
|
$criteria->addAsColumn("NUM_REC", "COUNT(" . \GroupUserPeer::GRP_UID . ")");
|
||||||
$criteria->addJoin(\GroupUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::INNER_JOIN);
|
$criteria->addJoin(\GroupUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::INNER_JOIN);
|
||||||
|
|
||||||
if ($groupUid != "") {
|
if ($groupUid != "") {
|
||||||
@@ -359,7 +365,7 @@ class Group
|
|||||||
while ($rsCriteria->next()) {
|
while ($rsCriteria->next()) {
|
||||||
$row = $rsCriteria->getRow();
|
$row = $rsCriteria->getRow();
|
||||||
|
|
||||||
$arrayData[$row["GRP_UID"]] = $row["NUM_REC"];
|
$arrayData[$row["GRP_UID"]] = (int)($row["NUM_REC"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
@@ -390,7 +396,7 @@ class Group
|
|||||||
$criteria = new \Criteria("workflow");
|
$criteria = new \Criteria("workflow");
|
||||||
|
|
||||||
$criteria->addAsColumn("GRP_UID", \TaskUserPeer::USR_UID);
|
$criteria->addAsColumn("GRP_UID", \TaskUserPeer::USR_UID);
|
||||||
$criteria->addSelectColumn("COUNT(" . \TaskUserPeer::USR_UID . ") AS NUM_REC");
|
$criteria->addAsColumn("NUM_REC", "COUNT(" . \TaskUserPeer::USR_UID . ")");
|
||||||
|
|
||||||
if ($groupUid != "") {
|
if ($groupUid != "") {
|
||||||
$criteria->add(\TaskUserPeer::USR_UID, $groupUid, \Criteria::EQUAL);
|
$criteria->add(\TaskUserPeer::USR_UID, $groupUid, \Criteria::EQUAL);
|
||||||
@@ -406,7 +412,7 @@ class Group
|
|||||||
while ($rsCriteria->next()) {
|
while ($rsCriteria->next()) {
|
||||||
$row = $rsCriteria->getRow();
|
$row = $rsCriteria->getRow();
|
||||||
|
|
||||||
$arrayData[$row["GRP_UID"]] = $row["NUM_REC"];
|
$arrayData[$row["GRP_UID"]] = (int)($row["NUM_REC"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
@@ -430,8 +436,8 @@ class Group
|
|||||||
$this->getFieldNameByFormatFieldName("GRP_UID") => $record["GRP_UID"],
|
$this->getFieldNameByFormatFieldName("GRP_UID") => $record["GRP_UID"],
|
||||||
$this->getFieldNameByFormatFieldName("GRP_TITLE") => $record["GRP_TITLE"],
|
$this->getFieldNameByFormatFieldName("GRP_TITLE") => $record["GRP_TITLE"],
|
||||||
$this->getFieldNameByFormatFieldName("GRP_STATUS") => $record["GRP_STATUS"],
|
$this->getFieldNameByFormatFieldName("GRP_STATUS") => $record["GRP_STATUS"],
|
||||||
$this->getFieldNameByFormatFieldName("GRP_USERS") => (int)($record["GRP_USERS"]),
|
$this->getFieldNameByFormatFieldName("GRP_USERS") => $record["GRP_USERS"],
|
||||||
$this->getFieldNameByFormatFieldName("GRP_TASKS") => (int)($record["GRP_TASKS"])
|
$this->getFieldNameByFormatFieldName("GRP_TASKS") => $record["GRP_TASKS"]
|
||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
@@ -478,7 +484,7 @@ class Group
|
|||||||
$criteriaCount = clone $criteria;
|
$criteriaCount = clone $criteria;
|
||||||
|
|
||||||
$criteriaCount->clearSelectColumns();
|
$criteriaCount->clearSelectColumns();
|
||||||
$criteriaCount->addSelectColumn("COUNT(" . \GroupwfPeer::GRP_UID . ") AS NUM_REC");
|
$criteriaCount->addAsColumn("NUM_REC", "COUNT(" . \GroupwfPeer::GRP_UID . ")");
|
||||||
|
|
||||||
$rsCriteriaCount = \GroupwfPeer::doSelectRS($criteriaCount);
|
$rsCriteriaCount = \GroupwfPeer::doSelectRS($criteriaCount);
|
||||||
$rsCriteriaCount->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$rsCriteriaCount->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
@@ -486,22 +492,16 @@ class Group
|
|||||||
$rsCriteriaCount->next();
|
$rsCriteriaCount->next();
|
||||||
$row = $rsCriteriaCount->getRow();
|
$row = $rsCriteriaCount->getRow();
|
||||||
|
|
||||||
$numRecTotal = $row["NUM_REC"];
|
$numRecTotal = (int)($row["NUM_REC"]);
|
||||||
|
|
||||||
//SQL
|
//SQL
|
||||||
if (!is_null($sortField) && trim($sortField) != "") {
|
if (!is_null($sortField) && trim($sortField) != "") {
|
||||||
$sortField = strtoupper($sortField);
|
$sortField = strtoupper($sortField);
|
||||||
|
|
||||||
switch ($sortField) {
|
if (in_array($sortField, array("GRP_UID", "GRP_STATUS", "GRP_LDAP_DN", "GRP_UX"))) {
|
||||||
case "GRP_UID":
|
$sortField = \GroupwfPeer::TABLE_NAME . "." . $sortField;
|
||||||
case "GRP_STATUS":
|
} else {
|
||||||
case "GRP_LDAP_DN":
|
$sortField = "GRP_TITLE";
|
||||||
case "GRP_UX":
|
|
||||||
$sortField = \GroupwfPeer::TABLE_NAME . "." . $sortField;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$sortField = "GRP_TITLE";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sortField = "GRP_TITLE";
|
$sortField = "GRP_TITLE";
|
||||||
@@ -708,7 +708,7 @@ class Group
|
|||||||
$criteriaCount = clone $criteria;
|
$criteriaCount = clone $criteria;
|
||||||
|
|
||||||
$criteriaCount->clearSelectColumns();
|
$criteriaCount->clearSelectColumns();
|
||||||
$criteriaCount->addSelectColumn("COUNT(" . \UsersPeer::USR_UID . ") AS NUM_REC");
|
$criteriaCount->addAsColumn("NUM_REC", "COUNT(" . \UsersPeer::USR_UID . ")");
|
||||||
|
|
||||||
$rsCriteriaCount = \UsersPeer::doSelectRS($criteriaCount);
|
$rsCriteriaCount = \UsersPeer::doSelectRS($criteriaCount);
|
||||||
$rsCriteriaCount->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
$rsCriteriaCount->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
@@ -716,24 +716,16 @@ class Group
|
|||||||
$rsCriteriaCount->next();
|
$rsCriteriaCount->next();
|
||||||
$row = $rsCriteriaCount->getRow();
|
$row = $rsCriteriaCount->getRow();
|
||||||
|
|
||||||
$numRecTotal = $row["NUM_REC"];
|
$numRecTotal = (int)($row["NUM_REC"]);
|
||||||
|
|
||||||
//SQL
|
//SQL
|
||||||
if (!is_null($sortField) && trim($sortField) != "") {
|
if (!is_null($sortField) && trim($sortField) != "") {
|
||||||
$sortField = strtoupper($sortField);
|
$sortField = strtoupper($sortField);
|
||||||
|
|
||||||
switch ($sortField) {
|
if (in_array($sortField, array("USR_UID", "USR_USERNAME", "USR_FIRSTNAME", "USR_LASTNAME", "USR_EMAIL", "USR_STATUS"))) {
|
||||||
case "USR_UID":
|
$sortField = \UsersPeer::TABLE_NAME . "." . $sortField;
|
||||||
case "USR_USERNAME":
|
} else {
|
||||||
case "USR_FIRSTNAME":
|
$sortField = \UsersPeer::USR_USERNAME;
|
||||||
case "USR_LASTNAME":
|
|
||||||
case "USR_EMAIL":
|
|
||||||
case "USR_STATUS":
|
|
||||||
$sortField = \UsersPeer::TABLE_NAME . "." . $sortField;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$sortField = \UsersPeer::USR_USERNAME;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$sortField = \UsersPeer::USR_USERNAME;
|
$sortField = \UsersPeer::USR_USERNAME;
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ class ProcessCategory
|
|||||||
|
|
||||||
$arrayTotalProcessesByCategory = $process->getAllProcessesByCategory();
|
$arrayTotalProcessesByCategory = $process->getAllProcessesByCategory();
|
||||||
|
|
||||||
if (isset($arrayTotalProcessesByCategory[$categoryUid])) {
|
if (isset($arrayTotalProcessesByCategory[$categoryUid]) && (int)($arrayTotalProcessesByCategory[$categoryUid])> 0) {
|
||||||
throw new \Exception(\G::LoadTranslation("ID_MSG_CANNOT_DELETE_CATEGORY"));
|
throw new \Exception(\G::LoadTranslation("ID_MSG_CANNOT_DELETE_CATEGORY"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,7 +351,7 @@ class ProcessCategory
|
|||||||
return array(
|
return array(
|
||||||
$this->getFieldNameByFormatFieldName("CAT_UID") => $record["CATEGORY_UID"],
|
$this->getFieldNameByFormatFieldName("CAT_UID") => $record["CATEGORY_UID"],
|
||||||
$this->getFieldNameByFormatFieldName("CAT_NAME") => $record["CATEGORY_NAME"],
|
$this->getFieldNameByFormatFieldName("CAT_NAME") => $record["CATEGORY_NAME"],
|
||||||
$this->getFieldNameByFormatFieldName("CAT_TOTAL_PROCESSES") => (int)($record["CATEGORY_TOTAL_PROCESSES"])
|
$this->getFieldNameByFormatFieldName("CAT_TOTAL_PROCESSES") => $record["CATEGORY_TOTAL_PROCESSES"]
|
||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
@@ -408,7 +408,7 @@ class ProcessCategory
|
|||||||
$rsCriteriaCount->next();
|
$rsCriteriaCount->next();
|
||||||
$row = $rsCriteriaCount->getRow();
|
$row = $rsCriteriaCount->getRow();
|
||||||
|
|
||||||
$numRecTotal = $row["NUM_REC"];
|
$numRecTotal = (int)($row["NUM_REC"]);
|
||||||
|
|
||||||
//SQL
|
//SQL
|
||||||
if (!is_null($sortField) && trim($sortField) != "") {
|
if (!is_null($sortField) && trim($sortField) != "") {
|
||||||
@@ -444,7 +444,7 @@ class ProcessCategory
|
|||||||
while ($rsCriteria->next()) {
|
while ($rsCriteria->next()) {
|
||||||
$row = $rsCriteria->getRow();
|
$row = $rsCriteria->getRow();
|
||||||
|
|
||||||
$row["CATEGORY_TOTAL_PROCESSES"] = (isset($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]))? $arrayTotalProcessesByCategory[$row["CATEGORY_UID"]] : 0;
|
$row["CATEGORY_TOTAL_PROCESSES"] = (isset($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]))? (int)($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]) : 0;
|
||||||
|
|
||||||
$arrayCategory[] = $this->getCategoryDataFromRecord($row);
|
$arrayCategory[] = $this->getCategoryDataFromRecord($row);
|
||||||
}
|
}
|
||||||
@@ -491,7 +491,7 @@ class ProcessCategory
|
|||||||
$row = $rsCriteria->getRow();
|
$row = $rsCriteria->getRow();
|
||||||
|
|
||||||
if (!$flagGetRecord) {
|
if (!$flagGetRecord) {
|
||||||
$row["CATEGORY_TOTAL_PROCESSES"] = (isset($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]))? $arrayTotalProcessesByCategory[$row["CATEGORY_UID"]] : 0;
|
$row["CATEGORY_TOTAL_PROCESSES"] = (isset($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]))? (int)($arrayTotalProcessesByCategory[$row["CATEGORY_UID"]]) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ class Role
|
|||||||
$rsCriteriaCount->next();
|
$rsCriteriaCount->next();
|
||||||
$row = $rsCriteriaCount->getRow();
|
$row = $rsCriteriaCount->getRow();
|
||||||
|
|
||||||
$numRecTotal = $row["NUM_REC"];
|
$numRecTotal = (int)($row["NUM_REC"]);
|
||||||
|
|
||||||
//SQL
|
//SQL
|
||||||
if (!is_null($sortField) && trim($sortField) != "") {
|
if (!is_null($sortField) && trim($sortField) != "") {
|
||||||
|
|||||||
@@ -105,8 +105,6 @@ class Bpmn extends Handler
|
|||||||
// setting defaults
|
// setting defaults
|
||||||
$data['PRJ_UID'] = array_key_exists('PRJ_UID', $data) ? $data['PRJ_UID'] : Common::generateUID();
|
$data['PRJ_UID'] = array_key_exists('PRJ_UID', $data) ? $data['PRJ_UID'] : Common::generateUID();
|
||||||
|
|
||||||
unset($data["PRJ_UPDATE_DATE"]);
|
|
||||||
|
|
||||||
self::log("Create Project with data: ", $data);
|
self::log("Create Project with data: ", $data);
|
||||||
$this->project = new Project();
|
$this->project = new Project();
|
||||||
$this->project->fromArray($data, BasePeer::TYPE_FIELDNAME);
|
$this->project->fromArray($data, BasePeer::TYPE_FIELDNAME);
|
||||||
|
|||||||
@@ -44,7 +44,11 @@ class Workflow extends Handler
|
|||||||
$process = new Process();
|
$process = new Process();
|
||||||
$processData = $process->load($proUid);
|
$processData = $process->load($proUid);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw $e;
|
if (is_null(\ProcessPeer::retrieveByPK($proUid))) {
|
||||||
|
throw new Exception\ProjectNotFound($me, $proUid);
|
||||||
|
} else {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$me->process = $processData;
|
$me->process = $processData;
|
||||||
|
|||||||
Reference in New Issue
Block a user