From 420e00acca3050d5fdb27a782eb10b7cd5b00909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20Cesar=20Laura=20Avenda=C3=B1o?= Date: Mon, 10 Dec 2018 13:05:28 -0400 Subject: [PATCH] PMC-191 --- workflow/engine/classes/Processes.php | 57 +++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/workflow/engine/classes/Processes.php b/workflow/engine/classes/Processes.php index c81813e60..b826d445f 100644 --- a/workflow/engine/classes/Processes.php +++ b/workflow/engine/classes/Processes.php @@ -1994,6 +1994,10 @@ class Processes $criteria->add(InputDocumentPeer::INP_DOC_MAX_FILESIZE, $row['INP_DOC_MAX_FILESIZE']); $criteria->add(InputDocumentPeer::INP_DOC_MAX_FILESIZE_UNIT, $row['INP_DOC_MAX_FILESIZE_UNIT']); BasePeer::doInsert($criteria, $con); + + //Insert in CONTENT + $labels = ['INP_DOC_TITLE' => $row['INP_DOC_TITLE'], 'INP_DOC_DESCRIPTION' => $row['INP_DOC_DESCRIPTION']]; + $this->insertToContentTable($con, $labels, $row['INP_DOC_UID'], SYS_LANG); } $con->commit(); } catch (Exception $e) { @@ -2178,6 +2182,13 @@ class Processes $criteria->add(OutputDocumentPeer::OUT_DOC_PDF_SECURITY_PERMISSIONS, $row['OUT_DOC_PDF_SECURITY_PERMISSIONS']); $criteria->add(OutputDocumentPeer::OUT_DOC_OPEN_TYPE, $row['OUT_DOC_OPEN_TYPE']); BasePeer::doInsert($criteria, $con); + + //Insert in CONTENT + $labels = ['OUT_DOC_TITLE' => $row['OUT_DOC_TITLE'], + 'OUT_DOC_DESCRIPTION' => $row['OUT_DOC_DESCRIPTION'], + 'OUT_DOC_FILENAME' => $row['OUT_DOC_FILENAME'], + 'OUT_DOC_TEMPLATE' => $row['OUT_DOC_TEMPLATE']]; + $this->insertToContentTable($con, $labels, $row['OUT_DOC_UID'], SYS_LANG); } $con->commit(); } catch (Exception $e) { @@ -3104,6 +3115,10 @@ class Processes $criteria->add(DynaformPeer::DYN_VERSION, $row['DYN_VERSION']); $criteria->add(DynaformPeer::DYN_UPDATE_DATE, $row['DYN_UPDATE_DATE']); BasePeer::doInsert($criteria, $con); + + //Insert in CONTENT + $labels = ['DYN_TITLE' => $row['DYN_TITLE'], 'DYN_DESCRIPTION' => $row['DYN_DESCRIPTION']]; + $this->insertToContentTable($con, $labels, $row['DYN_UID'], SYS_LANG); } $con->commit(); } catch (Exception $e) { @@ -3249,6 +3264,10 @@ class Processes $criteria->add(TriggersPeer::TRI_WEBBOT, $row['TRI_WEBBOT']); $criteria->add(TriggersPeer::TRI_PARAM, $row['TRI_PARAM']); BasePeer::doInsert($criteria, $con); + + //Insert in CONTENT + $labels = ['TRI_TITLE' => $row['TRI_TITLE'], 'TRI_DESCRIPTION' => $row['TRI_DESCRIPTION']]; + $this->insertToContentTable($con, $labels, $row['TRI_UID'], SYS_LANG); } $con->commit(); } catch (Exception $e) { @@ -4050,6 +4069,10 @@ class Processes $criteria->add(GroupwfPeer::GRP_LDAP_DN, $row['GRP_LDAP_DN']); $criteria->add(GroupwfPeer::GRP_UX, $row['GRP_UX']); BasePeer::doInsert($criteria, $con); + + //Insert in CONTENT + $labels = ['GRP_TITLE' => $row['GRP_TITLE']]; + $this->insertToContentTable($con, $labels, $row['GRP_UID'], SYS_LANG); } $con->commit(); } catch (Exception $e) { @@ -6375,4 +6398,38 @@ class Processes $proTitle = substr($proTitle, 0, strlen($proTitle) - $excess); return $proTitle; } + + /** + * Delete, insert and update labels in CONTENT related to a process element + * + * @param object $connection + * @param array $conCategories + * @param string $conId + * @param string $conLang + * @param string $conParent + */ + private function insertToContentTable($connection, array $conCategories, $conId, $conLang, $conParent = '') { + //Prepare to delete labels related in CONTENT + $criteria = new Criteria(ContentPeer::DATABASE_NAME); + $criteria->addSelectColumn('*'); + $criteria->add(ContentPeer::CON_CATEGORY, $conCategories, Criteria::IN); + $criteria->add(ContentPeer::CON_ID, $conId); + $criteria->add(ContentPeer::CON_LANG, $conLang); + $criteria->add(ContentPeer::CON_PARENT, $conParent); + BasePeer::doDelete($criteria, $connection); + + foreach ($conCategories as $conCategory => $conValue) { + //Prepare the insert label in CONTENT + $criteria = new Criteria(ContentPeer::DATABASE_NAME); + $criteria->add(ContentPeer::CON_CATEGORY, $conCategory); + $criteria->add(ContentPeer::CON_ID, $conId); + $criteria->add(ContentPeer::CON_LANG, $conLang); + $criteria->add(ContentPeer::CON_VALUE, $conValue); + $criteria->add(ContentPeer::CON_PARENT, $conParent); + BasePeer::doInsert($criteria, $connection); + + //Updating all related labels in CONTENT + Content::updateEqualValue($conCategory, $conParent, $conId, $conValue); + } + } }