diff --git a/workflow/engine/methods/additionalTables/additionalTablesData.php b/workflow/engine/methods/additionalTables/additionalTablesData.php index 48b2dac35..e39af9cd6 100644 --- a/workflow/engine/methods/additionalTables/additionalTablesData.php +++ b/workflow/engine/methods/additionalTables/additionalTablesData.php @@ -22,46 +22,102 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ + global $RBAC; -if ($RBAC->userCanAccess('PM_SETUP') != 1) { - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; -} +$RBAC->requirePermissions('PM_SETUP_ADVANCE'); +$G_PUBLISH = new Publisher; + +$oHeadPublisher =& headPublisher::getSingleton(); require_once 'classes/model/AdditionalTables.php'; $oAdditionalTables = new AdditionalTables(); $oAdditionalTables->createXmlList($_GET['sUID']); +$arrTable = $oAdditionalTables->load($_GET['sUID'],true); +$fields = $arrTable['FIELDS']; -$G_MAIN_MENU = 'processmaker'; -//$G_SUB_MENU = 'setup'; -$G_ID_MENU_SELECTED = 'SETUP'; -//$G_ID_SUB_MENU_SELECTED = 'ADDITIONAL_TABLES'; +//print_r($arrTable); +//die; -$ocaux = $oAdditionalTables->getDataCriteria($_GET['sUID']); - -$rs = AdditionalTablesPeer::DoSelectRs ($ocaux); -$rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); - -$fieldN = Array('DUMMY'=>'char'); - -$rows = Array(); -while($rs->next()){ - $rows[] = $rs->getRow(); +$arrNames = Array(); +$arrDescrip = Array(); +$c = 0; +$xPKF = ""; +foreach ($fields as $field){ + $c++; + $arrNames[] = $field['FLD_NAME']; + $arrDescrip[] = $field['FLD_DESCRIPTION']; + if ($field['FLD_KEY']=='1'){ + $xPKF = $field['FLD_NAME']; + } } -$rows = array_merge(Array($fieldN), $rows); -global $_DBArray; -$_DBArray['virtual_pmtable'] = $rows; -$_SESSION['_DBArray'] = $_DBArray; -G::LoadClass('ArrayPeer'); -$oCriteria = new Criteria('dbarray'); -$oCriteria->setDBArrayTable('virtual_pmtable'); +//$oHeadPublisher->usingExtJs('ux/Ext.ux.fileUploadField'); +$oHeadPublisher->addExtJsScript('additionalTables/additionalTablesData', false); //adding a javascript file .js +$oHeadPublisher->addContent('additionalTables/additionalTablesData'); //adding a html file .html. + +$labels = G::getTranslations(Array('ID_EXPORT','ID_IMPORT','ID_EDIT','ID_DELETE', 'ID_DATA', + 'ID_NEW_ADD_TABLE','ID_DESCRIPTION','ID_NAME','ID_CONFIRM','ID_ADDITIONAL_TABLES','ID_SELECT_FIRST_PM_TABLE_ROW', + 'ID_CONFIRM_DELETE_PM_TABLE','ID_ADD_ROW','ID_BACK','ID_SELECT_FIRST_ROW','ID_MSG_CONFIRM_DELETE_ROW')); + +$table_uid = Array(); +$table_uid['UID'] = $_GET['sUID']; +$table_uid['COUNTER'] = $c; +$table_uid['TABLE_NAME'] = $arrTable['ADD_TAB_NAME']; +$table_uid['PKF'] = $xPKF; -$G_PUBLISH = new Publisher; -//$G_PUBLISH->AddContent('xmlform', 'xmlform', 'additionalTables/additionalTablesTitle', '', $oAdditionalTables->load($_GET['sUID'])); +$oHeadPublisher->assign('TRANSLATIONS', $labels); +$oHeadPublisher->assign('TABLES', $table_uid); +$oHeadPublisher->assign('NAMES', $arrNames); +$oHeadPublisher->assign('VALUES', $arrDescrip); -$G_PUBLISH->AddContent('propeltable', 'paged-table', 'xmlLists/' . $_GET['sUID'], $oCriteria, array('ADD_TAB_UID' => $_GET['sUID']), '', '', '', PATH_DYNAFORM); -G::RenderPage('publishBlank', 'blank'); \ No newline at end of file +G::RenderPage('publish', 'extJs'); +//global $RBAC; +//if ($RBAC->userCanAccess('PM_SETUP') != 1) { +// G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); +// G::header('location: ../login/login'); +// die; +//} +// +//require_once 'classes/model/AdditionalTables.php'; +//$oAdditionalTables = new AdditionalTables(); +//$oAdditionalTables->createXmlList($_GET['sUID']); +// +//$G_MAIN_MENU = 'processmaker'; +////$G_SUB_MENU = 'setup'; +//$G_ID_MENU_SELECTED = 'SETUP'; +////$G_ID_SUB_MENU_SELECTED = 'ADDITIONAL_TABLES'; +// +//$ocaux = $oAdditionalTables->getDataCriteria($_GET['sUID']); +// +////var_dump($ocaux); +// +//$rs = AdditionalTablesPeer::DoSelectRs ($ocaux); +//$rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); +// +//$fieldN = Array('DUMMY'=>'char'); +// +//$rows = Array(); +//while($rs->next()){ +// $rows[] = $rs->getRow(); +//} +// +//$rows = array_merge(Array($fieldN), $rows); +// +//print_r($rows); +////die(); +// +//global $_DBArray; +//$_DBArray['virtual_pmtable'] = $rows; +//$_SESSION['_DBArray'] = $_DBArray; +//G::LoadClass('ArrayPeer'); +//$oCriteria = new Criteria('dbarray'); +//$oCriteria->setDBArrayTable('virtual_pmtable'); +// +// +//$G_PUBLISH = new Publisher; +////$G_PUBLISH->AddContent('xmlform', 'xmlform', 'additionalTables/additionalTablesTitle', '', $oAdditionalTables->load($_GET['sUID'])); +// +//$G_PUBLISH->AddContent('propeltable', 'paged-table', 'xmlLists/' . $_GET['sUID'], $oCriteria, array('ADD_TAB_UID' => $_GET['sUID']), '', '', '', PATH_DYNAFORM); +//G::RenderPage('publishBlank', 'blank'); \ No newline at end of file diff --git a/workflow/engine/methods/additionalTables/additionalTablesDelete.php b/workflow/engine/methods/additionalTables/additionalTablesDelete.php index fbe55d1b3..8c3233d32 100644 --- a/workflow/engine/methods/additionalTables/additionalTablesDelete.php +++ b/workflow/engine/methods/additionalTables/additionalTablesDelete.php @@ -29,14 +29,16 @@ if ($RBAC->userCanAccess('PM_SETUP') != 1) { die; } -if (!isset($_POST['sUID'])) { +if (!isset($_GET['sUID'])) { die; } -if ($_POST['sUID'] == '') { +if ($_GET['sUID'] == '') { die; } require_once 'classes/model/AdditionalTables.php'; $oAdditionalTables = new AdditionalTables(); -$oAdditionalTables->deleteAll($_POST['sUID']); \ No newline at end of file +$oAdditionalTables->deleteAll($_GET['sUID']); + +G::Header('Location: additionalTablesList'); \ No newline at end of file diff --git a/workflow/engine/methods/additionalTables/additionalTablesList.php b/workflow/engine/methods/additionalTables/additionalTablesList.php index 129547be5..3985ff562 100644 --- a/workflow/engine/methods/additionalTables/additionalTablesList.php +++ b/workflow/engine/methods/additionalTables/additionalTablesList.php @@ -22,8 +22,24 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ - global $RBAC; +$RBAC->requirePermissions('PM_SETUP_ADVANCE'); +$G_PUBLISH = new Publisher; + +$oHeadPublisher =& headPublisher::getSingleton(); + +//$oHeadPublisher->usingExtJs('ux/Ext.ux.fileUploadField'); +$oHeadPublisher->addExtJsScript('additionalTables/additionalTablesList', false); //adding a javascript file .js +$oHeadPublisher->addContent('additionalTables/additionalTablesList'); //adding a html file .html. + +$labels = G::getTranslations(Array('ID_EXPORT','ID_IMPORT','ID_EDIT','ID_DELETE', 'ID_DATA', + 'ID_NEW_ADD_TABLE','ID_DESCRIPTION','ID_NAME','ID_CONFIRM','ID_ADDITIONAL_TABLES','ID_SELECT_FIRST_PM_TABLE_ROW', + 'ID_CONFIRM_DELETE_PM_TABLE')); + +$oHeadPublisher->assign('TRANSLATIONS', $labels); +G::RenderPage('publish', 'extJs'); + +/*global $RBAC; if ($RBAC->userCanAccess('PM_SETUP') != 1) { G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); G::header('location: ../login/login'); @@ -44,4 +60,4 @@ $G_ID_MENU_SELECTED = 'SETUP'; $G_PUBLISH = new Publisher; $G_PUBLISH->AddContent('propeltable', 'paged-table', 'additionalTables/additionalTablesList', $oCriteria, '', ''); -G::RenderPage('publishBlank', 'blank'); \ No newline at end of file +G::RenderPage('publishBlank', 'blank');*/ \ No newline at end of file diff --git a/workflow/engine/methods/additionalTables/data_additionalTablesData.php b/workflow/engine/methods/additionalTables/data_additionalTablesData.php new file mode 100644 index 000000000..38fb731e7 --- /dev/null +++ b/workflow/engine/methods/additionalTables/data_additionalTablesData.php @@ -0,0 +1,39 @@ +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + * + */ + +require_once 'classes/model/AdditionalTables.php'; +$oAdditionalTables = new AdditionalTables(); +$oAdditionalTables->createXmlList($_GET['sUID']); + +$ocaux = $oAdditionalTables->getDataCriteria($_GET['sUID']); + +$rs = AdditionalTablesPeer::DoSelectRs ($ocaux); +$rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); + +$rows = Array(); +while($rs->next()){ + $rows[] = $rs->getRow(); +} +echo G::json_encode($rows); \ No newline at end of file diff --git a/workflow/engine/methods/additionalTables/data_additionalTablesList.php b/workflow/engine/methods/additionalTables/data_additionalTablesList.php new file mode 100644 index 000000000..78f22da39 --- /dev/null +++ b/workflow/engine/methods/additionalTables/data_additionalTablesList.php @@ -0,0 +1,42 @@ +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + * + */ + +require_once 'classes/model/AdditionalTables.php'; + +$oCriteria = new Criteria('workflow'); +$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID); +$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME); +$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION); +$oCriteria->add(AdditionalTablesPeer::ADD_TAB_UID, '', Criteria::NOT_EQUAL); + +$oDataset = AdditionalTablesPeer::doSelectRS ( $oCriteria ); +$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC ); + +$addTables = Array(); +while( $oDataset->next() ) { + $addTables[] = $oDataset->getRow(); + +} +echo G::json_encode($addTables); \ No newline at end of file