"items" : [
{
"xtype" : "LayoutRegion",
- "tabPosition" : "top",
"$ xns" : "Roo",
+ "tabPosition" : "top",
"* prop" : "center"
},
{
"xtype" : "LayoutRegion",
- "width" : 200,
"$ xns" : "Roo",
+ "width" : 200,
"* prop" : "west"
},
{
"listeners" : {
"|activate" : "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.ds.load({});\n }\n}"
},
- "region" : "west",
"fitToframe" : true,
"background" : true,
+ "region" : "west",
"title" : "Groups",
"xtype" : "GridPanel",
"fitContainer" : true,
"|render" : "function() \n{\n _this.grid = this; \n _this.dialog = Pman.Dialog.Groups;\n if (_this.panel.active) {\n _this.grid.ds.load({});\n }\n}"
},
"autoExpandColumn" : "name",
- "enableDrop" : true,
"xtype" : "Grid",
+ "enableDrop" : true,
"ddGroup" : "groupDD",
"loadMask" : true,
"$ xns" : "Roo.grid",
"* prop" : "dataSource",
"items" : [
{
- "$ url" : "baseURL + '/Roo/Groups.php'",
- "method" : "GET",
+ "$ url" : "baseURL + '/Roo/core_group.php'",
"xtype" : "HttpProxy",
+ "method" : "GET",
"$ xns" : "Roo.data",
"* prop" : "proxy"
},
},
{
"listeners" : {
- "|click" : "function()\n{\n Pman.genericDelete(_this, 'Groups'); \n}\n "
+ "|click" : "function()\n{\n Pman.genericDelete(_this, 'core_group');\n}\n "
},
"text" : "Delete",
"xtype" : "Item",
},
{
"xtype" : "ColumnModel",
- "header" : "Name",
"width" : 200,
- "$ renderer" : "function(v,x,r) { \n if (r.data.id == -1) {\n return '<b>' + \"Not in a Group\" + '</b>';\n }\n if ((r.data.id == 0) && (_this.type == 0)) {\n return '<b>' + \"All Staff (Default Permissions)\" + '</b>';\n }\n if ((r.data.id == 0) && (_this.type == 2)) {\n return '<b>' + \"Everybody\" + '</b>';\n }\n if (r.data.id == 0) {\n return '<b>' + \"All Staff\" + '</b>';\n }\n if (v == 'Administrators') {\n return '<b>' + \"Adminstrators\" + '</b>';\n }\n if (r.data.leader) {\n return v + ' (' + r.data.leader_name + ')';\n }\n \n return v;\n}",
+ "header" : "Name",
+ "$ renderer" : "function(v,x,r) { \n if (r.data.id == -1) {\n return '<b>' + \"Not in a Group\" + '</b>';\n }\n if ((r.data.id == 0) && (_this.type == 0)) {\n return '<b>' + \"All Staff\" + '</b>';\n }\n if ((r.data.id == 0) && (_this.type == 2)) {\n return '<b>' + \"Everybody\" + '</b>';\n }\n if (r.data.id == 0) {\n return '<b>' + \"All Staff\" + '</b>';\n }\n if (v == 'Administrators') {\n return '<b>' + \"Adminstrators\" + '</b>';\n }\n if (r.data.leader) {\n return v + ' (' + r.data.leader_name + ')';\n }\n \n return v;\n}",
"$ xns" : "Roo.grid",
"* prop" : "colModel[]",
"dataIndex" : "name"
},
{
"listeners" : {
- "over" : "function (source, e, data)\n{\n // Roo.log(\"dragover\");\n \n //Roo.log(e);\n var t = Roo.lib.Event.getTarget(e); \n // Roo.log(t);\n var ri = _this.grid.view.findRowIndex(t);\n // Roo.log(ri);\n \n var rid = false;\n if (ri !== false) {\n rid = _this.grid.getDataSource().getAt(ri).data;\n }\n \n var s = _this.grid.getSelectionModel().getSelections();\n \n var isFromGroup = s.length ? s[0].data.id > 0 : false;\n \n var isToGroup = rid && rid.id > 0;\n \n// Roo.log(\"isToGroup:\" + isToGroup + \", isFromGroup\" + isFromGroup);\n \n if (isFromGroup && isToGroup) {\n this.valid = false;\n// Roo.log('not valid');\n return;\n }\n if (!isFromGroup && !isToGroup) {\n this.valid = false;\n// Roo.log('not valid');\n return \n }\n if (isFromGroup && !isToGroup) {\n this.valid = 'ok-sub'; \n return;\n } \n //if (!isFromGroup && isToGroup) {\n this.valid = 'ok-add';\n// Roo.log('add'); \n //}\n}",
- "drop" : "function (source, e, data)\n{\n // Roo.log(\"DROP\");\n var t = Roo.lib.Event.getTarget(e); \n var ri = _this.grid.view.findRowIndex(t);\n var rid = false;\n if (ri !== false) {\n rid = _this.grid.getDataSource().getAt(ri).data;\n }\n var s = _this.grid.getSelectionModel().getSelections();\n \n //console.log(data);\n var isFromGroup = s.length ? s[0].data.id > 0 : false;\n\n var isToGroup = rid && rid.id > 0;\n this.success = false;\n if (isFromGroup && isToGroup) {\n return;\n }\n if (!isFromGroup && !isToGroup) {\n return;\n }\n var action = 'add';\n if (isFromGroup && !isToGroup) {\n action = 'sub';\n //return 'x-dd-drop-ok-sub'; \n }\n // build a list of selections.\n var sels = [];\n for (var i=0; i < data.selections.length; i++) {\n sels.push(data.selections[i].data.id);\n }\n\n Pman.request({\n url: baseURL + '/Core/GroupMembers.php',\n params: {\n action : action,\n group_id: action =='add' ? rid.id : s[0].data.id,\n type: _this.type,\n user_ids : sels.join(',')\n \n }, \n method: 'POST', \n success : function(data) {\n //refreshPager();\n // \n // do we need to do anything??\n if (isFromGroup) {\n Pman.Tab.AdminPermMembers.grid.footer.onClick('refresh');\n }\n }, \n \n failure: function() {\n //Ext.get(document.body).unmask();\n //if (cb) {\n // cb.call(false);\n //}\n \n }\n });\n\n this.success = true;\n\n //if (!isFromGroup && isToGroup) {\n //return 'x-dd-drop-ok-add'; \n return;\n //}\n}"
+ "over" : "function (source, e, data)\n{\n Roo.log(\"dragover\");\n \n //Roo.log(e);\n var t = Roo.lib.Event.getTarget(e); \n // Roo.log(t);\n var ri = _this.grid.view.findRowIndex(t);\n // Roo.log(ri);\n \n var rid = false;\n if (ri !== false) {\n rid = _this.grid.getDataSource().getAt(ri).data;\n }\n \n var s = _this.grid.getSelectionModel().getSelections();\n \n var isFromGroup = s.length ? s[0].data.id > 0 : false;\n \n var isToGroup = rid && rid.id > 0;\n \n// Roo.log(\"isToGroup:\" + isToGroup + \", isFromGroup\" + isFromGroup);\n \n if (isFromGroup && isToGroup) {\n this.valid = false;\n// Roo.log('not valid');\n return;\n }\n if (!isFromGroup && !isToGroup) {\n this.valid = false;\n// Roo.log('not valid');\n return \n }\n if (isFromGroup && !isToGroup) {\n this.valid = 'ok-sub'; \n return;\n } \n //if (!isFromGroup && isToGroup) {\n this.valid = 'ok-add';\n// Roo.log('add'); \n //}\n}",
+ "drop" : "function (source, e, data)\n{\n Roo.log(\"DROP\");\n var t = Roo.lib.Event.getTarget(e); \n var ri = _this.grid.view.findRowIndex(t);\n var rid = false;\n if (ri !== false) {\n rid = _this.grid.getDataSource().getAt(ri).data;\n }\n var s = _this.grid.getSelectionModel().getSelections();\n \n //console.log(data);\n var isFromGroup = s.length ? s[0].data.id > 0 : false;\n\n var isToGroup = rid && rid.id > 0;\n this.success = false;\n if (isFromGroup && isToGroup) {\n return;\n }\n if (!isFromGroup && !isToGroup) {\n return;\n }\n var action = 'add';\n if (isFromGroup && !isToGroup) {\n action = 'sub';\n //return 'x-dd-drop-ok-sub'; \n }\n // build a list of selections.\n var sels = [];\n for (var i=0; i < data.selections.length; i++) {\n sels.push(data.selections[i].data.id);\n }\n\n Pman.request({\n url: baseURL + '/Core/GroupMembers.php',\n params: {\n action : action,\n group_id: action =='add' ? rid.id : s[0].data.id,\n type: _this.type,\n user_ids : sels.join(',')\n \n }, \n method: 'POST', \n success : function(data) {\n //refreshPager();\n // \n // do we need to do anything??\n if (isFromGroup) {\n Pman.Tab.AdminPermMembers.grid.footer.onClick('refresh');\n }\n }, \n \n failure: function() {\n //Ext.get(document.body).unmask();\n //if (cb) {\n // cb.call(false);\n //}\n \n }\n });\n\n this.success = true;\n\n //if (!isFromGroup && isToGroup) {\n //return 'x-dd-drop-ok-add'; \n return;\n //}\n}"
},
"xtype" : "DropTarget",
"ddGroup" : "groupDD",