{ "name" : "Pman.Dialog.BAdminStaffGroups", "parent" : "", "title" : "", "path" : "/home/alan/gitlive/Pman.BAdmin/Pman.Dialog.BAdminStaffGroups.bjs", "permname" : "", "modOrder" : "001", "strings" : { "4910043d0b2c8c864a0e8672716fee94" : "Is a Member", "566a352f95c879ff26e50bad767a28dc" : "Group Membership", "6b79852e4370cae80ee551e0671616bb" : "Manage Users Group", "28974c2c793e780427dfb571b26443e6" : "Group Name", "d3d2e617335f08df83599665eef8a418" : "Close" }, "items" : [ { "listeners" : { "show" : "function (_self)\n{\n this.setTitle(\"Manage Membership for \" + _this.data.name);\n if(_this.option_grid){\n _this.option_grid.store.load({});\n }\n}", "render" : "function (_self)\n{\n _this.dialog = this;\n}" }, "String size" : "md", "xtype" : "Modal", "Boolean fitwindow" : true, "$ xns" : "Roo.bootstrap", "Number max_width" : 500, "String title" : "Manage Users Group", "items" : [ { "listeners" : { "render" : "function (_self)\n{\n _this.layout = _self;\n}" }, "xtype" : "Border", "$ xns" : "Roo.bootstrap.layout", "items" : [ { "xtype" : "Region", "$ xns" : "Roo.bootstrap.layout", "* prop" : "center" }, { "listeners" : { "activate" : "function (_self)\n{\n \n \n}", "render" : "function (_self)\n{\n _this.option_panel = this;\n \n \n}" }, "fitToFrame" : true, "xtype" : "Grid", "String region" : "center", "$ xns" : "Roo.bootstrap.panel", "fitContainer" : true, "String title" : "Group Membership", "Boolean background" : false, "items" : [ { "listeners" : { "cellclick" : "function (_self, el, rowIndex, columnIndex, e)\n{\n var di = _this.option_grid.colModel.getDataIndex(columnIndex);\n \n /*\n if (di != 'is_in_group') {\n return;\n }\n */\n var rec = _this.option_grid.store.getAt(rowIndex);\n \n if(rec.data.name == 'Administrators' && _this.data.id == Pman.Login.authUser.id){\n Roo.bootstrap.MessageBox.alert('Error', 'You can not remove yourself from Administrators group');\n return;\n }\n \n rec.set('is_in_group', rec.data.is_in_group * 1 == 1 ? 0 : 1);\n rec.commit();\n\n}", "render" : "function (_self)\n{\n _this.option_grid = this;\n \n this.store.load({})\n}" }, "Boolean footerShow" : false, "String cls" : "table-fixed", "xtype" : "Table", "$ xns" : "Roo.bootstrap", "cellSelection" : true, "Boolean loadMask" : true, "* prop" : "grid", "boolean condensed" : true, "rowSelection" : false, "items" : [ { "Boolean singleSelect" : true, "xtype" : "RowSelectionModel", "$ xns" : "Roo.bootstrap.Table", "* prop" : "sm" }, { "listeners" : { "update" : "function (_self, record, operation)\n{\n if (operation != 'commit') {\n return;\n }\n \n var params = {\n user_ids : _this.data.id,\n _action : (record.data.is_in_group * 1 == 0) ? 'sub' : 'add',\n group_id : record.data.id\n };\n \n new Pman.Request({\n url : baseURL + '/Roo/Core_group',\n method : 'POST',\n params : params,\n success : function() { \n //_this.option_grid.ds.load({});\n }\n });\n}", "beforeload" : "function (_self, options)\n{ \n options.params = options.params || {};\n \n if(_this.data.id * 1 < 1){\n _this.option_grid.el.mask('Please save the member first');\n this.removeAll();\n return false;\n }\n options.params.limit = 200;\n options.params._is_in_group = _this.data.id;\n\n}" }, "$ Object sortInfo" : "{ direction : 'ASC', field: 'display_name' }", "xtype" : "Store", "boolean remoteSort" : true, "$ xns" : "Roo.data", "* prop" : "store", "items" : [ { "$ url" : "baseURL + '/Roo/core_group'", "xtype" : "HttpProxy", "$ xns" : "Roo.data", "String method" : "GET", "* prop" : "proxy" }, { "$ Array fields" : "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'name',\n 'type': 'string'\n },\n {\n 'name': 'display_name',\n 'type': 'string'\n },\n {\n 'name': 'is_in_group',\n 'type': 'int'\n }\n]", "xtype" : "JsonReader", "String root" : "data", "$ xns" : "Roo.data", "String id" : "id", "* prop" : "reader" } ] }, { "String header" : "Is a Member", "String cursor" : "pointer", "String dataIndex" : "is_in_group", "xtype" : "ColumnModel", "Number xs" : 3, "String align" : "center", "$ xns" : "Roo.grid", "$ renderer" : "function(v) { \n\n var state = v > 0 ? 'check-' : '';\n var cls = v > 0 ? 'text-primary' : '';\n \n return '';\n \n }", "Boolean sortable" : false, "* prop" : "cm[]" }, { "String header" : "Group Name", "cursor" : "pointer", "String dataIndex" : "display_name", "xtype" : "ColumnModel", "Number xs" : 9, "$ xns" : "Roo.grid", "$ renderer" : "function(v,x,r) \n{\n var vv = v.length ? v : r.data.name;\n \n return String.format('{0}', vv);\n}", "Boolean sortable" : true, "* prop" : "cm[]" } ] } ] } ] }, { "listeners" : { "click" : "function (_self, e)\n{\n _this.dialog.hide();\n _this.callback();\n \n return;\n\n}" }, "String weight" : "primary", "xtype" : "Button", "$ xns" : "Roo.bootstrap", "String html" : "Close", "* prop" : "buttons[]" } ] } ] }