Pman.Tab.AdminProjectMembers.js
[Pman.Admin] / Pman.Tab.AdminProjectMembers.js
index ff31027..5e50864 100644 (file)
@@ -50,8 +50,6 @@ Pman.Tab.AdminProjectMembers = new Roo.util.Observable({
             grid : {
                 xtype: 'Grid',
                 xns: Roo.grid,
-                autoExpandColumn : 'name',
-                loadMask : true,
                 listeners : {
                     render : function() 
                     {
@@ -69,9 +67,41 @@ Pman.Tab.AdminProjectMembers = new Roo.util.Observable({
                         }); 
                     }
                 },
+                filter : 'S',
+                autoExpandColumn : 'name',
+                loadMask : true,
                 dataSource : {
                     xtype: 'Store',
                     xns: Roo.data,
+                    listeners : {
+                        beforeload : function (_self, options)
+                        {
+                            if (!_this.memberBtn) {
+                                return false;
+                            }
+                            options.params['query[project_member_filter]'] = _this.memberBtn.pressed ? 1 :0;
+                            var pm = Pman.Tab.AdminProjectManager;
+                            if (!pm || !pm.grid || !pm.grid.getSelectionModel().getSelected()) {
+                                return false;
+                            }
+                            var sel = pm.grid.getSelectionModel().getSelected();
+                            options.params['query[project_member_of]'] = sel.data.id;    
+                            switch(_this.grid.filter) {
+                                case 'S': // staff
+                                    options.params.company_id_comptype='OWNER';
+                        
+                                    break;
+                                case 'O': // owner..
+                                    options.params.company_id = sel.data.client_id;
+                                    break;
+                                case 'A': // not owner or staff..
+                                    options.params['!company_id'] = sel.data.client_id;
+                                    options.params['!company_id_comptype'] ='OWNER';
+                                    break;      
+                            }
+                            
+                        }
+                    },
                     remoteSort : true,
                     sortInfo : { field : 'name', direction: 'ASC' },
                     proxy : {
@@ -397,10 +427,10 @@ Pman.Tab.AdminProjectMembers = new Roo.util.Observable({
                 footer : {
                     xtype: 'PagingToolbar',
                     xns: Roo,
-                    pageSize : 25,
                     displayInfo : true,
-                    displayMsg : 'Displaying Person{0} - {1} of {2}',
-                    emptyMsg : 'No Person found'
+                    displayMsg : ' ',
+                    emptyMsg : 'No Person found',
+                    pageSize : 25
                 },
                 toolbar : {
                     xtype: 'Toolbar',
@@ -465,14 +495,12 @@ Pman.Tab.AdminProjectMembers = new Roo.util.Observable({
                             listeners : {
                                 toggle : function (_self, pressed)
                                 {
-                                    if (pressed) {
-                                        _this.grid.filter = 'A';
-                                    }
+                                   
                                     _this.grid.footer.onClick('first');
                                 },
                                 render : function (_self)
                                 {
-                                
+                                    _this.memberBtn = _self;
                                 }
                             },
                             enableToggle : true,