Pman.register({
modKey : '001-Pman.Tab.AdminProjectMembers',
module : Pman.Tab.AdminProjectMembers,
- region : '',
- parent : false,
- name : "unnamed module",
+ region : 'east',
+ parent : Pman.Tab.AdminProjectManager,
+ name : "Pman.Tab.AdminProjectMembers",
disabled : false,
permname: ''
});
this.panel = parentLayout.addxtype({
xtype: 'GridPanel',
xns: Roo,
- title : "Person",
- fitToframe : true,
- fitContainer : true,
- tableName : 'Person',
- background : true,
- region : 'center',
listeners : {
activate : function() {
_this.panel = this;
}
}
},
+ background : true,
+ fitContainer : true,
+ fitToframe : true,
+ region : 'east',
+ tableName : 'Person',
+ title : "Person",
grid : {
xtype: 'Grid',
xns: Roo.grid,
- autoExpandColumn : 'name',
- loadMask : true,
listeners : {
render : function()
{
});
}
},
+ filter : 'S',
+ autoExpandColumn : 'name',
+ loadMask : true,
dataSource : {
xtype: 'Store',
xns: Roo.data,
+ listeners : {
+ beforeload : function (_self, options)
+ {
+ if (!_this.memberBtn) {
+ return false;
+ }
+ options.params.project_member_filter = _this.memberBtn.pressed;
+ var pm = Pman.Tab.AdminProjectManager;
+ if (!pm || !pm.grid || !pm.grid.getSelectionModel().getSelected()) {
+ return false;
+ }
+ var sel = pm.grid.getSelectionModel().getSelected();
+ switch(_this.grid.filter) {
+ case 'S': // staff
+ options.params.company_id_comptype='OWNER';
+ options.params.project_member_of = sel.data.id;
+ break;
+ case 'O': // owner..
+ options.params.company_id = sel.data.client_id;
+ options.params.project_member_of = sel.data.id;
+ break;
+ case 'A': // not owner or staff..
+ options.params['!company_id'] = sel.data.client_id;
+ options.params['!company_id_comptype'] ='OWNER';
+ options.params.project_member_of = sel.data.id;
+ }
+
+ }
+ },
remoteSort : true,
sortInfo : { field : 'name', direction: 'ASC' },
proxy : {
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',
if (pressed) {
_this.grid.filter = 'S';
}
+ _this.grid.footer.onClick('first');
}
},
enableToggle : true,
+ pressed : true,
text : "Staff",
toggleGroup : 'appm'
},
{
xtype: 'Button',
xns: Roo.Toolbar,
- text : "Edit",
- cls : 'x-btn-text-icon',
- icon : Roo.rootURL + 'images/default/tree/leaf.gif',
listeners : {
- click : function()
+ toggle : function (_self, pressed)
{
- var s = _this.grid.getSelectionModel().getSelections();
- if (!s.length || (s.length > 1)) {
- Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
- return;
+ if (pressed) {
+ _this.grid.filter = 'O';
}
- if (!_this.dialog) return;
- _this.dialog.show(s[0].data, function() {
- _this.grid.footer.onClick('first');
- });
-
+ _this.grid.footer.onClick('first');
}
- }
+ },
+ enableToggle : true,
+ text : "Owners",
+ toggleGroup : 'appm'
},
{
xtype: 'Button',
xns: Roo.Toolbar,
- text : "Delete",
- cls : 'x-btn-text-icon',
- icon : rootURL + '/Pman/templates/images/trash.gif',
listeners : {
- click : function()
+ toggle : function (_self, pressed)
{
- Pman.genericDelete(_this, 'Person');
+ if (pressed) {
+ _this.grid.filter = 'A';
+ }
+ _this.grid.footer.onClick('first');
}
- }
+ },
+ enableToggle : true,
+ text : "Other",
+ toggleGroup : 'appm'
+ },
+ {
+ xtype: 'Fill',
+ xns: Roo.Toolbar
+ },
+ {
+ xtype: 'Button',
+ xns: Roo.Toolbar,
+ listeners : {
+ toggle : function (_self, pressed)
+ {
+
+ _this.grid.footer.onClick('first');
+ },
+ render : function (_self)
+ {
+ _this.memberBtn = _self;
+ }
+ },
+ enableToggle : true,
+ text : "Members"
}
]
},
{
xtype: 'ColumnModel',
xns: Roo.grid,
- header : 'Id',
- width : 75,
- dataIndex : 'id',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Office',
- width : 75,
- dataIndex : 'office_id',
+ dataIndex : 'is_member',
+ header : 'Member',
+ width : 60,
renderer : function(v) { return String.format('{0}', v); }
},
{
xtype: 'ColumnModel',
xns: Roo.grid,
- header : 'Name',
- width : 200,
dataIndex : 'name',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Phone',
- width : 200,
- dataIndex : 'phone',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Fax',
+ header : 'Name',
+ sortable : true,
width : 200,
- dataIndex : 'fax',
renderer : function(v) { return String.format('{0}', v); }
},
{
xtype: 'ColumnModel',
xns: Roo.grid,
- header : 'Email',
- width : 200,
dataIndex : 'email',
- renderer : function(v) { return String.format('{0}', v); }
+ header : 'Email',
+ width : 100,
+ renderer : function(v) { return String.format('{0}', v); },
+ sortable : true
},
{
xtype: 'ColumnModel',
xns: Roo.grid,
+ dataIndex : 'company_id_name',
header : 'Company',
- width : 75,
- dataIndex : 'company_id',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Role',
- width : 200,
- dataIndex : 'role',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Active',
- width : 75,
- dataIndex : 'active',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Remarks',
- width : 200,
- dataIndex : 'remarks',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Passwd',
- width : 200,
- dataIndex : 'passwd',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Owner',
- width : 75,
- dataIndex : 'owner_id',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Lang',
- width : 200,
- dataIndex : 'lang',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'No reset sent',
- width : 75,
- dataIndex : 'no_reset_sent',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Action type',
- width : 200,
- dataIndex : 'action_type',
- renderer : function(v) { return String.format('{0}', v); }
- },
- {
- xtype: 'ColumnModel',
- xns: Roo.grid,
- header : 'Project',
- width : 75,
- dataIndex : 'project_id',
+ sortable : true,
+ width : 120,
renderer : function(v) { return String.format('{0}', v); }
}
]