diff --git a/workflow/engine/controllers/pmTables.php b/workflow/engine/controllers/pmTables.php index 890490fa6..dccd70cd0 100755 --- a/workflow/engine/controllers/pmTables.php +++ b/workflow/engine/controllers/pmTables.php @@ -169,10 +169,27 @@ class pmTables extends Controller break; } } - return $repTabPluginPermissions; } + /** + * reportPermissionForm pmtable + * @param string $httpData->ADD_TAB_UID + * @param string $httpData->ADD_TAB_NAME + */ + public function rptPermissionList($httpData) + { + $this->setJSVar('ADD_TAB_NAME', $httpData->ADD_TAB_NAME); + $this->setJSVar('ADD_TAB_UID', $httpData->ADD_TAB_UID); + $this->setJSVar('PRO_UID', $httpData->PRO_UID); + + $this->includeExtJS('pmReports/rptPermissionList', false); + $this->includeExtJS('pmReports/reportPermissionForm', false); + $this->setView('pmReports/reportPermissionForm'); + $this->setView('pmReports/rptPermissionList'); + + G::RenderPage('publish', 'extJs'); + } + } - diff --git a/workflow/engine/templates/pmTables/list.js b/workflow/engine/templates/pmTables/list.js index bd221da6d..ade2e1228 100755 --- a/workflow/engine/templates/pmTables/list.js +++ b/workflow/engine/templates/pmTables/list.js @@ -15,6 +15,7 @@ var smodel; var rowsSelected; var importOption; var externalOption; +var externalPermissions; var currentSelectedRow = -1; Ext.onReady(function(){ @@ -115,15 +116,25 @@ Ext.onReady(function(){ contextMenuItems.push(exportButton); if (_PLUGIN_SIMPLEREPORTS !== false) { - externalOption = new Ext.Action({ - text:'', - handler: function() { - updateTag('plugin@simplereport'); - }, - disabled: false - }); - - contextMenuItems.push(externalOption); + externalOption = new Ext.Action({ + text:'', + iconCls: 'x-btn-text button_menu_ext ss_sprite ss_report_picture', + handler: function() { + updateTag('plugin@simplereport'); + }, + disabled: false + }); + externalPermissions = new Ext.Action({ + text: _('ID_PERMISSIONS'), + iconCls: 'x-btn-text button_menu_ext ss_sprite ss_key_add', + handler: function() { + updateTagPermissions('plugin@simplereport'); + }, + disabled: false + }); + contextMenuItems.push('-'); + contextMenuItems.push(externalOption); + contextMenuItems.push(externalPermissions); } contextMenu = new Ext.menu.Menu({ @@ -343,28 +354,30 @@ Ext.onReady(function(){ }) }); - infoGrid.on('rowcontextmenu', - function (grid, rowIndex, evt) { - var sm = grid.getSelectionModel(); - sm.selectRow(rowIndex, sm.isSelected(rowIndex)); + infoGrid.on('rowcontextmenu', function (grid, rowIndex, evt) { + var sm = grid.getSelectionModel(); + sm.selectRow(rowIndex, sm.isSelected(rowIndex)); - var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections(); - tag = rowsSelected[0].get('ADD_TAB_TAG'); - text = (tag) ? _('ID_CONVERT_NATIVE_REP_TABLE') : _('ID_CONVERT_SIMPLE_REPORT'); + var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections(); - if (externalOption) { + if (externalOption) { + tag = rowsSelected[0].get('ADD_TAB_TAG'); + if (tag) { + text = _('ID_CONVERT_NATIVE_REP_TABLE'); + externalPermissions.setDisabled(false); + } else { + text = _('ID_CONVERT_SIMPLE_REPORT'); + externalPermissions.setDisabled(true); + } externalOption.setText(text); if (rowsSelected[0].get('PRO_UID')) { - externalOption.setDisabled(false); + externalOption.setDisabled(false); } else { - externalOption.setDisabled(true); + externalOption.setDisabled(true); } - externalOption.setHidden((rowsSelected[0].get("TYPE") != "CLASSIC" && rowsSelected[0].get("DBS_UID") == "workflow")? false : true); - } - }, - this - ); + } + },this); infoGrid.on('contextmenu', function(evt){evt.preventDefault();}, this); infoGrid.addListener('rowcontextmenu',onMessageContextMenu, this); @@ -515,10 +528,6 @@ ImportPMTable = function(){ fieldLabel: '', boxLabel: _('ID_OVERWRITE_EXIST'), // 'Overwrite if exists?', name: 'form[OVERWRITE]' - }, { - xtype: "hidden", - name: "form[PRO_UID]", - value: (typeof PRO_UID == "string" && PRO_UID != "")? PRO_UID : "" }], buttons: [{ text: _('ID_UPLOAD'), @@ -696,6 +705,14 @@ function updateTag(value) }); } +function updateTagPermissions(){ + var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections(); + if (rowsSelected){ + console.info(rowsSelected); + location.href = 'pmTables/rptPermissionList?ADD_TAB_NAME='+ rowsSelected[0].get('ADD_TAB_NAME') +'&ADD_TAB_UID='+ rowsSelected[0].get('ADD_TAB_UID')+'&PRO_UID='+PRO_UID; + } +}; + function PopupCenter(pageURL, title,w,h) { var left = (Ext.getBody().getViewSize().width/3); var top = (Ext.getBody().getViewSize().height/3);