From 42011c4e297f9f5ebd5cee75cb0383098104e5fd Mon Sep 17 00:00:00 2001 From: "Marco A. Nina Mena" Date: Mon, 9 Nov 2015 13:58:34 -0400 Subject: [PATCH] GI-136 Move changes to PM 3.0.1.6 --- workflow/engine/classes/class.case.php | 166 ++++++++++++++++++ workflow/engine/classes/class.pmDrive.php | 1 + workflow/engine/classes/class.pmDynaform.php | 26 ++- workflow/engine/classes/model/AppDocument.php | 37 ++++ workflow/engine/classes/model/AppFolder.php | 48 +++++ .../model/map/AppDocumentMapBuilder.php | 2 + .../model/map/ApplicationMapBuilder.php | 2 + .../classes/model/map/UsersMapBuilder.php | 2 + .../model/map/UsrReportingMapBuilder.php | 6 + .../classes/model/om/BaseAppDocument.php | 60 ++++++- .../classes/model/om/BaseAppDocumentPeer.php | 23 ++- .../classes/model/om/BaseApplication.php | 60 ++++++- .../classes/model/om/BaseApplicationPeer.php | 23 ++- .../engine/classes/model/om/BaseUsers.php | 66 ++++++- .../engine/classes/model/om/BaseUsersPeer.php | 23 ++- workflow/engine/config/schema.xml | 12 ++ workflow/engine/data/mysql/schema.sql | 3 + .../engine/methods/cases/cases_SaveData.php | 86 +++++++++ workflow/engine/methods/cases/cases_Step.php | 147 ++++++++++++++++ 19 files changed, 759 insertions(+), 34 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 8dc3dd1c5..73669f7a4 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -3548,6 +3548,16 @@ class Cases 'APP_DOC_FILENAME' => 'char', 'APP_DOC_INDEX' => 'integer' ); + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + $enablePMGmail = $pmDrive->getStatusService(); + } + /*----------------------------------********---------------------------------*/ + while ($aRow = $oDataset->getRow()) { $aAux = $oAppDocument->load($aRow['APP_DOC_UID'], $aRow['DOC_VERSION']); $lastVersion = $oAppDocument->getLastAppDocVersion($aRow['APP_DOC_UID'], $sApplicationUID); @@ -3607,6 +3617,15 @@ class Cases } } $aFields['COMMENT'] = $aFields['APP_DOC_COMMENT']; + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT', + $driveDownload) && $enablePMGmail + ) { + $aFields['DOWNLOAD_LINK'] = $driveDownload['INPUT']; + } + /*----------------------------------********---------------------------------*/ if (($aRow['DOC_VERSION'] == $lastVersion) || ($sAppDocuUID != "")) { $aInputDocuments[] = $aFields; } @@ -3831,6 +3850,93 @@ class Cases $strPathName = PATH_DOCUMENT . G::getPathFromUID($applicationUid) . PATH_SEP; $strFileName = $appDocUid . "_" . $docVersion . "." . $extension; + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + if ($pmDrive->getStatusService()) { + $app = new Application(); + $user = new Users(); + $dataUser = $user->load($userUid); + $pmDrive->setDriveUser($dataUser['USR_EMAIL']); + + $appData = $app->Load($applicationUid); + if ($appData['APP_DRIVE_FOLDER_UID'] == null) { + $process = new Process(); + $process->setProUid($appData['PRO_UID']); + + $result = $pmDrive->createFolder($process->getProTitle() . ' - ' . G::LoadTranslation("ID_CASE") . ' #' . $appData['APP_NUMBER'], + $pmDrive->getFolderIdPMDrive($userUid)); + $appData['APP_DRIVE_FOLDER_UID'] = $result->id; + $app->update($appData); + } + + $result = $pmDrive->uploadFile('application/' . $extension, $fileTmpName, $file, + $appData['APP_DRIVE_FOLDER_UID']); + $appDocument->setDriveDownload('INPUT', $result->webContentLink); + $fileIdDrive = $result->id; + $arrayField['DOC_VERSION'] = $docVersion; + $arrayField['APP_DOC_UID'] = $appDocUid; + + $appDocument->update($arrayField); + + //add permissions + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(ApplicationPeer::PRO_UID); + $criteria->addSelectColumn(TaskUserPeer::TAS_UID); + $criteria->addSelectColumn(TaskUserPeer::USR_UID); + $criteria->addSelectColumn(TaskUserPeer::TU_RELATION); + + $criteria->add(ApplicationPeer::APP_UID, $applicationUid); + $criteria->addJoin(ApplicationPeer::PRO_UID, TaskPeer::PRO_UID, Criteria::LEFT_JOIN); + $criteria->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + + $dataset = ApplicationPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + + $userPermission = array(); + + while ($dataset->next()) { + $row = $dataset->getRow(); + if ($row['TU_RELATION'] == 1) { + //users + $dataUser = $user->load($row['USR_UID']); + if (array_search($dataUser['USR_EMAIL'], $userPermission) == null) { + $objectPermissions = $this->getAllObjects($row['PRO_UID'], $applicationUid, $row['TAS_UID'], + $row['USR_UID']); + $userPermission[] = $dataUser['USR_EMAIL']; + } + } else { + //Groups + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(UsersPeer::USR_EMAIL); + $criteria->addSelectColumn(UsersPeer::USR_UID); + $criteria->add(GroupUserPeer::GRP_UID, $row['USR_UID']); + $criteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); + + $oDataset = AppDelegationPeer::doSelectRS($criteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($oDataset->next()) { + $aRow = $oDataset->getRow(); + if (array_search($aRow['USR_EMAIL'], $userPermission) == null) { + $objectPermissions = $this->getAllObjects($row['PRO_UID'], $applicationUid, + $row['TAS_UID'], $aRow['USR_UID']); + $userPermission[] = $aRow['USR_EMAIL']; + } + } + } + } + $userPermission = array_unique($userPermission); + + foreach ($userPermission as $key => $val) { + $pmDrive->setPermission($appData['APP_DRIVE_FOLDER_UID'], $val, 'user', 'writer'); + $pmDrive->setPermission($fileIdDrive, $val); + } + } + } + /*----------------------------------********---------------------------------*/ + switch ($option) { case "xmlform": G::uploadFile($fileTmpName, $strPathName, $strFileName); @@ -4513,6 +4619,15 @@ class Cases 'APP_DOC_FILENAME' => 'char', 'APP_DOC_INDEX' => 'integer' ); $oUser = new Users(); + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + $enablePMGmail = $pmDrive->getStatusService(); + } + /*----------------------------------********---------------------------------*/ while ($aRow = $oDataset->getRow()) { $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(AppDelegationPeer::APP_UID, $sApplicationUID); @@ -4573,6 +4688,15 @@ class Cases } } } + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT', + $driveDownload) && $enablePMGmail + ) { + $aFields['DOWNLOAD_LINK'] = $driveDownload['INPUT']; + } + /*----------------------------------********---------------------------------*/ if ($lastVersion == $aRow['DOC_VERSION']) { //Show only last version $aInputDocuments[] = $aFields; @@ -4650,6 +4774,15 @@ class Cases $aFields['DOWNLOAD_LABEL'] = G::LoadTranslation('ID_DOWNLOAD'); $aFields['DOWNLOAD_LINK'] = "cases_ShowDocument?a=" . $aRow['APP_DOC_UID']; + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('ATTACHED', + $driveDownload) && $enablePMGmail + ) { + $aFields['DOWNLOAD_LINK'] = $driveDownload['ATTACHED']; + } + /*----------------------------------********---------------------------------*/ if ($lastVersion == $aRow['DOC_VERSION']) { //Show only last version $aInputDocuments[] = $aFields; @@ -4717,6 +4850,15 @@ class Cases } } } + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT', + $driveDownload) && $enablePMGmail + ) { + $aFields['DOWNLOAD_LINK'] = $driveDownload['INPUT']; + } + /*----------------------------------********---------------------------------*/ if ($lastVersion == $aRow['DOC_VERSION']) { //Show only last version $aInputDocuments[] = $aFields; @@ -4824,6 +4966,15 @@ class Cases 'APP_DOC_INDEX' => 'integer' ); $oUser = new Users(); + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + $enablePMGmail = $pmDrive->getStatusService(); + } + /*----------------------------------********---------------------------------*/ while ($aRow = $oDataset->getRow()) { $oCriteria2 = new Criteria('workflow'); $oCriteria2->add(AppDelegationPeer::APP_UID, $sApplicationUID); @@ -4927,6 +5078,21 @@ class Cases $firstDocLabel = $fileDocLabel; } + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($aAux['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_DOC', + $driveDownload) && $enablePMGmail + ) { + $fileDoc = $driveDownload['OUTPUT_DOC']; + } + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_PDF', + $driveDownload) && $enablePMGmail + ) { + $filePdf = $driveDownload['OUTPUT_PDF']; + } + /*----------------------------------********---------------------------------*/ + $aFields = array( 'APP_DOC_UID' => $aAux['APP_DOC_UID'], 'DOC_UID' => $aAux['DOC_UID'], diff --git a/workflow/engine/classes/class.pmDrive.php b/workflow/engine/classes/class.pmDrive.php index 5e857e6a3..d2d31500c 100755 --- a/workflow/engine/classes/class.pmDrive.php +++ b/workflow/engine/classes/class.pmDrive.php @@ -6,6 +6,7 @@ * @package workflow.engine.class * */ +G::LoadClass( "pmGoogleApi" ); class PMDrive extends PMGoogleApi { private $folderIdPMDrive = ''; diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 045908ced..54473e1bb 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -339,9 +339,23 @@ class pmDynaform } } if ($key === "type" && ($value === "file") && isset($this->fields["APP_DATA"]["APPLICATION"])) { + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + $enablePMGmail = $pmDrive->getStatusService(); + } + /*----------------------------------********---------------------------------*/ $oCriteria = new Criteria("workflow"); $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_UID); $oCriteria->addSelectColumn(AppDocumentPeer::DOC_VERSION); + /*----------------------------------********---------------------------------*/ + if ($enablePMGmail) { + $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD); + } + /*----------------------------------********---------------------------------*/ $oCriteria->add(AppDocumentPeer::APP_UID, $this->fields["APP_DATA"]["APPLICATION"]); $oCriteria->add(AppDocumentPeer::APP_DOC_FIELDNAME, $json->name); $rs = AppDocumentPeer::doSelectRS($oCriteria); @@ -349,7 +363,17 @@ class pmDynaform $links = array(); while ($rs->next()) { $row = $rs->getRow(); - array_push($links, "../cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]); + $linkDownload = "../cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]; + /*----------------------------------********---------------------------------*/ + //change donwload link - drive + $driveDownload = @unserialize($row['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('ATTACHED', + $driveDownload) && $enablePMGmail + ) { + $linkDownload = $driveDownload['ATTACHED']; + } + /*----------------------------------********---------------------------------*/ + array_push($links, $linkDownload); } $json->data = new stdClass(); $json->data->value = $links; diff --git a/workflow/engine/classes/model/AppDocument.php b/workflow/engine/classes/model/AppDocument.php index ac839192e..6e055f881 100755 --- a/workflow/engine/classes/model/AppDocument.php +++ b/workflow/engine/classes/model/AppDocument.php @@ -64,6 +64,10 @@ class AppDocument extends BaseAppDocument */ protected $app_doc_filename = ''; + /*----------------------------------********---------------------------------*/ + protected $driveDownload = array(); + /*----------------------------------********---------------------------------*/ + /* * Load the application document registry * @param string $sAppDocUid @@ -86,6 +90,11 @@ class AppDocument extends BaseAppDocument $aFields['APP_DOC_FILENAME'] = $aContentFields['APP_DOC_FILENAME']; $this->fromArray( $aFields, BasePeer::TYPE_FIELDNAME ); + /*----------------------------------********---------------------------------*/ + $driveDownload = @unserialize($aFields['APP_DOC_DRIVE_DOWNLOAD']); + $driveDownload = $driveDownload !== false ? $driveDownload : array(); + $oAppDocument->driveDownload = $driveDownload; + /*----------------------------------********---------------------------------*/ return $aFields; } else { throw (new Exception( 'Error loading Document ' . $sAppDocUid . '/' . $iVersion . '. This row doesn\'t exist!' )); @@ -209,6 +218,9 @@ class AppDocument extends BaseAppDocument $docVersion ++; } + /*----------------------------------********---------------------------------*/ + $aData['APP_DOC_DRIVE_DOWNLOAD'] = serialize($this->driveDownload); + /*----------------------------------********---------------------------------*/ $oAppDocument->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); $oAppDocument->setDocVersion( $docVersion ); @@ -256,6 +268,14 @@ class AppDocument extends BaseAppDocument try { $oAppDocument = AppDocumentPeer::retrieveByPK( $aData['APP_DOC_UID'], $aData['DOC_VERSION'] ); if (! is_null( $oAppDocument )) { + /*----------------------------------********---------------------------------*/ + $driveDownload = @unserialize($oAppDocument->getAppDocDriveDownload()); + if ($driveDownload !== false) { + $aData['APP_DOC_DRIVE_DOWNLOAD'] = serialize(array_merge($driveDownload, $this->driveDownload)); + } else { + $aData['APP_DOC_DRIVE_DOWNLOAD'] = serialize($this->driveDownload); + } + /*----------------------------------********---------------------------------*/ $oAppDocument->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); if ($oAppDocument->validate()) { $oConnection->begin(); @@ -474,6 +494,23 @@ class AppDocument extends BaseAppDocument return true; } + /*----------------------------------********---------------------------------*/ + public function setDriveDownload($key, $value) + { + $this->driveDownload[$key] = $value; + } + + public function getDriveDownload($key) + { + $url = ''; + if (array_key_exists($key, $this->driveDownload)) { + $url = $this->driveDownload[$key]; + } + return $url; + } + + /*----------------------------------********---------------------------------*/ + public function updateInsertContent ($content, $field, $value) { if (isset( $content[$field]['en'] )) { diff --git a/workflow/engine/classes/model/AppFolder.php b/workflow/engine/classes/model/AppFolder.php index 6c561f619..5bf78d81a 100755 --- a/workflow/engine/classes/model/AppFolder.php +++ b/workflow/engine/classes/model/AppFolder.php @@ -293,6 +293,16 @@ class AppFolder extends BaseAppFolder //require_once ("classes/model/OutputDocument.php"); //require_once ("classes/model/Users.php"); + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + $enablePMGmail = $pmDrive->getStatusService(); + } + /*----------------------------------********---------------------------------*/ + G::LoadClass( 'case' ); $oCase = new Cases(); G::LoadClass( 'process' ); @@ -318,6 +328,11 @@ class AppFolder extends BaseAppFolder $oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_STATUS); $oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_STATUS_DATE); $oCriteria->addSelectColumn( AppDocumentPeer::APP_DOC_FIELDNAME); + /*----------------------------------********---------------------------------*/ + if ($enablePMGmail) { + $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD); + } + /*----------------------------------********---------------------------------*/ if ((is_array( $docIdFilter )) && (count( $docIdFilter ) > 0)) { //Search by App Doc UID no matter what Folder it is @@ -418,6 +433,39 @@ class AppFolder extends BaseAppFolder //$filesResult [] = $completeInfo; if ($completeInfo['APP_DOC_STATUS'] != "DELETED") { + /*----------------------------------********---------------------------------*/ + if ($enablePMGmail) { + $driveDownload = @unserialize($completeInfo['APP_DOC_DRIVE_DOWNLOAD']); + switch ($completeInfo['APP_DOC_TYPE']) { + case 'INPUT': + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT', + $driveDownload) + ) { + $completeInfo['DOWNLOAD_LINK'] = $driveDownload['INPUT']; + } + break; + case 'ATTACHED': + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('ATTACHED', + $driveDownload) + ) { + $completeInfo['DOWNLOAD_LINK'] = $driveDownload['ATTACHED']; + } + break; + case 'OUTPUT': + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_DOC', + $driveDownload) + ) { + $completeInfo['DOWNLOAD_LINK1'] = $driveDownload['OUTPUT_DOC']; + } + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_PDF', + $driveDownload) + ) { + $completeInfo['DOWNLOAD_LINK'] = $driveDownload['OUTPUT_PDF']; + } + break; + } + } + /*----------------------------------********---------------------------------*/ if (in_array($row["APP_DOC_UID"], $completeInfo["INPUT_DOCUMENTS"]) || in_array($row["APP_DOC_UID"], $completeInfo["OUTPUT_DOCUMENTS"]) || in_array($completeInfo["USR_UID"], array($_SESSION["USER_LOGGED"], "-1")) || $user == "") { if (count( $docIdFilter ) > 0) { if (in_array( $row['APP_DOC_UID'], $docIdFilter )) { diff --git a/workflow/engine/classes/model/map/AppDocumentMapBuilder.php b/workflow/engine/classes/model/map/AppDocumentMapBuilder.php index 30df8e79c..91955cded 100755 --- a/workflow/engine/classes/model/map/AppDocumentMapBuilder.php +++ b/workflow/engine/classes/model/map/AppDocumentMapBuilder.php @@ -95,6 +95,8 @@ class AppDocumentMapBuilder $tMap->addColumn('APP_DOC_FIELDNAME', 'AppDocFieldname', 'string', CreoleTypes::VARCHAR, false, 150); + $tMap->addColumn('APP_DOC_DRIVE_DOWNLOAD', 'AppDocDriveDownload', 'string', CreoleTypes::LONGVARCHAR, false, null); + $tMap->addValidator('APP_DOC_UID', 'maxLength', 'propel.validator.MaxLengthValidator', '32', 'Application Document UID can be no larger than 32 in size'); $tMap->addValidator('APP_DOC_UID', 'required', 'propel.validator.RequiredValidator', '', 'Application Document UID is required.'); diff --git a/workflow/engine/classes/model/map/ApplicationMapBuilder.php b/workflow/engine/classes/model/map/ApplicationMapBuilder.php index 7bd15b22b..fe40e034e 100755 --- a/workflow/engine/classes/model/map/ApplicationMapBuilder.php +++ b/workflow/engine/classes/model/map/ApplicationMapBuilder.php @@ -101,6 +101,8 @@ class ApplicationMapBuilder $tMap->addColumn('APP_DELAY_DURATION', 'AppDelayDuration', 'double', CreoleTypes::DOUBLE, false, null); + $tMap->addColumn('APP_DRIVE_FOLDER_UID', 'AppDriveFolderUid', 'string', CreoleTypes::VARCHAR, false, 32); + $tMap->addValidator('APP_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'DRAFT|TO_DO|PAUSED|COMPLETED|CANCELLED', 'Please select a valid status.'); } // doBuild() diff --git a/workflow/engine/classes/model/map/UsersMapBuilder.php b/workflow/engine/classes/model/map/UsersMapBuilder.php index ed281ea98..941af0658 100755 --- a/workflow/engine/classes/model/map/UsersMapBuilder.php +++ b/workflow/engine/classes/model/map/UsersMapBuilder.php @@ -135,6 +135,8 @@ class UsersMapBuilder $tMap->addColumn('USR_UNIT_COST', 'UsrUnitCost', 'string', CreoleTypes::VARCHAR, false, 50); + $tMap->addColumn('USR_PMDRIVE_FOLDER_UID', 'UsrPmdriveFolderUid', 'string', CreoleTypes::VARCHAR, false, 32); + $tMap->addColumn('USR_BOOKMARK_START_CASES', 'UsrBookmarkStartCases', 'string', CreoleTypes::LONGVARCHAR, false, null); $tMap->addValidator('USR_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'ACTIVE|INACTIVE|VACATION|CLOSED', 'Please select a valid type.'); diff --git a/workflow/engine/classes/model/map/UsrReportingMapBuilder.php b/workflow/engine/classes/model/map/UsrReportingMapBuilder.php index 46e35d9c3..463357122 100644 --- a/workflow/engine/classes/model/map/UsrReportingMapBuilder.php +++ b/workflow/engine/classes/model/map/UsrReportingMapBuilder.php @@ -75,6 +75,8 @@ class UsrReportingMapBuilder $tMap->addPrimaryKey('YEAR', 'Year', 'int', CreoleTypes::INTEGER, true, null); + $tMap->addColumn('TOTAL_QUEUE_TIME_BY_TASK', 'TotalQueueTimeByTask', 'double', CreoleTypes::DECIMAL, false, 7,2); + $tMap->addColumn('TOTAL_TIME_BY_TASK', 'TotalTimeByTask', 'double', CreoleTypes::DECIMAL, false, 7,2); $tMap->addColumn('TOTAL_CASES_IN', 'TotalCasesIn', 'double', CreoleTypes::DECIMAL, false, 7,2); @@ -93,6 +95,10 @@ class UsrReportingMapBuilder $tMap->addColumn('TOTAL_CASES_ON_TIME', 'TotalCasesOnTime', 'double', CreoleTypes::DECIMAL, false, 7,2); + $tMap->addColumn('PRO_COST', 'ProCost', 'double', CreoleTypes::DECIMAL, false, 7,2); + + $tMap->addColumn('PRO_UNIT_COST', 'ProUnitCost', 'string', CreoleTypes::VARCHAR, false, 50); + } // doBuild() } // UsrReportingMapBuilder diff --git a/workflow/engine/classes/model/om/BaseAppDocument.php b/workflow/engine/classes/model/om/BaseAppDocument.php index 29be972a6..8fff73e3a 100755 --- a/workflow/engine/classes/model/om/BaseAppDocument.php +++ b/workflow/engine/classes/model/om/BaseAppDocument.php @@ -117,6 +117,12 @@ abstract class BaseAppDocument extends BaseObject implements Persistent */ protected $app_doc_fieldname; + /** + * The value for the app_doc_drive_download field. + * @var string + */ + protected $app_doc_drive_download; + /** * Flag to prevent endless save loop, if this object is referenced * by another object which falls in this transaction. @@ -338,6 +344,17 @@ abstract class BaseAppDocument extends BaseObject implements Persistent return $this->app_doc_fieldname; } + /** + * Get the [app_doc_drive_download] column value. + * + * @return string + */ + public function getAppDocDriveDownload() + { + + return $this->app_doc_drive_download; + } + /** * Set the value of [app_doc_uid] column. * @@ -682,6 +699,28 @@ abstract class BaseAppDocument extends BaseObject implements Persistent } // setAppDocFieldname() + /** + * Set the value of [app_doc_drive_download] column. + * + * @param string $v new value + * @return void + */ + public function setAppDocDriveDownload($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->app_doc_drive_download !== $v) { + $this->app_doc_drive_download = $v; + $this->modifiedColumns[] = AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD; + } + + } // setAppDocDriveDownload() + /** * Hydrates (populates) the object variables with values from the database resultset. * @@ -729,12 +768,14 @@ abstract class BaseAppDocument extends BaseObject implements Persistent $this->app_doc_fieldname = $rs->getString($startcol + 14); + $this->app_doc_drive_download = $rs->getString($startcol + 15); + $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 15; // 15 = AppDocumentPeer::NUM_COLUMNS - AppDocumentPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 16; // 16 = AppDocumentPeer::NUM_COLUMNS - AppDocumentPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating AppDocument object", $e); @@ -983,6 +1024,9 @@ abstract class BaseAppDocument extends BaseObject implements Persistent case 14: return $this->getAppDocFieldname(); break; + case 15: + return $this->getAppDocDriveDownload(); + break; default: return null; break; @@ -1018,6 +1062,7 @@ abstract class BaseAppDocument extends BaseObject implements Persistent $keys[12] => $this->getAppDocStatus(), $keys[13] => $this->getAppDocStatusDate(), $keys[14] => $this->getAppDocFieldname(), + $keys[15] => $this->getAppDocDriveDownload(), ); return $result; } @@ -1094,6 +1139,9 @@ abstract class BaseAppDocument extends BaseObject implements Persistent case 14: $this->setAppDocFieldname($value); break; + case 15: + $this->setAppDocDriveDownload($value); + break; } // switch() } @@ -1177,6 +1225,10 @@ abstract class BaseAppDocument extends BaseObject implements Persistent $this->setAppDocFieldname($arr[$keys[14]]); } + if (array_key_exists($keys[15], $arr)) { + $this->setAppDocDriveDownload($arr[$keys[15]]); + } + } /** @@ -1248,6 +1300,10 @@ abstract class BaseAppDocument extends BaseObject implements Persistent $criteria->add(AppDocumentPeer::APP_DOC_FIELDNAME, $this->app_doc_fieldname); } + if ($this->isColumnModified(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD)) { + $criteria->add(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD, $this->app_doc_drive_download); + } + return $criteria; } @@ -1340,6 +1396,8 @@ abstract class BaseAppDocument extends BaseObject implements Persistent $copyObj->setAppDocFieldname($this->app_doc_fieldname); + $copyObj->setAppDocDriveDownload($this->app_doc_drive_download); + $copyObj->setNew(true); diff --git a/workflow/engine/classes/model/om/BaseAppDocumentPeer.php b/workflow/engine/classes/model/om/BaseAppDocumentPeer.php index d2ace555d..f9373766f 100755 --- a/workflow/engine/classes/model/om/BaseAppDocumentPeer.php +++ b/workflow/engine/classes/model/om/BaseAppDocumentPeer.php @@ -25,7 +25,7 @@ abstract class BaseAppDocumentPeer const CLASS_DEFAULT = 'classes.model.AppDocument'; /** The total number of columns. */ - const NUM_COLUMNS = 15; + const NUM_COLUMNS = 16; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -76,6 +76,9 @@ abstract class BaseAppDocumentPeer /** the column name for the APP_DOC_FIELDNAME field */ const APP_DOC_FIELDNAME = 'APP_DOCUMENT.APP_DOC_FIELDNAME'; + /** the column name for the APP_DOC_DRIVE_DOWNLOAD field */ + const APP_DOC_DRIVE_DOWNLOAD = 'APP_DOCUMENT.APP_DOC_DRIVE_DOWNLOAD'; + /** The PHP to DB Name Mapping */ private static $phpNameMap = null; @@ -87,10 +90,10 @@ abstract class BaseAppDocumentPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('AppDocUid', 'DocVersion', 'AppUid', 'DelIndex', 'DocUid', 'UsrUid', 'AppDocType', 'AppDocCreateDate', 'AppDocIndex', 'FolderUid', 'AppDocPlugin', 'AppDocTags', 'AppDocStatus', 'AppDocStatusDate', 'AppDocFieldname', ), - BasePeer::TYPE_COLNAME => array (AppDocumentPeer::APP_DOC_UID, AppDocumentPeer::DOC_VERSION, AppDocumentPeer::APP_UID, AppDocumentPeer::DEL_INDEX, AppDocumentPeer::DOC_UID, AppDocumentPeer::USR_UID, AppDocumentPeer::APP_DOC_TYPE, AppDocumentPeer::APP_DOC_CREATE_DATE, AppDocumentPeer::APP_DOC_INDEX, AppDocumentPeer::FOLDER_UID, AppDocumentPeer::APP_DOC_PLUGIN, AppDocumentPeer::APP_DOC_TAGS, AppDocumentPeer::APP_DOC_STATUS, AppDocumentPeer::APP_DOC_STATUS_DATE, AppDocumentPeer::APP_DOC_FIELDNAME, ), - BasePeer::TYPE_FIELDNAME => array ('APP_DOC_UID', 'DOC_VERSION', 'APP_UID', 'DEL_INDEX', 'DOC_UID', 'USR_UID', 'APP_DOC_TYPE', 'APP_DOC_CREATE_DATE', 'APP_DOC_INDEX', 'FOLDER_UID', 'APP_DOC_PLUGIN', 'APP_DOC_TAGS', 'APP_DOC_STATUS', 'APP_DOC_STATUS_DATE', 'APP_DOC_FIELDNAME', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) + BasePeer::TYPE_PHPNAME => array ('AppDocUid', 'DocVersion', 'AppUid', 'DelIndex', 'DocUid', 'UsrUid', 'AppDocType', 'AppDocCreateDate', 'AppDocIndex', 'FolderUid', 'AppDocPlugin', 'AppDocTags', 'AppDocStatus', 'AppDocStatusDate', 'AppDocFieldname', 'AppDocDriveDownload', ), + BasePeer::TYPE_COLNAME => array (AppDocumentPeer::APP_DOC_UID, AppDocumentPeer::DOC_VERSION, AppDocumentPeer::APP_UID, AppDocumentPeer::DEL_INDEX, AppDocumentPeer::DOC_UID, AppDocumentPeer::USR_UID, AppDocumentPeer::APP_DOC_TYPE, AppDocumentPeer::APP_DOC_CREATE_DATE, AppDocumentPeer::APP_DOC_INDEX, AppDocumentPeer::FOLDER_UID, AppDocumentPeer::APP_DOC_PLUGIN, AppDocumentPeer::APP_DOC_TAGS, AppDocumentPeer::APP_DOC_STATUS, AppDocumentPeer::APP_DOC_STATUS_DATE, AppDocumentPeer::APP_DOC_FIELDNAME, AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD, ), + BasePeer::TYPE_FIELDNAME => array ('APP_DOC_UID', 'DOC_VERSION', 'APP_UID', 'DEL_INDEX', 'DOC_UID', 'USR_UID', 'APP_DOC_TYPE', 'APP_DOC_CREATE_DATE', 'APP_DOC_INDEX', 'FOLDER_UID', 'APP_DOC_PLUGIN', 'APP_DOC_TAGS', 'APP_DOC_STATUS', 'APP_DOC_STATUS_DATE', 'APP_DOC_FIELDNAME', 'APP_DOC_DRIVE_DOWNLOAD', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); /** @@ -100,10 +103,10 @@ abstract class BaseAppDocumentPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('AppDocUid' => 0, 'DocVersion' => 1, 'AppUid' => 2, 'DelIndex' => 3, 'DocUid' => 4, 'UsrUid' => 5, 'AppDocType' => 6, 'AppDocCreateDate' => 7, 'AppDocIndex' => 8, 'FolderUid' => 9, 'AppDocPlugin' => 10, 'AppDocTags' => 11, 'AppDocStatus' => 12, 'AppDocStatusDate' => 13, 'AppDocFieldname' => 14, ), - BasePeer::TYPE_COLNAME => array (AppDocumentPeer::APP_DOC_UID => 0, AppDocumentPeer::DOC_VERSION => 1, AppDocumentPeer::APP_UID => 2, AppDocumentPeer::DEL_INDEX => 3, AppDocumentPeer::DOC_UID => 4, AppDocumentPeer::USR_UID => 5, AppDocumentPeer::APP_DOC_TYPE => 6, AppDocumentPeer::APP_DOC_CREATE_DATE => 7, AppDocumentPeer::APP_DOC_INDEX => 8, AppDocumentPeer::FOLDER_UID => 9, AppDocumentPeer::APP_DOC_PLUGIN => 10, AppDocumentPeer::APP_DOC_TAGS => 11, AppDocumentPeer::APP_DOC_STATUS => 12, AppDocumentPeer::APP_DOC_STATUS_DATE => 13, AppDocumentPeer::APP_DOC_FIELDNAME => 14, ), - BasePeer::TYPE_FIELDNAME => array ('APP_DOC_UID' => 0, 'DOC_VERSION' => 1, 'APP_UID' => 2, 'DEL_INDEX' => 3, 'DOC_UID' => 4, 'USR_UID' => 5, 'APP_DOC_TYPE' => 6, 'APP_DOC_CREATE_DATE' => 7, 'APP_DOC_INDEX' => 8, 'FOLDER_UID' => 9, 'APP_DOC_PLUGIN' => 10, 'APP_DOC_TAGS' => 11, 'APP_DOC_STATUS' => 12, 'APP_DOC_STATUS_DATE' => 13, 'APP_DOC_FIELDNAME' => 14, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) + BasePeer::TYPE_PHPNAME => array ('AppDocUid' => 0, 'DocVersion' => 1, 'AppUid' => 2, 'DelIndex' => 3, 'DocUid' => 4, 'UsrUid' => 5, 'AppDocType' => 6, 'AppDocCreateDate' => 7, 'AppDocIndex' => 8, 'FolderUid' => 9, 'AppDocPlugin' => 10, 'AppDocTags' => 11, 'AppDocStatus' => 12, 'AppDocStatusDate' => 13, 'AppDocFieldname' => 14, 'AppDocDriveDownload' => 15, ), + BasePeer::TYPE_COLNAME => array (AppDocumentPeer::APP_DOC_UID => 0, AppDocumentPeer::DOC_VERSION => 1, AppDocumentPeer::APP_UID => 2, AppDocumentPeer::DEL_INDEX => 3, AppDocumentPeer::DOC_UID => 4, AppDocumentPeer::USR_UID => 5, AppDocumentPeer::APP_DOC_TYPE => 6, AppDocumentPeer::APP_DOC_CREATE_DATE => 7, AppDocumentPeer::APP_DOC_INDEX => 8, AppDocumentPeer::FOLDER_UID => 9, AppDocumentPeer::APP_DOC_PLUGIN => 10, AppDocumentPeer::APP_DOC_TAGS => 11, AppDocumentPeer::APP_DOC_STATUS => 12, AppDocumentPeer::APP_DOC_STATUS_DATE => 13, AppDocumentPeer::APP_DOC_FIELDNAME => 14, AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD => 15, ), + BasePeer::TYPE_FIELDNAME => array ('APP_DOC_UID' => 0, 'DOC_VERSION' => 1, 'APP_UID' => 2, 'DEL_INDEX' => 3, 'DOC_UID' => 4, 'USR_UID' => 5, 'APP_DOC_TYPE' => 6, 'APP_DOC_CREATE_DATE' => 7, 'APP_DOC_INDEX' => 8, 'FOLDER_UID' => 9, 'APP_DOC_PLUGIN' => 10, 'APP_DOC_TAGS' => 11, 'APP_DOC_STATUS' => 12, 'APP_DOC_STATUS_DATE' => 13, 'APP_DOC_FIELDNAME' => 14, 'APP_DOC_DRIVE_DOWNLOAD' => 15, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ) ); /** @@ -234,6 +237,8 @@ abstract class BaseAppDocumentPeer $criteria->addSelectColumn(AppDocumentPeer::APP_DOC_FIELDNAME); + $criteria->addSelectColumn(AppDocumentPeer::APP_DOC_DRIVE_DOWNLOAD); + } const COUNT = 'COUNT(APP_DOCUMENT.APP_DOC_UID)'; diff --git a/workflow/engine/classes/model/om/BaseApplication.php b/workflow/engine/classes/model/om/BaseApplication.php index 5a4f94129..e7e4dae81 100755 --- a/workflow/engine/classes/model/om/BaseApplication.php +++ b/workflow/engine/classes/model/om/BaseApplication.php @@ -135,6 +135,12 @@ abstract class BaseApplication extends BaseObject implements Persistent */ protected $app_delay_duration = 0; + /** + * The value for the app_drive_folder_uid field. + * @var string + */ + protected $app_drive_folder_uid = ''; + /** * Flag to prevent endless save loop, if this object is referenced * by another object which falls in this transaction. @@ -431,6 +437,17 @@ abstract class BaseApplication extends BaseObject implements Persistent return $this->app_delay_duration; } + /** + * Get the [app_drive_folder_uid] column value. + * + * @return string + */ + public function getAppDriveFolderUid() + { + + return $this->app_drive_folder_uid; + } + /** * Set the value of [app_uid] column. * @@ -843,6 +860,28 @@ abstract class BaseApplication extends BaseObject implements Persistent } // setAppDelayDuration() + /** + * Set the value of [app_drive_folder_uid] column. + * + * @param string $v new value + * @return void + */ + public function setAppDriveFolderUid($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->app_drive_folder_uid !== $v || $v === '') { + $this->app_drive_folder_uid = $v; + $this->modifiedColumns[] = ApplicationPeer::APP_DRIVE_FOLDER_UID; + } + + } // setAppDriveFolderUid() + /** * Hydrates (populates) the object variables with values from the database resultset. * @@ -896,12 +935,14 @@ abstract class BaseApplication extends BaseObject implements Persistent $this->app_delay_duration = $rs->getFloat($startcol + 17); + $this->app_drive_folder_uid = $rs->getString($startcol + 18); + $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 18; // 18 = ApplicationPeer::NUM_COLUMNS - ApplicationPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 19; // 19 = ApplicationPeer::NUM_COLUMNS - ApplicationPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Application object", $e); @@ -1159,6 +1200,9 @@ abstract class BaseApplication extends BaseObject implements Persistent case 17: return $this->getAppDelayDuration(); break; + case 18: + return $this->getAppDriveFolderUid(); + break; default: return null; break; @@ -1197,6 +1241,7 @@ abstract class BaseApplication extends BaseObject implements Persistent $keys[15] => $this->getAppPin(), $keys[16] => $this->getAppDuration(), $keys[17] => $this->getAppDelayDuration(), + $keys[18] => $this->getAppDriveFolderUid(), ); return $result; } @@ -1282,6 +1327,9 @@ abstract class BaseApplication extends BaseObject implements Persistent case 17: $this->setAppDelayDuration($value); break; + case 18: + $this->setAppDriveFolderUid($value); + break; } // switch() } @@ -1377,6 +1425,10 @@ abstract class BaseApplication extends BaseObject implements Persistent $this->setAppDelayDuration($arr[$keys[17]]); } + if (array_key_exists($keys[18], $arr)) { + $this->setAppDriveFolderUid($arr[$keys[18]]); + } + } /** @@ -1460,6 +1512,10 @@ abstract class BaseApplication extends BaseObject implements Persistent $criteria->add(ApplicationPeer::APP_DELAY_DURATION, $this->app_delay_duration); } + if ($this->isColumnModified(ApplicationPeer::APP_DRIVE_FOLDER_UID)) { + $criteria->add(ApplicationPeer::APP_DRIVE_FOLDER_UID, $this->app_drive_folder_uid); + } + return $criteria; } @@ -1548,6 +1604,8 @@ abstract class BaseApplication extends BaseObject implements Persistent $copyObj->setAppDelayDuration($this->app_delay_duration); + $copyObj->setAppDriveFolderUid($this->app_drive_folder_uid); + $copyObj->setNew(true); diff --git a/workflow/engine/classes/model/om/BaseApplicationPeer.php b/workflow/engine/classes/model/om/BaseApplicationPeer.php index cc17e5d92..e9a54e409 100755 --- a/workflow/engine/classes/model/om/BaseApplicationPeer.php +++ b/workflow/engine/classes/model/om/BaseApplicationPeer.php @@ -25,7 +25,7 @@ abstract class BaseApplicationPeer const CLASS_DEFAULT = 'classes.model.Application'; /** The total number of columns. */ - const NUM_COLUMNS = 18; + const NUM_COLUMNS = 19; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -85,6 +85,9 @@ abstract class BaseApplicationPeer /** the column name for the APP_DELAY_DURATION field */ const APP_DELAY_DURATION = 'APPLICATION.APP_DELAY_DURATION'; + /** the column name for the APP_DRIVE_FOLDER_UID field */ + const APP_DRIVE_FOLDER_UID = 'APPLICATION.APP_DRIVE_FOLDER_UID'; + /** The PHP to DB Name Mapping */ private static $phpNameMap = null; @@ -96,10 +99,10 @@ abstract class BaseApplicationPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('AppUid', 'AppNumber', 'AppParent', 'AppStatus', 'ProUid', 'AppProcStatus', 'AppProcCode', 'AppParallel', 'AppInitUser', 'AppCurUser', 'AppCreateDate', 'AppInitDate', 'AppFinishDate', 'AppUpdateDate', 'AppData', 'AppPin', 'AppDuration', 'AppDelayDuration', ), - BasePeer::TYPE_COLNAME => array (ApplicationPeer::APP_UID, ApplicationPeer::APP_NUMBER, ApplicationPeer::APP_PARENT, ApplicationPeer::APP_STATUS, ApplicationPeer::PRO_UID, ApplicationPeer::APP_PROC_STATUS, ApplicationPeer::APP_PROC_CODE, ApplicationPeer::APP_PARALLEL, ApplicationPeer::APP_INIT_USER, ApplicationPeer::APP_CUR_USER, ApplicationPeer::APP_CREATE_DATE, ApplicationPeer::APP_INIT_DATE, ApplicationPeer::APP_FINISH_DATE, ApplicationPeer::APP_UPDATE_DATE, ApplicationPeer::APP_DATA, ApplicationPeer::APP_PIN, ApplicationPeer::APP_DURATION, ApplicationPeer::APP_DELAY_DURATION, ), - BasePeer::TYPE_FIELDNAME => array ('APP_UID', 'APP_NUMBER', 'APP_PARENT', 'APP_STATUS', 'PRO_UID', 'APP_PROC_STATUS', 'APP_PROC_CODE', 'APP_PARALLEL', 'APP_INIT_USER', 'APP_CUR_USER', 'APP_CREATE_DATE', 'APP_INIT_DATE', 'APP_FINISH_DATE', 'APP_UPDATE_DATE', 'APP_DATA', 'APP_PIN', 'APP_DURATION', 'APP_DELAY_DURATION', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + BasePeer::TYPE_PHPNAME => array ('AppUid', 'AppNumber', 'AppParent', 'AppStatus', 'ProUid', 'AppProcStatus', 'AppProcCode', 'AppParallel', 'AppInitUser', 'AppCurUser', 'AppCreateDate', 'AppInitDate', 'AppFinishDate', 'AppUpdateDate', 'AppData', 'AppPin', 'AppDuration', 'AppDelayDuration', 'AppDriveFolderUid', ), + BasePeer::TYPE_COLNAME => array (ApplicationPeer::APP_UID, ApplicationPeer::APP_NUMBER, ApplicationPeer::APP_PARENT, ApplicationPeer::APP_STATUS, ApplicationPeer::PRO_UID, ApplicationPeer::APP_PROC_STATUS, ApplicationPeer::APP_PROC_CODE, ApplicationPeer::APP_PARALLEL, ApplicationPeer::APP_INIT_USER, ApplicationPeer::APP_CUR_USER, ApplicationPeer::APP_CREATE_DATE, ApplicationPeer::APP_INIT_DATE, ApplicationPeer::APP_FINISH_DATE, ApplicationPeer::APP_UPDATE_DATE, ApplicationPeer::APP_DATA, ApplicationPeer::APP_PIN, ApplicationPeer::APP_DURATION, ApplicationPeer::APP_DELAY_DURATION, ApplicationPeer::APP_DRIVE_FOLDER_UID, ), + BasePeer::TYPE_FIELDNAME => array ('APP_UID', 'APP_NUMBER', 'APP_PARENT', 'APP_STATUS', 'PRO_UID', 'APP_PROC_STATUS', 'APP_PROC_CODE', 'APP_PARALLEL', 'APP_INIT_USER', 'APP_CUR_USER', 'APP_CREATE_DATE', 'APP_INIT_DATE', 'APP_FINISH_DATE', 'APP_UPDATE_DATE', 'APP_DATA', 'APP_PIN', 'APP_DURATION', 'APP_DELAY_DURATION', 'APP_DRIVE_FOLDER_UID', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) ); /** @@ -109,10 +112,10 @@ abstract class BaseApplicationPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('AppUid' => 0, 'AppNumber' => 1, 'AppParent' => 2, 'AppStatus' => 3, 'ProUid' => 4, 'AppProcStatus' => 5, 'AppProcCode' => 6, 'AppParallel' => 7, 'AppInitUser' => 8, 'AppCurUser' => 9, 'AppCreateDate' => 10, 'AppInitDate' => 11, 'AppFinishDate' => 12, 'AppUpdateDate' => 13, 'AppData' => 14, 'AppPin' => 15, 'AppDuration' => 16, 'AppDelayDuration' => 17, ), - BasePeer::TYPE_COLNAME => array (ApplicationPeer::APP_UID => 0, ApplicationPeer::APP_NUMBER => 1, ApplicationPeer::APP_PARENT => 2, ApplicationPeer::APP_STATUS => 3, ApplicationPeer::PRO_UID => 4, ApplicationPeer::APP_PROC_STATUS => 5, ApplicationPeer::APP_PROC_CODE => 6, ApplicationPeer::APP_PARALLEL => 7, ApplicationPeer::APP_INIT_USER => 8, ApplicationPeer::APP_CUR_USER => 9, ApplicationPeer::APP_CREATE_DATE => 10, ApplicationPeer::APP_INIT_DATE => 11, ApplicationPeer::APP_FINISH_DATE => 12, ApplicationPeer::APP_UPDATE_DATE => 13, ApplicationPeer::APP_DATA => 14, ApplicationPeer::APP_PIN => 15, ApplicationPeer::APP_DURATION => 16, ApplicationPeer::APP_DELAY_DURATION => 17, ), - BasePeer::TYPE_FIELDNAME => array ('APP_UID' => 0, 'APP_NUMBER' => 1, 'APP_PARENT' => 2, 'APP_STATUS' => 3, 'PRO_UID' => 4, 'APP_PROC_STATUS' => 5, 'APP_PROC_CODE' => 6, 'APP_PARALLEL' => 7, 'APP_INIT_USER' => 8, 'APP_CUR_USER' => 9, 'APP_CREATE_DATE' => 10, 'APP_INIT_DATE' => 11, 'APP_FINISH_DATE' => 12, 'APP_UPDATE_DATE' => 13, 'APP_DATA' => 14, 'APP_PIN' => 15, 'APP_DURATION' => 16, 'APP_DELAY_DURATION' => 17, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + BasePeer::TYPE_PHPNAME => array ('AppUid' => 0, 'AppNumber' => 1, 'AppParent' => 2, 'AppStatus' => 3, 'ProUid' => 4, 'AppProcStatus' => 5, 'AppProcCode' => 6, 'AppParallel' => 7, 'AppInitUser' => 8, 'AppCurUser' => 9, 'AppCreateDate' => 10, 'AppInitDate' => 11, 'AppFinishDate' => 12, 'AppUpdateDate' => 13, 'AppData' => 14, 'AppPin' => 15, 'AppDuration' => 16, 'AppDelayDuration' => 17, 'AppDriveFolderUid' => 18, ), + BasePeer::TYPE_COLNAME => array (ApplicationPeer::APP_UID => 0, ApplicationPeer::APP_NUMBER => 1, ApplicationPeer::APP_PARENT => 2, ApplicationPeer::APP_STATUS => 3, ApplicationPeer::PRO_UID => 4, ApplicationPeer::APP_PROC_STATUS => 5, ApplicationPeer::APP_PROC_CODE => 6, ApplicationPeer::APP_PARALLEL => 7, ApplicationPeer::APP_INIT_USER => 8, ApplicationPeer::APP_CUR_USER => 9, ApplicationPeer::APP_CREATE_DATE => 10, ApplicationPeer::APP_INIT_DATE => 11, ApplicationPeer::APP_FINISH_DATE => 12, ApplicationPeer::APP_UPDATE_DATE => 13, ApplicationPeer::APP_DATA => 14, ApplicationPeer::APP_PIN => 15, ApplicationPeer::APP_DURATION => 16, ApplicationPeer::APP_DELAY_DURATION => 17, ApplicationPeer::APP_DRIVE_FOLDER_UID => 18, ), + BasePeer::TYPE_FIELDNAME => array ('APP_UID' => 0, 'APP_NUMBER' => 1, 'APP_PARENT' => 2, 'APP_STATUS' => 3, 'PRO_UID' => 4, 'APP_PROC_STATUS' => 5, 'APP_PROC_CODE' => 6, 'APP_PARALLEL' => 7, 'APP_INIT_USER' => 8, 'APP_CUR_USER' => 9, 'APP_CREATE_DATE' => 10, 'APP_INIT_DATE' => 11, 'APP_FINISH_DATE' => 12, 'APP_UPDATE_DATE' => 13, 'APP_DATA' => 14, 'APP_PIN' => 15, 'APP_DURATION' => 16, 'APP_DELAY_DURATION' => 17, 'APP_DRIVE_FOLDER_UID' => 18, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ) ); /** @@ -249,6 +252,8 @@ abstract class BaseApplicationPeer $criteria->addSelectColumn(ApplicationPeer::APP_DELAY_DURATION); + $criteria->addSelectColumn(ApplicationPeer::APP_DRIVE_FOLDER_UID); + } const COUNT = 'COUNT(APPLICATION.APP_UID)'; diff --git a/workflow/engine/classes/model/om/BaseUsers.php b/workflow/engine/classes/model/om/BaseUsers.php index 570a316ee..4be3c4730 100755 --- a/workflow/engine/classes/model/om/BaseUsers.php +++ b/workflow/engine/classes/model/om/BaseUsers.php @@ -237,6 +237,12 @@ abstract class BaseUsers extends BaseObject implements Persistent */ protected $usr_unit_cost = ''; + /** + * The value for the usr_pmdrive_folder_uid field. + * @var string + */ + protected $usr_pmdrive_folder_uid = ''; + /** * The value for the usr_bookmark_start_cases field. * @var string @@ -726,6 +732,17 @@ abstract class BaseUsers extends BaseObject implements Persistent return $this->usr_unit_cost; } + /** + * Get the [usr_pmdrive_folder_uid] column value. + * + * @return string + */ + public function getUsrPmdriveFolderUid() + { + + return $this->usr_pmdrive_folder_uid; + } + /** * Get the [usr_bookmark_start_cases] column value. * @@ -1529,6 +1546,28 @@ abstract class BaseUsers extends BaseObject implements Persistent } // setUsrUnitCost() + /** + * Set the value of [usr_pmdrive_folder_uid] column. + * + * @param string $v new value + * @return void + */ + public function setUsrPmdriveFolderUid($v) + { + + // Since the native PHP type for this column is string, + // we will cast the input to a string (if it is not). + if ($v !== null && !is_string($v)) { + $v = (string) $v; + } + + if ($this->usr_pmdrive_folder_uid !== $v || $v === '') { + $this->usr_pmdrive_folder_uid = $v; + $this->modifiedColumns[] = UsersPeer::USR_PMDRIVE_FOLDER_UID; + } + + } // setUsrPmdriveFolderUid() + /** * Set the value of [usr_bookmark_start_cases] column. * @@ -1638,14 +1677,16 @@ abstract class BaseUsers extends BaseObject implements Persistent $this->usr_unit_cost = $rs->getString($startcol + 34); - $this->usr_bookmark_start_cases = $rs->getString($startcol + 35); + $this->usr_pmdrive_folder_uid = $rs->getString($startcol + 35); + + $this->usr_bookmark_start_cases = $rs->getString($startcol + 36); $this->resetModified(); $this->setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 36; // 36 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 37; // 37 = UsersPeer::NUM_COLUMNS - UsersPeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Users object", $e); @@ -1955,6 +1996,9 @@ abstract class BaseUsers extends BaseObject implements Persistent return $this->getUsrUnitCost(); break; case 35: + return $this->getUsrPmdriveFolderUid(); + break; + case 36: return $this->getUsrBookmarkStartCases(); break; default: @@ -2012,7 +2056,8 @@ abstract class BaseUsers extends BaseObject implements Persistent $keys[32] => $this->getUsrTotalUnassigned(), $keys[33] => $this->getUsrCostByHour(), $keys[34] => $this->getUsrUnitCost(), - $keys[35] => $this->getUsrBookmarkStartCases(), + $keys[35] => $this->getUsrPmdriveFolderUid(), + $keys[36] => $this->getUsrBookmarkStartCases(), ); return $result; } @@ -2150,6 +2195,9 @@ abstract class BaseUsers extends BaseObject implements Persistent $this->setUsrUnitCost($value); break; case 35: + $this->setUsrPmdriveFolderUid($value); + break; + case 36: $this->setUsrBookmarkStartCases($value); break; } // switch() @@ -2316,7 +2364,11 @@ abstract class BaseUsers extends BaseObject implements Persistent } if (array_key_exists($keys[35], $arr)) { - $this->setUsrBookmarkStartCases($arr[$keys[35]]); + $this->setUsrPmdriveFolderUid($arr[$keys[35]]); + } + + if (array_key_exists($keys[36], $arr)) { + $this->setUsrBookmarkStartCases($arr[$keys[36]]); } } @@ -2470,6 +2522,10 @@ abstract class BaseUsers extends BaseObject implements Persistent $criteria->add(UsersPeer::USR_UNIT_COST, $this->usr_unit_cost); } + if ($this->isColumnModified(UsersPeer::USR_PMDRIVE_FOLDER_UID)) { + $criteria->add(UsersPeer::USR_PMDRIVE_FOLDER_UID, $this->usr_pmdrive_folder_uid); + } + if ($this->isColumnModified(UsersPeer::USR_BOOKMARK_START_CASES)) { $criteria->add(UsersPeer::USR_BOOKMARK_START_CASES, $this->usr_bookmark_start_cases); } @@ -2596,6 +2652,8 @@ abstract class BaseUsers extends BaseObject implements Persistent $copyObj->setUsrUnitCost($this->usr_unit_cost); + $copyObj->setUsrPmdriveFolderUid($this->usr_pmdrive_folder_uid); + $copyObj->setUsrBookmarkStartCases($this->usr_bookmark_start_cases); diff --git a/workflow/engine/classes/model/om/BaseUsersPeer.php b/workflow/engine/classes/model/om/BaseUsersPeer.php index d0ed382c3..54d6ce482 100755 --- a/workflow/engine/classes/model/om/BaseUsersPeer.php +++ b/workflow/engine/classes/model/om/BaseUsersPeer.php @@ -25,7 +25,7 @@ abstract class BaseUsersPeer const CLASS_DEFAULT = 'classes.model.Users'; /** The total number of columns. */ - const NUM_COLUMNS = 36; + const NUM_COLUMNS = 37; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -136,6 +136,9 @@ abstract class BaseUsersPeer /** the column name for the USR_UNIT_COST field */ const USR_UNIT_COST = 'USERS.USR_UNIT_COST'; + /** the column name for the USR_PMDRIVE_FOLDER_UID field */ + const USR_PMDRIVE_FOLDER_UID = 'USERS.USR_PMDRIVE_FOLDER_UID'; + /** the column name for the USR_BOOKMARK_START_CASES field */ const USR_BOOKMARK_START_CASES = 'USERS.USR_BOOKMARK_START_CASES'; @@ -150,10 +153,10 @@ abstract class BaseUsersPeer * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ private static $fieldNames = array ( - BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrBookmarkStartCases', ), - BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_BOOKMARK_START_CASES, ), - BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_BOOKMARK_START_CASES', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, ) + BasePeer::TYPE_PHPNAME => array ('UsrUid', 'UsrUsername', 'UsrPassword', 'UsrFirstname', 'UsrLastname', 'UsrEmail', 'UsrDueDate', 'UsrCreateDate', 'UsrUpdateDate', 'UsrStatus', 'UsrCountry', 'UsrCity', 'UsrLocation', 'UsrAddress', 'UsrPhone', 'UsrFax', 'UsrCellular', 'UsrZipCode', 'DepUid', 'UsrPosition', 'UsrResume', 'UsrBirthday', 'UsrRole', 'UsrReportsTo', 'UsrReplacedBy', 'UsrUx', 'UsrTotalInbox', 'UsrTotalDraft', 'UsrTotalCancelled', 'UsrTotalParticipated', 'UsrTotalPaused', 'UsrTotalCompleted', 'UsrTotalUnassigned', 'UsrCostByHour', 'UsrUnitCost', 'UsrPmdriveFolderUid', 'UsrBookmarkStartCases', ), + BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID, UsersPeer::USR_USERNAME, UsersPeer::USR_PASSWORD, UsersPeer::USR_FIRSTNAME, UsersPeer::USR_LASTNAME, UsersPeer::USR_EMAIL, UsersPeer::USR_DUE_DATE, UsersPeer::USR_CREATE_DATE, UsersPeer::USR_UPDATE_DATE, UsersPeer::USR_STATUS, UsersPeer::USR_COUNTRY, UsersPeer::USR_CITY, UsersPeer::USR_LOCATION, UsersPeer::USR_ADDRESS, UsersPeer::USR_PHONE, UsersPeer::USR_FAX, UsersPeer::USR_CELLULAR, UsersPeer::USR_ZIP_CODE, UsersPeer::DEP_UID, UsersPeer::USR_POSITION, UsersPeer::USR_RESUME, UsersPeer::USR_BIRTHDAY, UsersPeer::USR_ROLE, UsersPeer::USR_REPORTS_TO, UsersPeer::USR_REPLACED_BY, UsersPeer::USR_UX, UsersPeer::USR_TOTAL_INBOX, UsersPeer::USR_TOTAL_DRAFT, UsersPeer::USR_TOTAL_CANCELLED, UsersPeer::USR_TOTAL_PARTICIPATED, UsersPeer::USR_TOTAL_PAUSED, UsersPeer::USR_TOTAL_COMPLETED, UsersPeer::USR_TOTAL_UNASSIGNED, UsersPeer::USR_COST_BY_HOUR, UsersPeer::USR_UNIT_COST, UsersPeer::USR_PMDRIVE_FOLDER_UID, UsersPeer::USR_BOOKMARK_START_CASES, ), + BasePeer::TYPE_FIELDNAME => array ('USR_UID', 'USR_USERNAME', 'USR_PASSWORD', 'USR_FIRSTNAME', 'USR_LASTNAME', 'USR_EMAIL', 'USR_DUE_DATE', 'USR_CREATE_DATE', 'USR_UPDATE_DATE', 'USR_STATUS', 'USR_COUNTRY', 'USR_CITY', 'USR_LOCATION', 'USR_ADDRESS', 'USR_PHONE', 'USR_FAX', 'USR_CELLULAR', 'USR_ZIP_CODE', 'DEP_UID', 'USR_POSITION', 'USR_RESUME', 'USR_BIRTHDAY', 'USR_ROLE', 'USR_REPORTS_TO', 'USR_REPLACED_BY', 'USR_UX', 'USR_TOTAL_INBOX', 'USR_TOTAL_DRAFT', 'USR_TOTAL_CANCELLED', 'USR_TOTAL_PARTICIPATED', 'USR_TOTAL_PAUSED', 'USR_TOTAL_COMPLETED', 'USR_TOTAL_UNASSIGNED', 'USR_COST_BY_HOUR', 'USR_UNIT_COST', 'USR_PMDRIVE_FOLDER_UID', 'USR_BOOKMARK_START_CASES', ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, ) ); /** @@ -163,10 +166,10 @@ abstract class BaseUsersPeer * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 */ private static $fieldKeys = array ( - BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrBookmarkStartCases' => 35, ), - BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_BOOKMARK_START_CASES => 35, ), - BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_BOOKMARK_START_CASES' => 35, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, ) + BasePeer::TYPE_PHPNAME => array ('UsrUid' => 0, 'UsrUsername' => 1, 'UsrPassword' => 2, 'UsrFirstname' => 3, 'UsrLastname' => 4, 'UsrEmail' => 5, 'UsrDueDate' => 6, 'UsrCreateDate' => 7, 'UsrUpdateDate' => 8, 'UsrStatus' => 9, 'UsrCountry' => 10, 'UsrCity' => 11, 'UsrLocation' => 12, 'UsrAddress' => 13, 'UsrPhone' => 14, 'UsrFax' => 15, 'UsrCellular' => 16, 'UsrZipCode' => 17, 'DepUid' => 18, 'UsrPosition' => 19, 'UsrResume' => 20, 'UsrBirthday' => 21, 'UsrRole' => 22, 'UsrReportsTo' => 23, 'UsrReplacedBy' => 24, 'UsrUx' => 25, 'UsrTotalInbox' => 26, 'UsrTotalDraft' => 27, 'UsrTotalCancelled' => 28, 'UsrTotalParticipated' => 29, 'UsrTotalPaused' => 30, 'UsrTotalCompleted' => 31, 'UsrTotalUnassigned' => 32, 'UsrCostByHour' => 33, 'UsrUnitCost' => 34, 'UsrPmdriveFolderUid' => 35, 'UsrBookmarkStartCases' => 36, ), + BasePeer::TYPE_COLNAME => array (UsersPeer::USR_UID => 0, UsersPeer::USR_USERNAME => 1, UsersPeer::USR_PASSWORD => 2, UsersPeer::USR_FIRSTNAME => 3, UsersPeer::USR_LASTNAME => 4, UsersPeer::USR_EMAIL => 5, UsersPeer::USR_DUE_DATE => 6, UsersPeer::USR_CREATE_DATE => 7, UsersPeer::USR_UPDATE_DATE => 8, UsersPeer::USR_STATUS => 9, UsersPeer::USR_COUNTRY => 10, UsersPeer::USR_CITY => 11, UsersPeer::USR_LOCATION => 12, UsersPeer::USR_ADDRESS => 13, UsersPeer::USR_PHONE => 14, UsersPeer::USR_FAX => 15, UsersPeer::USR_CELLULAR => 16, UsersPeer::USR_ZIP_CODE => 17, UsersPeer::DEP_UID => 18, UsersPeer::USR_POSITION => 19, UsersPeer::USR_RESUME => 20, UsersPeer::USR_BIRTHDAY => 21, UsersPeer::USR_ROLE => 22, UsersPeer::USR_REPORTS_TO => 23, UsersPeer::USR_REPLACED_BY => 24, UsersPeer::USR_UX => 25, UsersPeer::USR_TOTAL_INBOX => 26, UsersPeer::USR_TOTAL_DRAFT => 27, UsersPeer::USR_TOTAL_CANCELLED => 28, UsersPeer::USR_TOTAL_PARTICIPATED => 29, UsersPeer::USR_TOTAL_PAUSED => 30, UsersPeer::USR_TOTAL_COMPLETED => 31, UsersPeer::USR_TOTAL_UNASSIGNED => 32, UsersPeer::USR_COST_BY_HOUR => 33, UsersPeer::USR_UNIT_COST => 34, UsersPeer::USR_PMDRIVE_FOLDER_UID => 35, UsersPeer::USR_BOOKMARK_START_CASES => 36, ), + BasePeer::TYPE_FIELDNAME => array ('USR_UID' => 0, 'USR_USERNAME' => 1, 'USR_PASSWORD' => 2, 'USR_FIRSTNAME' => 3, 'USR_LASTNAME' => 4, 'USR_EMAIL' => 5, 'USR_DUE_DATE' => 6, 'USR_CREATE_DATE' => 7, 'USR_UPDATE_DATE' => 8, 'USR_STATUS' => 9, 'USR_COUNTRY' => 10, 'USR_CITY' => 11, 'USR_LOCATION' => 12, 'USR_ADDRESS' => 13, 'USR_PHONE' => 14, 'USR_FAX' => 15, 'USR_CELLULAR' => 16, 'USR_ZIP_CODE' => 17, 'DEP_UID' => 18, 'USR_POSITION' => 19, 'USR_RESUME' => 20, 'USR_BIRTHDAY' => 21, 'USR_ROLE' => 22, 'USR_REPORTS_TO' => 23, 'USR_REPLACED_BY' => 24, 'USR_UX' => 25, 'USR_TOTAL_INBOX' => 26, 'USR_TOTAL_DRAFT' => 27, 'USR_TOTAL_CANCELLED' => 28, 'USR_TOTAL_PARTICIPATED' => 29, 'USR_TOTAL_PAUSED' => 30, 'USR_TOTAL_COMPLETED' => 31, 'USR_TOTAL_UNASSIGNED' => 32, 'USR_COST_BY_HOUR' => 33, 'USR_UNIT_COST' => 34, 'USR_PMDRIVE_FOLDER_UID' => 35, 'USR_BOOKMARK_START_CASES' => 36, ), + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, ) ); /** @@ -337,6 +340,8 @@ abstract class BaseUsersPeer $criteria->addSelectColumn(UsersPeer::USR_UNIT_COST); + $criteria->addSelectColumn(UsersPeer::USR_PMDRIVE_FOLDER_UID); + $criteria->addSelectColumn(UsersPeer::USR_BOOKMARK_START_CASES); } diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 24b53ef2c..521e58dd0 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -39,6 +39,7 @@ + @@ -180,6 +181,16 @@ + + + + + + + + + + @@ -1485,6 +1496,7 @@ + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 1ddb40f2a..026ef0c2d 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -31,6 +31,7 @@ CREATE TABLE `APPLICATION` `APP_PIN` VARCHAR(32) default '' NOT NULL, `APP_DURATION` DOUBLE default 0, `APP_DELAY_DURATION` DOUBLE default 0, + `APP_DRIVE_FOLDER_UID` VARCHAR(32) DEFAULT '', PRIMARY KEY (`APP_UID`), KEY `indexApp`(`PRO_UID`, `APP_STATUS`, `APP_UID`), KEY `indexAppNumber`(`APP_NUMBER`), @@ -96,6 +97,7 @@ CREATE TABLE `APP_DOCUMENT` `APP_DOC_STATUS` VARCHAR(32) default 'ACTIVE' NOT NULL, `APP_DOC_STATUS_DATE` DATETIME, `APP_DOC_FIELDNAME` VARCHAR(150), + `APP_DOC_DRIVE_DOWNLOAD` MEDIUMTEXT, PRIMARY KEY (`APP_DOC_UID`,`DOC_VERSION`), KEY `indexAppDocument`(`FOLDER_UID`, `APP_DOC_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Documents in an Application'; @@ -715,6 +717,7 @@ CREATE TABLE `USERS` `USR_TOTAL_UNASSIGNED` INTEGER default 0, `USR_COST_BY_HOUR` DECIMAL(7,2) default 0, `USR_UNIT_COST` VARCHAR(50) default '', + `USR_PMDRIVE_FOLDER_UID` VARCHAR(32) DEFAULT '', `USR_BOOKMARK_START_CASES` MEDIUMTEXT, PRIMARY KEY (`USR_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Users'; diff --git a/workflow/engine/methods/cases/cases_SaveData.php b/workflow/engine/methods/cases/cases_SaveData.php index 4bfb2123a..996838d6a 100755 --- a/workflow/engine/methods/cases/cases_SaveData.php +++ b/workflow/engine/methods/cases/cases_SaveData.php @@ -386,6 +386,92 @@ try { $pathUID = G::getPathFromUID($_SESSION["APPLICATION"]); $sPathName = PATH_DOCUMENT . $pathUID . PATH_SEP; $sFileName = $sAppDocUid . "_" . $iDocVersion . "." . $sExtension; + + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + if ($pmDrive->getStatusService()) { + $app = new Application(); + $user = new Users(); + $dataUser = $user->load($_SESSION['USER_LOGGED']); + $pmDrive->setDriveUser($dataUser['USR_EMAIL']); + + $appData = $app->Load($_SESSION['APPLICATION']); + if ($appData['APP_DRIVE_FOLDER_UID'] == null) { + $process = new Process(); + $process->setProUid($appData['PRO_UID']); + + $result = $pmDrive->createFolder($process->getProTitle() . ' - ' . G::LoadTranslation("ID_CASE") . ' #' . $appData['APP_NUMBER'], + $pmDrive->getFolderIdPMDrive($_SESSION['USER_LOGGED'])); + $appData['APP_DRIVE_FOLDER_UID'] = $result->id; + $app->update($appData); + } + + $result = $pmDrive->uploadFile('application/' . $sExtension, $arrayFileTmpName[$i], + $arrayFileName[$i], $appData['APP_DRIVE_FOLDER_UID']); + $oAppDocument->setDriveDownload('ATTACHED', $result->webContentLink); + $fileIdDrive = $result->id; + $aFields['DOC_VERSION'] = $iDocVersion; + $aFields['APP_DOC_UID'] = $sAppDocUid; + + $oAppDocument->update($aFields); + + //add permissions + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(ApplicationPeer::PRO_UID); + $criteria->addSelectColumn(TaskUserPeer::TAS_UID); + $criteria->addSelectColumn(TaskUserPeer::USR_UID); + $criteria->addSelectColumn(TaskUserPeer::TU_RELATION); + + $criteria->add(ApplicationPeer::APP_UID, $_SESSION['APPLICATION']); + $criteria->addJoin(ApplicationPeer::PRO_UID, TaskPeer::PRO_UID, Criteria::LEFT_JOIN); + $criteria->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + + $dataset = TaskUserPeer::doSelectRs($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $userPermission = array(); + $case = new Cases(); + + while ($dataset->next()) { + $row = $dataset->getRow(); + if ($row['TU_RELATION'] == 1) { + //users + $dataUser = $user->load($row['USR_UID']); + if (array_search($dataUser['USR_EMAIL'], $userPermission) == null) { + $userPermission[] = $dataUser['USR_EMAIL']; + } + } else { + //Groups + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(UsersPeer::USR_EMAIL); + $criteria->addSelectColumn(UsersPeer::USR_UID); + $criteria->add(GroupUserPeer::GRP_UID, $row['USR_UID']); + $criteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); + + $oDataset = AppDelegationPeer::doSelectRs($criteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($dataset->next()) { + $aRow = $oDataset->fetch(); + if (array_search($aRow['USR_EMAIL'], $userPermission) == null) { + $userPermission[] = $aRow['USR_EMAIL']; + } + + } + } + + } + $userPermission = array_unique($userPermission); + + foreach ($userPermission as $key => $value) { + $pmDrive->setPermission($appData['APP_DRIVE_FOLDER_UID'], $value, 'user', 'writer'); + $pmDrive->setPermission($fileIdDrive, $value); + } + } + } + /*----------------------------------********---------------------------------*/ + G::uploadFile( $arrayFileTmpName[$i], $sPathName, $sFileName ); //Plugin Hook PM_UPLOAD_DOCUMENT for upload document diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 0ff0b5a9d..d13dbbfec 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -649,6 +649,130 @@ try { $oCase->updateCase( $_SESSION['APPLICATION'], $Fields ); //Save data - End + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + if ($pmDrive->getStatusService()) { + $app = new Application(); + $user = new Users(); + $dataUser = $user->load($_SESSION['USER_LOGGED']); + $pmDrive->setDriveUser($dataUser['USR_EMAIL']); + + $applicationUid = $_SESSION['APPLICATION']; + $appData = $app->Load($applicationUid); + if ($appData['APP_DRIVE_FOLDER_UID'] == null) { + $process = new Process(); + $process->setProUid($appData['PRO_UID']); + + $result = $pmDrive->createFolder($process->getProTitle() . ' - ' . G::LoadTranslation("ID_CASE") . ' #' . $appData['APP_NUMBER'], + $pmDrive->getFolderIdPMDrive($_SESSION['USER_LOGGED'])); + $appData['APP_DRIVE_FOLDER_UID'] = $result->id; + $app->update($appData); + } + + $fileIdDriveDoc = ''; + $fileIdDrivePdf = ''; + switch ($aOD['OUT_DOC_GENERATE']) { + case "BOTH": + $result = $pmDrive->uploadFile('application/pdf', $pathOutput . $sFilename . '.pdf', + $sFilenameOriginal . '.pdf', $appData['APP_DRIVE_FOLDER_UID']); + $oAppDocument->setDriveDownload('OUTPUT_PDF', $result->webContentLink); + $fileIdDrivePdf = $result->id; + $result = $pmDrive->uploadFile('application/doc', $pathOutput . $sFilename . '.doc', + $sFilenameOriginal . '.doc', $appData['APP_DRIVE_FOLDER_UID']); + $oAppDocument->setDriveDownload('OUTPUT_DOC', $result->webContentLink); + $fileIdDriveDoc = $result->id; + break; + case "PDF": + $result = $pmDrive->uploadFile('application/pdf', $pathOutput . $sFilename . '.pdf', + $sFilenameOriginal . '.pdf', $appData['APP_DRIVE_FOLDER_UID']); + $oAppDocument->setDriveDownload('OUTPUT_PDF', $result->webContentLink); + $fileIdDrivePdf = $result->id; + break; + case "DOC": + $result = $pmDrive->uploadFile('application/doc', $pathOutput . $sFilename . '.doc', + $sFilenameOriginal . '.doc', $appData['APP_DRIVE_FOLDER_UID']); + $oAppDocument->setDriveDownload('OUTPUT_DOC', $result->webContentLink); + $fileIdDriveDoc = $result->id; + break; + } + $aFields['DOC_VERSION'] = $oAppDocument->getDocVersion();// $docVersion; + $aFields['APP_DOC_UID'] = $oAppDocument->getAppDocUid();//$appDocUid; + $appDocUid = $aFields['APP_DOC_UID']; + + $oAppDocument->update($aFields); + //$option = 'pmDrive'; + + + //add permissions + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(ApplicationPeer::PRO_UID); + $criteria->addSelectColumn(TaskUserPeer::TAS_UID); + $criteria->addSelectColumn(TaskUserPeer::USR_UID); + $criteria->addSelectColumn(TaskUserPeer::TU_RELATION); + + $criteria->add(ApplicationPeer::APP_UID, $applicationUid); + $criteria->addJoin(ApplicationPeer::PRO_UID, TaskPeer::PRO_UID, Criteria::LEFT_JOIN); + $criteria->addJoin(TaskPeer::TAS_UID, TaskUserPeer::TAS_UID, Criteria::LEFT_JOIN); + + + $dataset = ApplicationPeer::doSelectRs($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + + $userPermission = array(); + $case = new Cases(); + + while ($dataset->next()) { + $row = $dataset->getRow(); + if ($row['TU_RELATION'] == 1) { + //users + $dataUser = $user->load($row['USR_UID']); + if (array_search($dataUser['USR_EMAIL'], $userPermission) == null) { + $objectPermissions = $case->getAllObjects($row['PRO_UID'], $applicationUid, + $row['TAS_UID'], $row['USR_UID']); + if (array_search($appDocUid, $objectPermissions['OUTPUT_DOCUMENTS']) != null) { + $userPermission[] = $dataUser['USR_EMAIL']; + } + } + } else { + //Groups + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn(UsersPeer::USR_EMAIL); + $criteria->addSelectColumn(UsersPeer::USR_UID); + $criteria->add(GroupUserPeer::GRP_UID, $row['USR_UID']); + $criteria->addJoin(GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); + + $oDataset = AppDelegationPeer::doSelectRs($criteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + while ($oDataset->next()) { + $aRow = $oDataset->getRow(); + if (array_search($aRow['USR_EMAIL'], $userPermission) == null) { + $objectPermissions = $case->getAllObjects($row['PRO_UID'], $applicationUid, + $row['TAS_UID'], $aRow['USR_UID']); + if (array_search($appDocUid, + $objectPermissions['OUTPUT_DOCUMENTS']) != null + ) { + $userPermission[] = $aRow['USR_EMAIL']; + } + } + + } + } + + } + $userPermission = array_unique($userPermission); + + foreach ($userPermission as $key => $val) { + $pmDrive->setPermission($appData['APP_DRIVE_FOLDER_UID'], $val, 'user', 'writer'); + $pmDrive->setPermission($fileIdDrivePdf, $val); + $pmDrive->setPermission($fileIdDriveDoc, $val); + } + } + } + /*----------------------------------********---------------------------------*/ + //Plugin Hook PM_UPLOAD_DOCUMENT for upload document $oPluginRegistry = & PMPluginRegistry::getSingleton(); if ($oPluginRegistry->existsTrigger( PM_UPLOAD_DOCUMENT ) && class_exists( 'uploadDocumentData' )) { @@ -764,6 +888,29 @@ try { } } + /*----------------------------------********---------------------------------*/ + $licensedFeatures = &PMLicensedFeatures::getSingleton(); + $enablePMGmail = false; + if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) { + G::LoadClass( "pmDrive" ); + $pmDrive = new PMDrive(); + if ($pmDrive->getStatusService()) { + //change donwload link - drive + $driveDownload = @unserialize($aFields['APP_DOC_DRIVE_DOWNLOAD']); + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_DOC', + $driveDownload) + ) { + $aFields['FILE1'] = $driveDownload['OUTPUT_DOC']; + } + if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_PDF', + $driveDownload) + ) { + $aFields['FILE2'] = $driveDownload['OUTPUT_PDF']; + } + } + } + /*----------------------------------********---------------------------------*/ + if (($aGields['OUT_DOC_GENERATE'] == 'BOTH') || ($aGields['OUT_DOC_GENERATE'] == '')) { $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_ViewOutputDocument1', '', G::array_merges( $aOD, $aFields ), '' ); }