From a0c813b3e4461cf09b94095b2b014244bb3ce492 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 22:02:07 -0400 Subject: [PATCH 1/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/methods/cases/ajaxListener.php | 35 ++++ .../BusinessModel/Cases/ChangeLog.php | 188 ++++++++++++++++++ .../engine/templates/cases/caseChangeLog.html | 11 + .../engine/templates/cases/caseChangeLog.js | 106 ++++++++++ .../engine/templates/cases/caseHistory.js | 31 --- .../cases/caseHistoryDynaformPage.js | 46 ----- workflow/engine/templates/cases/open.js | 38 ++++ 7 files changed, 378 insertions(+), 77 deletions(-) create mode 100644 workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php create mode 100644 workflow/engine/templates/cases/caseChangeLog.html create mode 100644 workflow/engine/templates/cases/caseChangeLog.js diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index 8cb426f07..4369c55f7 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -149,6 +149,7 @@ class Ajax $options[] = Array('text' => G::LoadTranslation('ID_CASE_HISTORY'), 'fn' => 'caseHistory'); $options[] = Array('text' => G::LoadTranslation('ID_HISTORY_MESSAGE_CASE'), 'fn' => 'messageHistory'); $options[] = Array('text' => G::LoadTranslation('ID_DYNAFORMS'), 'fn' => 'dynaformHistory'); + $options[] = Array('text' => G::LoadTranslation('ID_DYNAFORM_HISTORY'), 'fn' => 'changeLogHistory'); $options[] = Array('text' => G::LoadTranslation('ID_UPLOADED_DOCUMENTS'), 'fn' => 'uploadedDocuments'); $options[] = Array('text' => G::LoadTranslation('ID_GENERATED_DOCUMENTS'), 'fn' => 'generatedDocuments'); @@ -407,6 +408,27 @@ class Ajax G::RenderPage('publish', 'extJs'); } + public function changeLogHistory() + { + error_log('AAAAA!!!!!'); + //ACA VIENEN MIS CAMBIOS!!! + global $G_PUBLISH; + G::loadClass('configuration'); + $idHistory = sprintf( + '%s_%s_%s', + $_SESSION['PROCESS'], + $_SESSION['APPLICATION'], + $_SESSION['TASK'] + ); + + $oHeadPublisher = & headPublisher::getSingleton(); + $conf = new Configurations(); + $oHeadPublisher->addExtJsScript('cases/caseChangeLog', true); //adding a javascript file .js + $oHeadPublisher->addContent('cases/caseChangeLog'); //adding a html file .html. + $oHeadPublisher->assign('ID_HISTORY', $idHistory); + G::RenderPage('publish', 'extJs'); + } + public function uploadedDocuments() { if (!isset($_SESSION['USER_LOGGED'])) { @@ -687,6 +709,19 @@ class Ajax print G::json_encode($result); } + public function changeLogAjax() + { + $changeLog = new ProcessMaker\BusinessModel\Cases\ChangeLog(); + $idHistory = $_REQUEST["idHistory"]; + $idHistoryArray = explode("_", $idHistory); + $proUid = $idHistoryArray[0]; + $appUid = $idHistoryArray[1]; + $tasUid = $idHistoryArray[2]; + $start = isset($_REQUEST['start']) ? (int) $_REQUEST['start']: 0; + $limit = isset($_REQUEST['limit']) ? (int) $_REQUEST['limit']: 15; + echo G::json_encode($changeLog->getChangeLog($appUid, $proUid, $tasUid, $start, $limit)); + } + public function changeLogTab() { if (!isset($_SESSION['USER_LOGGED'])) { diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php new file mode 100644 index 000000000..69ea9269a --- /dev/null +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php @@ -0,0 +1,188 @@ +loadPermissions($appUid, $proUid, $tasUid); + $result = $this->getResultSet($appUid); + $totalCount = $this->readRecords($result, $start, $limit); + return ['data' => $this->tree, 'totalCount' => $totalCount]; + } + + private function getResultSet($appUid) + { + $conn = Propel::getConnection('workflow'); + $stmt = $conn->createStatement(); + $sql = 'SELECT APP_HISTORY.*, USERS.USR_USERNAME FROM APP_HISTORY LEFT JOIN USERS ON(APP_HISTORY.USR_UID=USERS.USR_UID)' + . ' WHERE APP_UID="'.$appUid.'" ORDER BY HISTORY_DATE ASC'; + if (!$stmt->execute($sql)) { + throw Exception('Unable to read history'); + } + return $stmt->getResultSet(); + } + + private function readRecords($result, $start = 0, $limit = 15) + { + $index = 0; + while ($result->next()) { + $row = $result->getRow(); + $data = unserialize($row['HISTORY_DATA']); + if ($this->isEmpty($data)) { + continue; + } + if ($index < $start) { + $index += $this->updateData($data, $row, + $this->hasPermission($row['DYN_UID']), + false); + continue; + } + $a = $this->updateData($data, $row, + $this->hasPermission($row['DYN_UID']), true); + $limit-= $a; + $index+= $a; + error_log("+$a = $index / $limit"); + if ($limit < 0) { + $index+=1; + break; + } + } + return $index; + } + + private function isEmpty($data) + { + foreach ($data as $key => $value) { + if (array_search($key, $this->reserved) !== false) { + continue; + } + return false; + } + return true; + } + + private function updateData($data, $row, $hasPermission, $addToTree = false) + { + $i = 0; + foreach ($data as $key => $value) { + if (array_search($key, $this->reserved) !== false) { + continue; + } + if ($hasPermission && (!isset($this->values[$key]) || $this->values[$key] !== $value)) { + if ($addToTree) { + $node = new StdClass(); + $node->field = $key; + $previousValue = !isset($this->values[$key]) ? null : $this->values[$key]; + $node->previousValue = (string) $previousValue; + $node->currentValue = (string) $value; + $node->previousValueType = gettype($previousValue); + $node->currentValueType = gettype($value); + $node->record = $this->getHistoryTitle($row); + $this->tree[] = $node; + } +// error_log($key); + $i++; + } + $this->values[$key] = $value; + } + return $i; + } + + private function getHistoryTitle($row) + { + return $this->getObjectTitle($row['TAS_UID'], 'TASK') + .' / '.$this->getObjectTitle($row['DYN_UID'], $row['OBJ_TYPE']) + .' / '.G::LoadTranslation('ID_LAN_UPDATE_DATE').': '.$row['HISTORY_DATE'] + .' / '.G::LoadTranslation('ID_USER').': '.$row['USR_USERNAME']; + } + + private function getObjectTitle($uid, $objType) + { + switch ($objType) { + case 'DYNAFORM': + $obj = new Dynaform(); + $obj->Load($uid); + $title = $obj->getDynTitle(); + break; + case 'OUTPUT_DOCUMENT': + case 'INPUT_DOCUMENT': + $obj = new AppDocument(); + $obj->load($uid); + $title = $obj->getDynTitle(); + break; + case 'TASK': + $obj = new Task(); + $obj->load($uid); + $title = $obj->getTasTitle(); + break; + default: + $title = $uid; + } + return $title; + } + + private function loadPermissions($APP_UID, $PRO_UID, $TAS_UID) + { + G::LoadClass('case'); + $oCase = new Cases(); + $oCase->verifyTable(); + $this->permissions = $oCase->getAllObjects( + $PRO_UID, $APP_UID, $TAS_UID, $_SESSION['USER_LOGGED'] + ); + } + + private function hasPermission($uid) + { + foreach ($this->permissions as $type => $ids) { + if (array_search($uid, $ids) !== false) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/workflow/engine/templates/cases/caseChangeLog.html b/workflow/engine/templates/cases/caseChangeLog.html new file mode 100644 index 000000000..dcc0a87f3 --- /dev/null +++ b/workflow/engine/templates/cases/caseChangeLog.html @@ -0,0 +1,11 @@ + + +
+ diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js new file mode 100644 index 000000000..f1a24dbd5 --- /dev/null +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -0,0 +1,106 @@ +Ext.onReady(function () { + Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); + Ext.QuickTips.init(); + var store; + var viewport = new Ext.Viewport({ + layout: 'border', + items: [ + new Ext.grid.GridPanel({ + region: 'center', + "width": "100%", + "height": 300, + "stateful": true, + "stateId": "stateGrid", + enableColumnHide: false, + view: new Ext.grid.GroupingView({ + forceFit: true, + enableGroupingMenu:false + }), + "store": store = new Ext.data.GroupingStore({ + pageSize: 15, + fields: [ + {name: 'record'}, + {name: 'field'}, + {name: 'previousValue'}, + {name: 'currentValue'}, + {name: 'previousValueType'}, + {name: 'currentValueType'}, + {name: 'task'}, + {name: 'updateDate'}, + {name: 'user'} + ], + groupField: 'record', + remoteSort: true, + proxy: new Ext.data.HttpProxy({ + url: '/sysworkflow/en/neoclassic/cases/ajaxListener?action=changeLogAjax&idHistory='+ID_HISTORY, + reader: new Ext.data.JsonReader({ + fields: [ + {name: 'record'}, + {name: 'field'}, + {name: 'previousValue'}, + {name: 'currentValue'}, + {name: 'previousValueType'}, + {name: 'currentValueType'}, + {name: 'task'}, + {name: 'updateDate'}, + {name: 'user'} + ], + root: 'data', + totalProperty: 'totalCount' + }), + }) + }) + , colModel: new Ext.grid.ColumnModel({ + "columns": [ + { + header: _('ID_FIELD_NAME'), + width: 120, + sortable: false, + dataIndex: 'field' + }, + { + header: _('ID_PREV_VALUES'), + flex: 1, + sortable: false, + dataIndex: 'previousValue', + renderer: function (value, p, record) { + return value + + ' '; + } + }, + { + header: _('ID_CURRENT_VALUES'), + flex: 1, + sortable: false, + dataIndex: 'currentValue', + renderer: function (value, p, record) { + return value + + ' '; + } + }, + { + header: '', + width: 1, + sortable: false, + hidden: true, + hideable: true, + dataIndex: 'record' + } + ]}), + bbar: new Ext.PagingToolbar({ + pageSize: 20, + store: store, + displayInfo: true, + displayMsg: _('ID_GRID_PAGE_DISPLAYING_ITEMS'), + emptyMsg: "", + items: [] + }) + }) + + ] + }); + + store.load(); +}); diff --git a/workflow/engine/templates/cases/caseHistory.js b/workflow/engine/templates/cases/caseHistory.js index 3b922bfca..d8d0596ab 100644 --- a/workflow/engine/templates/cases/caseHistory.js +++ b/workflow/engine/templates/cases/caseHistory.js @@ -288,37 +288,6 @@ }), store: store, tbar:[ - { - text:_("ID_DYNAFORM_HISTORY"), - id:'changueLogFormRadioId', - iconCls: 'button_menu_ext', - icon: '/images/ext/gray/shapes/hourglass.png', - handler: function(){ - var rowSelected = processesGrid.getSelectionModel().getSelected(); - - if( rowSelected ){ - window.parent.historyGridListChangeLogGlobal.idHistory = rowSelected.data.ID_HISTORY; - window.parent.historyGridListChangeLogGlobal.tasTitle = rowSelected.data.TAS_TITLE; - - var idHistory = window.parent.historyGridListChangeLogGlobal.idHistory; - window.parent.Actions.tabFrame('changeLogTab'+idHistory); - } - else{ - Ext.Msg.show({ - title:'', - msg: TRANSLATIONS.ID_NO_SELECTION_WARNING, - buttons: Ext.Msg.INFO, - fn: function(){}, - animEl: 'elId', - icon: Ext.MessageBox.INFO, - buttons: Ext.MessageBox.OK - }); - } - - - }, - disabled:false - }, { xtype: 'tbfill' } diff --git a/workflow/engine/templates/cases/caseHistoryDynaformPage.js b/workflow/engine/templates/cases/caseHistoryDynaformPage.js index ba6c2f94b..2e5591656 100644 --- a/workflow/engine/templates/cases/caseHistoryDynaformPage.js +++ b/workflow/engine/templates/cases/caseHistoryDynaformPage.js @@ -403,52 +403,6 @@ }), store: store, tbar:[ - { - - text:_("ID_DYNAFORM_HISTORY"), - id:'sendMailMessageFormRadioId', - iconCls: 'button_menu_ext', - icon: '/images/ext/gray/shapes/hourglass.png', - handler: function(){ - - var rowSelected = processesGrid.getSelectionModel().getSelected(); - - if( rowSelected ){ - //!dataGrid - - //historyDynaformGridGlobal construct - historyDynaformGridHistoryGlobal.PRO_UID = rowSelected.data.PRO_UID; - historyDynaformGridHistoryGlobal.APP_UID = rowSelected.data.APP_UID; - historyDynaformGridHistoryGlobal.TAS_UID = rowSelected.data.TAS_UID; - historyDynaformGridHistoryGlobal.DYN_UID = rowSelected.data.DYN_UID; - historyDynaformGridHistoryGlobal.DYN_TITLE = rowSelected.data.DYN_TITLE; - - var PRO_UID = historyDynaformGridHistoryGlobal.PRO_UID; - var APP_UID = historyDynaformGridHistoryGlobal.APP_UID; - var TAS_UID = historyDynaformGridHistoryGlobal.TAS_UID; - var DYN_UID = historyDynaformGridHistoryGlobal.DYN_UID; - var DYN_TITLE = historyDynaformGridHistoryGlobal.DYN_TITLE; - - historyDynaformGridHistory(); - } - else{ - Ext.Msg.show({ - title:'', - msg: TRANSLATIONS.ID_NO_SELECTION_WARNING, - buttons: Ext.Msg.INFO, - fn: function(){}, - animEl: 'elId', - icon: Ext.MessageBox.INFO, - buttons: Ext.MessageBox.OK - - }); - } - - - - }, - disabled:false - }, { xtype: 'tbseparator' }, diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index 459759b0f..2bf16a5d4 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -780,6 +780,44 @@ Ext.onReady(function(){ }); } + Actions.changeLogHistory = function() + { + Ext.Ajax.request({ + url : 'ajaxListener' , + params : {action : 'verifySession'}, + success: function ( result, request ) { + var data = Ext.util.JSON.decode(result.responseText); + if( data.lostSession ) { + Ext.Msg.show({ + title: _('ID_ERROR'), + msg: data.message, + animEl: 'elId', + icon: Ext.MessageBox.ERROR, + buttons: Ext.MessageBox.OK, + fn : function(btn) { + try + { + prnt = parent.parent; + top.location = top.location; + } + catch (err) + { + parent.location = parent.location; + } + } + }); + } else { + Actions.tabFrame('changeLogHistory'); + } + }, + failure: function ( result, request) { + if (typeof(result.responseText) != 'undefined') { + Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); + } + } + }); + } + Actions.uploadedDocuments = function() { Ext.Ajax.request({ From 7973236975d2e3cfe728a0310840d23112c2f46f Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 22:46:40 -0400 Subject: [PATCH 2/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/cases/ajaxListener.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index 4369c55f7..a26b74a6d 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -410,8 +410,6 @@ class Ajax public function changeLogHistory() { - error_log('AAAAA!!!!!'); - //ACA VIENEN MIS CAMBIOS!!! global $G_PUBLISH; G::loadClass('configuration'); $idHistory = sprintf( From c278a935940c614876677971367ef9d66012f779 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 23:04:27 -0400 Subject: [PATCH 3/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessModel/Cases/ChangeLog.php | 16 ++--- .../engine/templates/cases/caseChangeLog.js | 2 +- workflow/engine/templates/cases/open.js | 71 +++++++++---------- 3 files changed, 43 insertions(+), 46 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php index 69ea9269a..5b77b6684 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php @@ -13,8 +13,6 @@ use Task; /** * Return the ChangeLog of a Dynaform - * http://localhost:8083/sysworkflow/en/neoclassic/cases/casesHistoryDynaformPage_Ajax?actionAjax=showDynaformListHistory&PRO_UID=23134954556f0727c3fde11063016937&APP_UID=93748078756f16cd8e665b7099829333&TAS_UID=16304814956f0729495da25001454322&DYN_UID=12434578956f07308e54d44056464541 - * http://localhost:8083/sysworkflow/en/neoclassic/cases/ajaxListener?action=changeLogTab&idHistory=23134954556f0727c3fde11063016937_48789444056f0747d7e2e19034608525_16304814956f0729495da25001454322 */ class ChangeLog { @@ -58,11 +56,13 @@ class ChangeLog private function getResultSet($appUid) { $conn = Propel::getConnection('workflow'); - $stmt = $conn->createStatement(); - $sql = 'SELECT APP_HISTORY.*, USERS.USR_USERNAME FROM APP_HISTORY LEFT JOIN USERS ON(APP_HISTORY.USR_UID=USERS.USR_UID)' - . ' WHERE APP_UID="'.$appUid.'" ORDER BY HISTORY_DATE ASC'; - if (!$stmt->execute($sql)) { - throw Exception('Unable to read history'); + $sql = 'SELECT APP_HISTORY.*, USERS.USR_USERNAME FROM APP_HISTORY' + . ' LEFT JOIN USERS ON(APP_HISTORY.USR_UID=USERS.USR_UID)' + . ' WHERE APP_UID=? ORDER BY HISTORY_DATE ASC'; + $stmt = $conn->prepareStatement($sql); + $stmt->set(1, $appUid); + if (!$stmt->executeQuery()) { + throw Exception(G::LoadTranslation('ID_MSG_AJAX_FAILURE')); } return $stmt->getResultSet(); } @@ -86,7 +86,6 @@ class ChangeLog $this->hasPermission($row['DYN_UID']), true); $limit-= $a; $index+= $a; - error_log("+$a = $index / $limit"); if ($limit < 0) { $index+=1; break; @@ -125,7 +124,6 @@ class ChangeLog $node->record = $this->getHistoryTitle($row); $this->tree[] = $node; } -// error_log($key); $i++; } $this->values[$key] = $value; diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js index f1a24dbd5..c6aa82c95 100644 --- a/workflow/engine/templates/cases/caseChangeLog.js +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -32,7 +32,7 @@ Ext.onReady(function () { groupField: 'record', remoteSort: true, proxy: new Ext.data.HttpProxy({ - url: '/sysworkflow/en/neoclassic/cases/ajaxListener?action=changeLogAjax&idHistory='+ID_HISTORY, + url: 'ajaxListener?action=changeLogAjax&idHistory='+ID_HISTORY, reader: new Ext.data.JsonReader({ fields: [ {name: 'record'}, diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index 2bf16a5d4..17897a44c 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -780,43 +780,42 @@ Ext.onReady(function(){ }); } - Actions.changeLogHistory = function() - { - Ext.Ajax.request({ - url : 'ajaxListener' , - params : {action : 'verifySession'}, - success: function ( result, request ) { - var data = Ext.util.JSON.decode(result.responseText); - if( data.lostSession ) { - Ext.Msg.show({ - title: _('ID_ERROR'), - msg: data.message, - animEl: 'elId', - icon: Ext.MessageBox.ERROR, - buttons: Ext.MessageBox.OK, - fn : function(btn) { - try - { - prnt = parent.parent; - top.location = top.location; - } - catch (err) - { - parent.location = parent.location; - } - } - }); - } else { - Actions.tabFrame('changeLogHistory'); + Actions.changeLogHistory = function () + { + Ext.Ajax.request({ + url: 'ajaxListener', + params: {action: 'verifySession'}, + success: function (result, request) { + var data = Ext.util.JSON.decode(result.responseText); + if (data.lostSession) { + Ext.Msg.show({ + title: _('ID_ERROR'), + msg: data.message, + animEl: 'elId', + icon: Ext.MessageBox.ERROR, + buttons: Ext.MessageBox.OK, + fn: function (btn) { + try + { + prnt = parent.parent; + top.location = top.location; + } catch (err) + { + parent.location = parent.location; + } + } + }); + } else { + Actions.tabFrame('changeLogHistory'); + } + }, + failure: function (result, request) { + if (typeof (result.responseText) != 'undefined') { + Ext.MessageBox.alert(_('ID_FAILED'), result.responseText); + } } - }, - failure: function ( result, request) { - if (typeof(result.responseText) != 'undefined') { - Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); - } - } - }); - } + }); + } Actions.uploadedDocuments = function() { From 5afd26e00e5d13b0ad4824f84e019c843511b728 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 23:10:56 -0400 Subject: [PATCH 4/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessModel/Cases/ChangeLog.php | 15 +- .../engine/templates/cases/caseChangeLog.js | 162 +++++++++--------- 2 files changed, 88 insertions(+), 89 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php index 5b77b6684..675944771 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php @@ -44,8 +44,7 @@ class ChangeLog */ private $permissions = []; - public function getChangeLog($appUid, $proUid, $tasUid, $start, - $limit) + public function getChangeLog($appUid, $proUid, $tasUid, $start, $limit) { $this->loadPermissions($appUid, $proUid, $tasUid); $result = $this->getResultSet($appUid); @@ -57,8 +56,8 @@ class ChangeLog { $conn = Propel::getConnection('workflow'); $sql = 'SELECT APP_HISTORY.*, USERS.USR_USERNAME FROM APP_HISTORY' - . ' LEFT JOIN USERS ON(APP_HISTORY.USR_UID=USERS.USR_UID)' - . ' WHERE APP_UID=? ORDER BY HISTORY_DATE ASC'; + .' LEFT JOIN USERS ON(APP_HISTORY.USR_UID=USERS.USR_UID)' + .' WHERE APP_UID=? ORDER BY HISTORY_DATE ASC'; $stmt = $conn->prepareStatement($sql); $stmt->set(1, $appUid); if (!$stmt->executeQuery()) { @@ -77,9 +76,8 @@ class ChangeLog continue; } if ($index < $start) { - $index += $this->updateData($data, $row, - $this->hasPermission($row['DYN_UID']), - false); + $index += $this->updateData( + $data, $row, $this->hasPermission($row['DYN_UID']), false); continue; } $a = $this->updateData($data, $row, @@ -112,7 +110,8 @@ class ChangeLog if (array_search($key, $this->reserved) !== false) { continue; } - if ($hasPermission && (!isset($this->values[$key]) || $this->values[$key] !== $value)) { + if ($hasPermission && (!isset($this->values[$key]) || $this->values[$key] + !== $value)) { if ($addToTree) { $node = new StdClass(); $node->field = $key; diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js index c6aa82c95..9164f7235 100644 --- a/workflow/engine/templates/cases/caseChangeLog.js +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -5,19 +5,35 @@ Ext.onReady(function () { var viewport = new Ext.Viewport({ layout: 'border', items: [ - new Ext.grid.GridPanel({ + new Ext.grid.GridPanel({ region: 'center', - "width": "100%", - "height": 300, - "stateful": true, - "stateId": "stateGrid", - enableColumnHide: false, - view: new Ext.grid.GroupingView({ - forceFit: true, - enableGroupingMenu:false - }), - "store": store = new Ext.data.GroupingStore({ - pageSize: 15, + "width": "100%", + "height": 300, + "stateful": true, + "stateId": "stateGrid", + "enableColumnHide": false, + "view": new Ext.grid.GroupingView({ + forceFit: true, + enableGroupingMenu: false + }), + "store": store = new Ext.data.GroupingStore({ + pageSize: 15, + fields: [ + {name: 'record'}, + {name: 'field'}, + {name: 'previousValue'}, + {name: 'currentValue'}, + {name: 'previousValueType'}, + {name: 'currentValueType'}, + {name: 'task'}, + {name: 'updateDate'}, + {name: 'user'} + ], + groupField: 'record', + remoteSort: true, + proxy: new Ext.data.HttpProxy({ + url: 'ajaxListener?action=changeLogAjax&idHistory=' + ID_HISTORY, + reader: new Ext.data.JsonReader({ fields: [ {name: 'record'}, {name: 'field'}, @@ -29,77 +45,61 @@ Ext.onReady(function () { {name: 'updateDate'}, {name: 'user'} ], - groupField: 'record', - remoteSort: true, - proxy: new Ext.data.HttpProxy({ - url: 'ajaxListener?action=changeLogAjax&idHistory='+ID_HISTORY, - reader: new Ext.data.JsonReader({ - fields: [ - {name: 'record'}, - {name: 'field'}, - {name: 'previousValue'}, - {name: 'currentValue'}, - {name: 'previousValueType'}, - {name: 'currentValueType'}, - {name: 'task'}, - {name: 'updateDate'}, - {name: 'user'} - ], - root: 'data', - totalProperty: 'totalCount' - }), - }) - }) - , colModel: new Ext.grid.ColumnModel({ - "columns": [ - { - header: _('ID_FIELD_NAME'), - width: 120, - sortable: false, - dataIndex: 'field' - }, - { - header: _('ID_PREV_VALUES'), - flex: 1, - sortable: false, - dataIndex: 'previousValue', - renderer: function (value, p, record) { - return value + - ' '; - } - }, - { - header: _('ID_CURRENT_VALUES'), - flex: 1, - sortable: false, - dataIndex: 'currentValue', - renderer: function (value, p, record) { - return value + - ' '; - } - }, - { - header: '', - width: 1, - sortable: false, - hidden: true, - hideable: true, - dataIndex: 'record' - } - ]}), - bbar: new Ext.PagingToolbar({ - pageSize: 20, - store: store, - displayInfo: true, - displayMsg: _('ID_GRID_PAGE_DISPLAYING_ITEMS'), - emptyMsg: "", - items: [] - }) + root: 'data', + totalProperty: 'totalCount' + }), }) + }), + "colModel": new Ext.grid.ColumnModel({ + "columns": [ + { + header: _('ID_FIELD_NAME'), + width: 120, + sortable: false, + dataIndex: 'field' + }, + { + header: _('ID_PREV_VALUES'), + flex: 1, + sortable: false, + dataIndex: 'previousValue', + renderer: function (value, p, record) { + return value + + ' '; + } + }, + { + header: _('ID_CURRENT_VALUES'), + flex: 1, + sortable: false, + dataIndex: 'currentValue', + renderer: function (value, p, record) { + return value + + ' '; + } + }, + { + header: '', + width: 1, + sortable: false, + hidden: true, + hideable: true, + dataIndex: 'record' + } + ]}), + "bbar": new Ext.PagingToolbar({ + pageSize: 20, + store: store, + displayInfo: true, + displayMsg: '{0} - {1}',, + emptyMsg: "", + items: [] + }) + }) - ] + ] }); store.load(); From d1f5f90cac7825e3864f7353306be5970ba13fb1 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 23:12:31 -0400 Subject: [PATCH 5/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/templates/cases/caseChangeLog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js index 9164f7235..be12fd65a 100644 --- a/workflow/engine/templates/cases/caseChangeLog.js +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -93,7 +93,7 @@ Ext.onReady(function () { pageSize: 20, store: store, displayInfo: true, - displayMsg: '{0} - {1}',, + displayMsg: '{0} - {1}', emptyMsg: "", items: [] }) From 0d72d4585d5fcb238c716afb246b9301000dfea9 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Wed, 23 Mar 2016 23:14:07 -0400 Subject: [PATCH 6/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/templates/cases/caseChangeLog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js index be12fd65a..d1f4bbeb0 100644 --- a/workflow/engine/templates/cases/caseChangeLog.js +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -90,7 +90,7 @@ Ext.onReady(function () { } ]}), "bbar": new Ext.PagingToolbar({ - pageSize: 20, + pageSize: 15, store: store, displayInfo: true, displayMsg: '{0} - {1}', From 4c590fcdf8519d33ee9deb4c1a181bb868117147 Mon Sep 17 00:00:00 2001 From: davidcallizaya Date: Thu, 24 Mar 2016 00:12:23 -0400 Subject: [PATCH 7/7] =?UTF-8?q?HOR-472=20Change=20log=20de=20dynaforms=20o?= =?UTF-8?q?btiene=20un=20orden=20extra=C3=B1o=20de=20los=20cambios=20+=20R?= =?UTF-8?q?efactor=20of=20ChangeLog=20History=20-=20Removed=20paging=20+?= =?UTF-8?q?=20Improved=20type=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessModel/Cases/ChangeLog.php | 4 ---- .../engine/templates/cases/caseChangeLog.html | 7 ++++++ .../engine/templates/cases/caseChangeLog.js | 22 ++++++------------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php index 675944771..a435e3789 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases/ChangeLog.php @@ -84,10 +84,6 @@ class ChangeLog $this->hasPermission($row['DYN_UID']), true); $limit-= $a; $index+= $a; - if ($limit < 0) { - $index+=1; - break; - } } return $index; } diff --git a/workflow/engine/templates/cases/caseChangeLog.html b/workflow/engine/templates/cases/caseChangeLog.html index dcc0a87f3..2ca2abb30 100644 --- a/workflow/engine/templates/cases/caseChangeLog.html +++ b/workflow/engine/templates/cases/caseChangeLog.html @@ -6,6 +6,13 @@ body{ color:black !important; } + button.typeButton{ + border-radius: 4px; + background-color: white; + border: 1px solid rgb(192, 192, 192); + font-size: 11px; + color: rgb(192, 192, 192); + }
diff --git a/workflow/engine/templates/cases/caseChangeLog.js b/workflow/engine/templates/cases/caseChangeLog.js index d1f4bbeb0..ebdf9e95c 100644 --- a/workflow/engine/templates/cases/caseChangeLog.js +++ b/workflow/engine/templates/cases/caseChangeLog.js @@ -64,9 +64,9 @@ Ext.onReady(function () { sortable: false, dataIndex: 'previousValue', renderer: function (value, p, record) { - return value + - ' '; + return ' ' + value; } }, { @@ -75,9 +75,9 @@ Ext.onReady(function () { sortable: false, dataIndex: 'currentValue', renderer: function (value, p, record) { - return value + - ' '; + return ' ' + value; } }, { @@ -88,15 +88,7 @@ Ext.onReady(function () { hideable: true, dataIndex: 'record' } - ]}), - "bbar": new Ext.PagingToolbar({ - pageSize: 15, - store: store, - displayInfo: true, - displayMsg: '{0} - {1}', - emptyMsg: "", - items: [] - }) + ]}) }) ]