2010-12-02 23:34:41 +00:00
|
|
|
<?php
|
2011-01-31 14:14:55 +00:00
|
|
|
/**
|
|
|
|
|
* AppHistory.php
|
|
|
|
|
* @package workflow.engine.classes.model
|
|
|
|
|
*/
|
2010-12-02 23:34:41 +00:00
|
|
|
|
2012-11-16 17:13:48 -04:00
|
|
|
//require_once 'classes/model/om/BaseAppHistory.php';
|
2010-12-02 23:34:41 +00:00
|
|
|
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
/**
|
|
|
|
|
* Skeleton subclass for representing a row from the 'APP_HISTORY' table.
|
|
|
|
|
*
|
2012-08-21 09:53:15 -04:00
|
|
|
*
|
2010-12-02 23:34:41 +00:00
|
|
|
*
|
|
|
|
|
* You should add additional methods to this class to meet the
|
|
|
|
|
* application requirements. This class will only be generated as
|
|
|
|
|
* long as it does not already exist in the output directory.
|
|
|
|
|
*
|
2011-01-31 14:14:55 +00:00
|
|
|
* @package workflow.engine.classes.model
|
2010-12-02 23:34:41 +00:00
|
|
|
*/
|
2012-10-22 05:57:53 -04:00
|
|
|
class AppHistory extends BaseAppHistory
|
|
|
|
|
{
|
|
|
|
|
public function insertHistory($aData)
|
|
|
|
|
{
|
2010-12-02 23:34:41 +00:00
|
|
|
$this->setAppUid($aData['APP_UID']);
|
|
|
|
|
$this->setDelIndex($aData['DEL_INDEX']);
|
|
|
|
|
$this->setProUid($aData['PRO_UID']);
|
|
|
|
|
$this->setTasUid($aData['TAS_UID']);
|
|
|
|
|
$this->setDynUid($aData['CURRENT_DYNAFORM']);
|
2012-08-21 09:53:15 -04:00
|
|
|
$this->setUsrUid($aData['USER_UID']);
|
2010-12-02 23:34:41 +00:00
|
|
|
$this->setAppStatus($aData['APP_STATUS']);
|
|
|
|
|
$this->setHistoryDate($aData['APP_UPDATE_DATE']);
|
|
|
|
|
$this->setHistoryData($aData['APP_DATA']);
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2014-11-10 15:40:24 -04:00
|
|
|
if (isset($aData["OBJECT_TYPE"])) {
|
|
|
|
|
$this->setObjType($aData["OBJECT_TYPE"]);
|
|
|
|
|
}
|
|
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
if ($this->validate() ) {
|
2012-10-22 05:57:53 -04:00
|
|
|
$res = $this->save();
|
|
|
|
|
} else {
|
|
|
|
|
// Something went wrong. We can now get the validationFailures and handle them.
|
|
|
|
|
$msg = '';
|
|
|
|
|
$validationFailuresArray = $this->getValidationFailures();
|
|
|
|
|
foreach ($validationFailuresArray as $objValidationFailure) {
|
|
|
|
|
$msg .= $objValidationFailure->getMessage() . "<br/>";
|
|
|
|
|
}
|
|
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2012-10-22 05:57:53 -04:00
|
|
|
public function getDynaformHistory($PRO_UID, $TAS_UID, $APP_UID, $DYN_UID = "")
|
|
|
|
|
{
|
2010-12-02 23:34:41 +00:00
|
|
|
G::LoadClass('case');
|
|
|
|
|
$oCase = new Cases();
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$oCase->verifyTable();
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$aObjectPermissions = $oCase->getAllObjects($PRO_UID, $APP_UID, $TAS_UID, $_SESSION['USER_LOGGED']);
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
if (!is_array($aObjectPermissions)) {
|
2012-10-22 05:57:53 -04:00
|
|
|
$aObjectPermissions = array('DYNAFORMS' => array(-1), 'INPUT_DOCUMENTS' => array(-1), 'OUTPUT_DOCUMENTS' => array(-1));
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
|
|
|
|
if (!isset($aObjectPermissions['DYNAFORMS'])) {
|
|
|
|
|
$aObjectPermissions['DYNAFORMS'] = array(-1);
|
2012-10-22 05:57:53 -04:00
|
|
|
} else {
|
|
|
|
|
if (!is_array($aObjectPermissions['DYNAFORMS'])) {
|
|
|
|
|
$aObjectPermissions['DYNAFORMS'] = array(-1);
|
|
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
|
|
|
|
if (!isset($aObjectPermissions['INPUT_DOCUMENTS'])) {
|
|
|
|
|
$aObjectPermissions['INPUT_DOCUMENTS'] = array(-1);
|
2012-10-22 05:57:53 -04:00
|
|
|
} else {
|
|
|
|
|
if (!is_array($aObjectPermissions['INPUT_DOCUMENTS'])) {
|
|
|
|
|
$aObjectPermissions['INPUT_DOCUMENTS'] = array(-1);
|
|
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
|
|
|
|
if (!isset($aObjectPermissions['OUTPUT_DOCUMENTS'])) {
|
|
|
|
|
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array(-1);
|
2012-10-22 05:57:53 -04:00
|
|
|
} else {
|
|
|
|
|
if (!is_array($aObjectPermissions['OUTPUT_DOCUMENTS'])) {
|
|
|
|
|
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array(-1);
|
|
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2014-11-10 15:40:24 -04:00
|
|
|
$appDocument = new AppDocument();
|
|
|
|
|
|
|
|
|
|
foreach (array("INPUT_DOCUMENTS", "OUTPUT_DOCUMENTS") as $value) {
|
|
|
|
|
$key = $value;
|
|
|
|
|
|
|
|
|
|
if ($aObjectPermissions[$key]) {
|
|
|
|
|
foreach ($aObjectPermissions[$key] as $key2 => $value2) {
|
|
|
|
|
$appDocumentUid = $value2;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
$arrayAppDocumentData = $appDocument->load($appDocumentUid);
|
|
|
|
|
|
|
|
|
|
$aObjectPermissions[$key][$key2] = $arrayAppDocumentData["DOC_UID"];
|
|
|
|
|
} catch (Exception $e) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$dynaForm = new Dynaform();
|
|
|
|
|
$inputDocument = new InputDocument();
|
|
|
|
|
$outputDocument = new OutputDocument();
|
|
|
|
|
|
2012-08-21 09:53:15 -04:00
|
|
|
$c = new Criteria('workflow');
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::APP_UID);
|
2010-12-02 23:34:41 +00:00
|
|
|
$c->addSelectColumn(AppHistoryPeer::DEL_INDEX);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::PRO_UID);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::TAS_UID);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::DYN_UID);
|
2014-11-10 15:40:24 -04:00
|
|
|
$c->addSelectColumn(AppHistoryPeer::OBJ_TYPE);
|
2010-12-02 23:34:41 +00:00
|
|
|
$c->addSelectColumn(AppHistoryPeer::USR_UID);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::APP_STATUS);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::HISTORY_DATE);
|
|
|
|
|
$c->addSelectColumn(AppHistoryPeer::HISTORY_DATA);
|
|
|
|
|
$c->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
2012-08-21 09:53:15 -04:00
|
|
|
$c->addSelectColumn(UsersPeer::USR_LASTNAME);
|
2010-12-02 23:34:41 +00:00
|
|
|
$c->addAsColumn('USR_NAME', "CONCAT(USR_LASTNAME, ' ', USR_FIRSTNAME)");
|
|
|
|
|
$c->addJoin(AppHistoryPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
//WHERE
|
2014-11-10 15:40:24 -04:00
|
|
|
$c->add(
|
|
|
|
|
$c->getNewCriterion(AppHistoryPeer::DYN_UID, $aObjectPermissions["DYNAFORMS"], Criteria::IN)->addOr(
|
|
|
|
|
$c->getNewCriterion(AppHistoryPeer::DYN_UID, $aObjectPermissions["INPUT_DOCUMENTS"], Criteria::IN))->addOr(
|
|
|
|
|
$c->getNewCriterion(AppHistoryPeer::DYN_UID, $aObjectPermissions["OUTPUT_DOCUMENTS"], Criteria::IN))
|
|
|
|
|
);
|
|
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$c->add(AppHistoryPeer::PRO_UID, $PRO_UID);
|
|
|
|
|
$c->add(AppHistoryPeer::APP_UID, $APP_UID);
|
2012-10-22 05:57:53 -04:00
|
|
|
if ((isset($DYN_UID))&&($DYN_UID!="")) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$c->add(AppHistoryPeer::DYN_UID, $DYN_UID);
|
|
|
|
|
}
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
//Execute
|
|
|
|
|
$oDataset = AppHistoryPeer::doSelectRS($c);
|
|
|
|
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$aDynHistory = array();
|
|
|
|
|
$aDynHistory[] = array(
|
2012-10-22 05:57:53 -04:00
|
|
|
'DYN_TITLE' => 'char'
|
2010-12-02 23:34:41 +00:00
|
|
|
);
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2014-11-10 15:40:24 -04:00
|
|
|
while ($oDataset->next()) {
|
|
|
|
|
$aRow = $oDataset->getRow();
|
|
|
|
|
|
|
|
|
|
$title = "";
|
|
|
|
|
|
|
|
|
|
switch ($aRow["OBJ_TYPE"]) {
|
|
|
|
|
case "DYNAFORM":
|
|
|
|
|
$arrayDynaFormData = $dynaForm->Load($aRow["DYN_UID"]);
|
|
|
|
|
|
|
|
|
|
$title = $arrayDynaFormData["DYN_TITLE"] . " (" . G::LoadTranslation("ID_DYNAFORM") . ")";
|
|
|
|
|
break;
|
|
|
|
|
case "INPUT_DOCUMENT":
|
|
|
|
|
$arrayInputDocumentData = $inputDocument->load($aRow["DYN_UID"]);
|
|
|
|
|
|
|
|
|
|
$title = $arrayInputDocumentData["INP_DOC_TITLE"] . " (" . G::LoadTranslation("ID_INPUT_DOCUMENT") . ")";
|
|
|
|
|
break;
|
|
|
|
|
case "OUTPUT_DOCUMENT":
|
|
|
|
|
$arrayOutputDocumentData = $outputDocument->load($aRow["DYN_UID"]);
|
|
|
|
|
|
|
|
|
|
$title = $arrayOutputDocumentData["OUT_DOC_TITLE"] . " (" . G::LoadTranslation("ID_OUTPUT_DOCUMENT") . ")";
|
|
|
|
|
break;
|
|
|
|
|
case "ASSIGN_TASK":
|
2014-11-19 16:47:22 -04:00
|
|
|
$title = G::LoadTranslation("ID_ASSIGN_TASK") . " (" . G::LoadTranslation("ID_TRIGGERS") . ")";
|
2014-11-10 15:40:24 -04:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$aRow["DYN_TITLE"] = $title;
|
|
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$changedValues=unserialize($aRow['HISTORY_DATA']);
|
|
|
|
|
$html="<table border='0' cellpadding='0' cellspacing='0'>";
|
|
|
|
|
$sw_add=false;
|
2012-10-22 05:57:53 -04:00
|
|
|
foreach ($changedValues as $key => $value) {
|
|
|
|
|
if (($value!=null) && (!is_array($value))) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$sw_add=true;
|
|
|
|
|
$html.="<tr>";
|
|
|
|
|
$html.="<td><b>$key:</b> </td>";
|
|
|
|
|
$html.="<td>$value</td>";
|
|
|
|
|
$html.="</tr>";
|
|
|
|
|
}
|
2012-10-22 05:57:53 -04:00
|
|
|
if (is_array($value)) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$html.="<tr>";
|
2012-08-21 09:53:15 -04:00
|
|
|
$html.="<td><b>$key (grid):</b> </td>";
|
2010-12-02 23:34:41 +00:00
|
|
|
$html.="<td>";
|
|
|
|
|
$html.="<table>";
|
2012-10-22 05:57:53 -04:00
|
|
|
foreach ($value as $key1 => $value1) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$html.="<tr>";
|
|
|
|
|
$html.="<td><b>$key1</b></td>";
|
|
|
|
|
$html.="<td>";
|
2012-10-22 05:57:53 -04:00
|
|
|
if (is_array($value1)) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$sw_add=true;
|
|
|
|
|
$html.="<table>";
|
2012-10-22 05:57:53 -04:00
|
|
|
foreach ($value1 as $key2 => $value2) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$html.="<tr>";
|
|
|
|
|
$html.="<td><b>$key2</b></td>";
|
|
|
|
|
$html.="<td>$value2</td>";
|
|
|
|
|
$html.="</tr>";
|
|
|
|
|
}
|
|
|
|
|
$html.="</table>";
|
|
|
|
|
}
|
|
|
|
|
$html.="</td>";
|
|
|
|
|
$html.="</tr>";
|
|
|
|
|
}
|
|
|
|
|
$html.="</table>";
|
|
|
|
|
$html.="</td>";
|
2012-08-21 09:53:15 -04:00
|
|
|
$html.="</tr>";
|
2010-12-02 23:34:41 +00:00
|
|
|
$html.="</td>";
|
2012-08-21 09:53:15 -04:00
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
|
|
|
|
$html.="</table>";
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
$aRow['FIELDS'] = $html;
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2012-10-22 05:57:53 -04:00
|
|
|
if ($sw_add) {
|
2010-12-02 23:34:41 +00:00
|
|
|
$aDynHistory[] = $aRow;
|
2012-08-21 09:53:15 -04:00
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
}
|
2012-08-21 09:53:15 -04:00
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
global $_DBArray;
|
|
|
|
|
$_DBArray['DynaformsHistory'] = $aDynHistory;
|
|
|
|
|
$_SESSION['_DBArray'] = $_DBArray;
|
|
|
|
|
G::LoadClass('ArrayPeer');
|
|
|
|
|
$oCriteria = new Criteria('dbarray');
|
|
|
|
|
$oCriteria->setDBArrayTable('DynaformsHistory');
|
2014-11-10 15:40:24 -04:00
|
|
|
$oCriteria->addAscendingOrderByColumn(AppHistoryPeer::HISTORY_DATE);
|
|
|
|
|
|
2010-12-02 23:34:41 +00:00
|
|
|
return $oCriteria;
|
|
|
|
|
}
|
2012-10-22 05:57:53 -04:00
|
|
|
}
|
2010-12-02 23:34:41 +00:00
|
|
|
|