| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- /**
- * Generates the User Group Tree
- *
- * @class MODx.tree.UserGroup
- * @extends MODx.tree.Tree
- * @param {Object} config An object of options.
- * @xtype modx-tree-usergroup
- */
- MODx.tree.UserGroup = function(config) {
- config = config || {};
- Ext.applyIf(config,{
- title: _('user_groups')
- ,id: 'modx-tree-usergroup'
- ,url: MODx.config.connector_url
- ,action: 'security/group/getnodes'
- ,sortAction: 'security/group/sort'
- ,root_id: 'n_ug_0'
- ,root_name: _('user_groups')
- ,enableDrag: true
- ,enableDrop: true
- ,rootVisible: true
- ,ddAppendOnly: true
- ,useDefaultToolbar: true
- ,tbar: [{
- text: _('user_group_new')
- ,cls: 'primary-button'
- ,scope: this
- ,handler: this.createUserGroup.createDelegate(this,[true],true)
- }]
- });
- MODx.tree.UserGroup.superclass.constructor.call(this,config);
- };
- Ext.extend(MODx.tree.UserGroup,MODx.tree.Tree,{
- windows: {}
- /**
- * Handles tree clicks
- * @param {Object} n The node clicked
- * @param {Object} e The event object
- */
- ,_handleClick: function (n,e) {
- e.stopEvent();
- e.preventDefault();
-
- if (this.disableHref) {return true;}
- if (e.ctrlKey) {return true;}
- return true;
- }
-
- ,addUser: function(item,e) {
- var n = this.cm.activeNode;
- var ug = n.id.substr(2).split('_');ug = ug[1];
- if (ug === undefined) {ug = 0;}
- var r = {usergroup: ug};
- if (!this.windows.adduser) {
- this.windows.adduser = MODx.load({
- xtype: 'modx-window-usergroup-adduser'
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
- }
- });
- } else {
- this.windows.adduser.reset();
- }
- this.windows.adduser.setValues(r);
- this.windows.adduser.show(e.target);
- }
- ,createUserGroup: function(item,e,tbar) {
- tbar = tbar || false;
- var p;
- if (tbar === false) {
- var n = this.cm.activeNode;
- p = n.id.substr(2).split('_');p = p[1];
- if (p === undefined) {p = 0;}
- } else {p = 0;}
- var r = {'parent': p};
- if (!this.windows.createUsergroup) {
- this.windows.createUsergroup = MODx.load({
- xtype: 'modx-window-usergroup-create'
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
- }
- });
- } else {
- this.windows.createUsergroup.reset();
- }
- this.windows.createUsergroup.fp.form.setValues(r);
- this.windows.createUsergroup.show(e.target);
- }
- ,updateUserGroup: function(item,e) {
- var n = this.cm.activeNode;
- var id = n.id.substr(2).split('_');id = id[1];
- MODx.loadPage('security/usergroup/update', 'id=' + id);
- }
- ,getMenu: function() {
- var m = [];
- var n = this.cm.activeNode;
- var ui = n.getUI();
- switch (n.attributes.type) {
- case 'usergroup':
- if (MODx.perm.usergroup_user_edit && ui.hasClass('padduser')) {
- m.push({
- text: _('user_group_user_add')
- ,handler: this.addUser
- });
- m.push('-');
- }
- if (MODx.perm.usergroup_new && ui.hasClass('pcreate')) {
- m.push({
- text: _('user_group_create')
- ,handler: this.createUserGroup
- });
- }
- if (MODx.perm.usergroup_edit && ui.hasClass('pupdate')) {
- m.push({
- text: _('user_group_update')
- ,handler: this.updateUserGroup
- });
- }
- if (MODx.perm.usergroup_delete && ui.hasClass('premove')) {
- m.push('-');
- m.push({
- text: _('user_group_remove')
- ,handler: this.removeUserGroup
- });
- }
- break;
- case 'user':
- break;
- }
- return m;
- }
- ,removeUserGroup: function(item,e) {
- var n = this.cm.activeNode;
- var id = n.id.substr(2).split('_');id = id[1];
- MODx.msg.confirm({
- title: _('warning')
- ,text: _('user_group_remove_confirm')
- ,url: this.config.url
- ,params: {
- action: 'security/group/remove'
- ,id: id
- }
- ,listeners: {
- 'success': {fn:this.refresh,scope:this}
- }
- });
- }
- ,removeUser: function(item,e) {
- var n = this.cm.activeNode;
- var user_id = n.id.substr(2).split('_');user_id = user_id[1];
- var group_id = n.parentNode.id.substr(2).split('_');group_id = group_id[1];
- MODx.msg.confirm({
- title: _('warning')
- ,text: _('user_group_user_remove_confirm')
- ,url: this.config.url
- ,params: {
- action: 'security/group/removeUser'
- ,user_id: user_id
- ,group_id: group_id
- }
- ,listeners: {
- 'success':{fn:this.refresh,scope:this}
- }
- });
- }
- ,_handleDrop: function(e) {
- s = false;
- switch (e.dropNode.attributes.type) {
- case 'user':
- s = !(e.point == 'above' || e.point == 'below');
- s = s && e.target.attributes.type == 'usergroup' && e.point == 'append';
- break;
- case 'usergroup':
- s = true;
- break;
- }
- return s;
- }
- });
- Ext.reg('modx-tree-usergroup',MODx.tree.UserGroup);
- MODx.window.CreateUserGroup = function(config) {
- config = config || {};
- this.ident = config.ident || 'cugrp'+Ext.id();
- Ext.applyIf(config,{
- title: _('create_user_group')
- ,id: this.ident
- // ,height: 150
- ,width: 700
- ,stateful: false
- ,url: MODx.config.connector_url
- ,action: 'security/group/create'
- ,fields: [{
- name: 'parent'
- ,id: 'modx-'+this.ident+'-parent'
- ,xtype: 'hidden'
- },{
- xtype: 'textfield'
- ,fieldLabel: _('name')
- ,description: MODx.expandHelp ? '' : _('user_group_desc_name')
- ,name: 'name'
- ,id: 'modx-'+this.ident+'-name'
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-name'
- ,html: _('user_group_desc_name')
- ,cls: 'desc-under'
- },{
- xtype: 'textarea'
- ,fieldLabel: _('description')
- ,description: MODx.expandHelp ? '' : _('user_group_desc_description')
- ,name: 'description'
- ,id: 'modx-'+this.ident+'-description'
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-description'
- ,html: _('user_group_desc_description')
- ,cls: 'desc-under'
- },{
- xtype: 'fieldset'
- ,collapsible: true
- ,collapsed: false
- ,autoHeight: true
- ,title: _('user_group_aw')
- ,items: [{
- html: '<p style="margin: 5px 0 0">'+_('user_group_aw_desc')+'</p>'
- ,cls: 'desc-under'
- },{
- layout: 'column'
- ,border: false
- ,defaults: {
- layout: 'form'
- ,labelAlign: 'top'
- ,anchor: '100%'
- ,border: false
- }
- ,items: [{
- columnWidth: .5
- ,items: [{
- xtype: 'textfield'
- ,name: 'aw_users'
- ,fieldLabel: _('user_group_aw_users')
- ,description: _('user_group_aw_users_desc')
- ,id: this.ident+'-aw-users'
- ,anchor: '100%'
- ,value: ''
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-users'
- ,html: _('user_group_aw_users_desc')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('user_group_aw_resource_groups')
- ,description: _('user_group_aw_resource_groups_desc')
- ,name: 'aw_resource_groups'
- ,id: this.ident+'-aw-resource-groups'
- ,xtype: 'textfield'
- ,value: ''
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-resource-groups'
- ,html: _('user_group_aw_resource_groups_desc')
- ,cls: 'desc-under'
- },{
- boxLabel: _('user_group_aw_parallel')
- ,description: _('user_group_aw_parallel_desc')
- ,name: 'aw_parallel'
- ,id: this.ident+'-aw-parallel'
- ,xtype: 'checkbox'
- ,checked: false
- ,inputValue: 1
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-parallel'
- ,html: _('user_group_aw_parallel_desc')
- ,cls: 'desc-under'
- }]
- },{
- columnWidth: .5
- ,items: [{
- xtype: 'textfield'
- ,name: 'aw_contexts'
- ,fieldLabel: _('contexts')
- ,description: MODx.expandHelp ? '' : _('user_group_aw_contexts_desc')
- ,id: this.ident+'-aw-contexts'
- ,anchor: '100%'
- ,value: 'web'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-contexts'
- ,html: _('user_group_aw_contexts_desc')
- ,cls: 'desc-under'
- },{
- xtype: 'modx-combo-policy'
- ,baseParams: {
- action: 'security/access/policy/getList'
- ,group: 'Admin'
- ,combo: '1'
- }
- ,name: 'aw_manager_policy'
- ,fieldLabel: _('user_group_aw_manager_policy')
- ,description: MODx.expandHelp ? '' : _('user_group_aw_manager_policy_desc')
- ,id: this.ident+'-aw-manager-policy'
- ,anchor: '100%'
- ,allowBlank: true
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-manager-policy'
- ,html: _('user_group_aw_manager_policy_desc')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('user_group_aw_categories')
- ,description: _('user_group_aw_categories_desc')
- ,name: 'aw_categories'
- ,id: this.ident+'-aw-categories'
- ,xtype: 'textfield'
- ,value: ''
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: this.ident+'-aw-categories'
- ,html: _('user_group_aw_categories_desc')
- ,cls: 'desc-under'
- }]
- }]
- }]
- }]
- ,keys: []
- });
- MODx.window.CreateUserGroup.superclass.constructor.call(this,config);
- };
- Ext.extend(MODx.window.CreateUserGroup,MODx.Window);
- Ext.reg('modx-window-usergroup-create',MODx.window.CreateUserGroup);
- MODx.window.AddUserToUserGroup = function(config) {
- config = config || {};
- this.ident = config.ident || 'adtug'+Ext.id();
- Ext.applyIf(config,{
- title: _('user_group_user_add')
- ,id: this.ident
- // ,height: 150
- // ,width: 375
- ,url: MODx.config.connector_url
- ,action: 'security/group/user/create'
- ,fields: [{
- fieldLabel: _('name')
- ,description: MODx.expandHelp ? '' : _('user_group_user_add_user_desc')
- ,name: 'user'
- ,hiddenName: 'user'
- ,xtype: 'modx-combo-user'
- ,editable: true
- ,typeAhead: true
- ,allowBlank: false
- ,id: 'modx-'+this.ident+'-user'
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-role'
- ,html: _('user_group_user_add_user_desc')
- ,cls: 'desc-under'
- },{
- fieldLabel: _('role')
- ,description: MODx.expandHelp ? '' : _('user_group_user_add_role_desc')
- ,name: 'role'
- ,hiddenName: 'role'
- ,xtype: 'modx-combo-role'
- ,id: 'modx-'+this.ident+'-role'
- ,allowBlank: false
- ,anchor: '100%'
- },{
- xtype: MODx.expandHelp ? 'label' : 'hidden'
- ,forId: 'modx-'+this.ident+'-role'
- ,html: _('user_group_user_add_role_desc')
- ,cls: 'desc-under'
- },{
- name: 'usergroup'
- ,xtype: 'hidden'
- ,id: 'modx-'+this.ident+'-user-group'
- }]
- });
- MODx.window.AddUserToUserGroup.superclass.constructor.call(this,config);
- };
- Ext.extend(MODx.window.AddUserToUserGroup,MODx.Window);
- Ext.reg('modx-window-usergroup-adduser',MODx.window.AddUserToUserGroup);
|