Robert Vogel has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/283173

Change subject: PermissionManager is now easier extendable and has a 
getHTMLTable method
......................................................................

PermissionManager is now easier extendable and has a getHTMLTable method

* Added trigger BSPermissionManagerAfterInitComponent
* Added getHTMLTable function for possible export

=> Needs merge to master!

Change-Id: I2085e9e20cca9cfd148b3f0063c0445456986fc0
---
M PermissionManager/resources/BS.PermissionManager/panel/Manager.js
1 file changed, 77 insertions(+), 9 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions 
refs/changes/73/283173/1

diff --git a/PermissionManager/resources/BS.PermissionManager/panel/Manager.js 
b/PermissionManager/resources/BS.PermissionManager/panel/Manager.js
index 5069eb0..a8366c7 100644
--- a/PermissionManager/resources/BS.PermissionManager/panel/Manager.js
+++ b/PermissionManager/resources/BS.PermissionManager/panel/Manager.js
@@ -61,22 +61,90 @@
 
                me.title = 
mw.message('bs-permissionmanager-btn-group-label').plain() + ' user';
 
+               me.gridPermissions = new BS.PermissionManager.grid.Permissions({
+                       region: 'center'
+               });
+               me.treeGroups = new BS.PermissionManager.tree.Groups({
+                       region: 'west',
+                       collapsed: true,
+                       collapsible: true,
+                       width: 200
+               });
                me.items = [
-                       new BS.PermissionManager.grid.Permissions({
-                               region: 'center'
-                       }),
-                       new BS.PermissionManager.tree.Groups({
-                               region: 'west',
-                               collapsed: true,
-                               collapsible: true,
-                               width: 200
-                       })
+                       me.gridPermissions,
+                       me.treeGroups
                ];
                me.buttons = [
                        me.btnTemplateEditor,
                        me.btnOK,
                        me.btnCancel
                ];
+
+               $( document ).trigger(
+                       'BSPermissionManagerAfterInitComponent',
+                       [me]
+               );
                me.callParent(arguments);
+       },
+
+       getHTMLTable: function() {
+               var me = this;
+               var dfd = $.Deferred();
+               var aSelection = 
me.treeGroups.getSelectionModel().getSelection();
+               var sGroup = aSelection[0].internalId;
+               var sNs = mw.config.get( 'bsPermissionManagerNamespaces', [] );
+
+               var $table = $( '<table>' );
+               var $row = null;
+               var $cell = null;
+               $row = $( '<tr>' );
+               $table.append($row);
+               $cell = $( '<td>' );
+               $row.append( $cell );
+               $cell.append( 'Recht' );
+               $cell = $( '<td>' );
+               $row.append( $cell );
+               $cell.append( 'Wiki' );
+               for( var i = 0; i < sNs.length; i++ ) {
+                       $cell = $( '<td>' );
+                       $row.append( $cell );
+                       $cell.append( sNs[i].name );
+               }
+               //only namespace specific permissions
+               me.gridPermissions.store.data.each( function(record, i) {
+                       if( record.data.type !== 1 ) {
+                               return;
+                       }
+                       $row = $( '<tr>' );
+                       $table.append($row);
+                       $cell = $( '<td>' );
+                       $row.append( $cell );
+                       $cell.append( record.data.right );
+                       $cell = $( '<td>' );
+                       $row.append( $cell );
+                       $cell.append( record.data['userCan_Wiki'] ? 'X' : '' );
+                       for( var i = 0; i < sNs.length; i++ ) {
+                               $cell = $( '<td>' );
+                               $row.append( $cell );
+                               $cell.append( record.data['userCan_'+sNs[i].id] 
? 'X' : '' );
+                       }
+               });
+               //only global permissions
+               me.gridPermissions.store.data.each( function(record, i) {
+                       if( record.data.type !== 2 ) {
+                               return;
+                       }
+                       $row = $( '<tr>' );
+                       $table.append($row);
+                       $cell = $( '<td>' );
+                       $row.append( $cell );
+                       $cell.append( record.data.right );
+                       $cell = $( '<td>' );
+                       $row.append( $cell );
+                       $cell.append( record.data['userCan_Wiki'] ? 'X' : '' );
+               });
+
+               dfd.resolve( '<table>' + $table.html() + '</table>' );
+               return dfd;
        }
 });
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/283173
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2085e9e20cca9cfd148b3f0063c0445456986fc0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Robert Vogel <[email protected]>
Gerrit-Reviewer: Pwirth <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to