MODx.grid.UserGroupCategory=function(A){A=A||{};this.exp=new Ext.grid.RowExpander({tpl:new Ext.Template('<p class="desc">{permissions}</p>')});Ext.applyIf(A,{id:"modx-grid-user-group-categories",url:MODx.config.connectors_url+"security/access/usergroup/category.php",baseParams:{action:"getList",usergroup:A.usergroup},paging:true,hideMode:"offsets",fields:["id","target","name","principal","authority","authority_name","policy","policy_name","context_key","permissions","menu"],grouping:true,groupBy:"authority_name",singleText:_("policy"),pluralText:_("policies"),sortBy:"authority",sortDir:"DESC",plugins:[this.exp],columns:[this.exp,{header:_("category"),dataIndex:"name",width:120,sortable:true},{header:_("minimum_role"),dataIndex:"authority_name",width:100},{header:_("policy"),dataIndex:"policy_name",width:200},{header:_("context"),dataIndex:"context_key",width:150,sortable:true}],tbar:[{text:_("category_add"),scope:this,handler:this.createAcl},"->",{xtype:"modx-combo-category",id:"modx-ugcat-category-filter",emptyText:_("filter_by_category"),width:200,allowBlank:true,listeners:{select:{fn:this.filterCategory,scope:this}}},{xtype:"modx-combo-policy",id:"modx-ugcat-policy-filter",emptyText:_("filter_by_policy"),allowBlank:true,baseParams:{action:"getList",group:"Object"},listeners:{select:{fn:this.filterPolicy,scope:this}}},{text:_("clear_filter"),id:"modx-ugcat-clear-filter",handler:this.clearFilter,scope:this}]});MODx.grid.UserGroupCategory.superclass.constructor.call(this,A);this.addEvents("createAcl","updateAcl");};Ext.extend(MODx.grid.UserGroupCategory,MODx.grid.Grid,{combos:{},windows:{},filterCategory:function(A,C,B){this.getStore().baseParams.category=C.data.id;this.getBottomToolbar().changePage(1);this.refresh();},filterPolicy:function(A,C,B){this.getStore().baseParams.policy=C.data.id;this.getBottomToolbar().changePage(1);this.refresh();},clearFilter:function(A,B){Ext.getCmp("modx-ugcat-category-filter").setValue("");this.getStore().baseParams.category="";Ext.getCmp("modx-ugcat-policy-filter").setValue("");this.getStore().baseParams.policy="";this.getBottomToolbar().changePage(1);this.refresh();},createAcl:function(C,B){var A={principal:this.config.usergroup};if(!this.windows.createAcl){this.windows.createAcl=MODx.load({xtype:"modx-window-user-group-category-create",record:A,listeners:{success:{fn:function(D){this.refresh();this.fireEvent("createAcl",D);},scope:this}}});}this.windows.createAcl.setValues(A);this.windows.createAcl.show(B.target);},updateAcl:function(C,B){var A=this.menu.record;if(!this.windows.updateAcl){this.windows.updateAcl=MODx.load({xtype:"modx-window-user-group-category-update",record:A,listeners:{success:{fn:function(D){this.refresh();this.fireEvent("updateAcl",D);},scope:this}}});}this.windows.updateAcl.setValues(A);this.windows.updateAcl.show(B.target);}});Ext.reg("modx-grid-user-group-category",MODx.grid.UserGroupCategory);MODx.window.CreateUGCat=function(A){A=A||{};Ext.applyIf(A,{title:_("category_add"),url:MODx.config.connectors_url+"security/access/usergroup/category.php",action:"create",height:250,width:350,fields:[{xtype:"modx-combo-category",fieldLabel:_("category"),name:"target",hiddenName:"target",editable:false,anchor:"90%"},{xtype:"modx-combo-authority",fieldLabel:_("minimum_role"),name:"authority",value:0,anchor:"90%"},{xtype:"modx-combo-policy",fieldLabel:_("policy"),name:"policy",hiddenName:"policy",baseParams:{action:"getList",group:"Element,Object",combo:"1"},anchor:"90%"},{xtype:"hidden",name:"principal",hiddenName:"principal"},{xtype:"hidden",name:"principal_class",value:"modUserGroup"},{xtype:"modx-combo-context",fieldLabel:_("context"),name:"context_key",hiddenName:"context_key",editable:false,anchor:"90%"}]});MODx.window.CreateUGCat.superclass.constructor.call(this,A);};Ext.extend(MODx.window.CreateUGCat,MODx.Window);Ext.reg("modx-window-user-group-category-create",MODx.window.CreateUGCat);MODx.window.UpdateUGCat=function(A){A=A||{};Ext.applyIf(A,{title:_("access_category_update"),url:MODx.config.connectors_url+"security/access/usergroup/category.php",action:"update",height:250,width:350,fields:[{xtype:"hidden",name:"id"},{xtype:"modx-combo-category",fieldLabel:_("category"),name:"target",hiddenName:"target",editable:false,anchor:"90%"},{xtype:"modx-combo-authority",fieldLabel:_("minimum_role"),name:"authority",value:0,anchor:"90%"},{xtype:"modx-combo-policy",fieldLabel:_("policy"),name:"policy",hiddenName:"policy",baseParams:{action:"getList",group:"Element,Object",combo:"1"},anchor:"90%"},{xtype:"hidden",name:"principal",hiddenName:"principal"},{xtype:"hidden",name:"principal_class",value:"modUserGroup"},{xtype:"modx-combo-context",fieldLabel:_("context"),name:"context_key",hiddenName:"context_key",editable:false,anchor:"90%"}]});MODx.window.UpdateUGCat.superclass.constructor.call(this,A);};Ext.extend(MODx.window.UpdateUGCat,MODx.Window);Ext.reg("modx-window-user-group-category-update",MODx.window.UpdateUGCat);