1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Roo.namespace('Pman.Tab');
7 Pman.Tab.BAdminStaff = new Roo.XComponent({
10 'cdb6b6bab1fd18b9dbfe3fb84a5d34ae' :"<i class=\"fa fa-search\"></i>",
11 'ce8ae9da5b7cd6c3df2929543a9af92d' :"Email",
12 'b15aafc19dc2ba4b788adf77268d8ca4' :"Hide Inactive",
13 'f29c99f082755399839b64ebaf9f608a' :"List / View",
14 '4f3cdff2e6a5e08440be182ef40d93f7' :"Print / Export",
15 'ec211f7c20af43e742bf2570c3cb84f9' :"Add",
16 'a37ede293936e29279ed543129451ec3' :"Groups",
17 '7dce122004969d56ae2e0245cb754d35' :"Edit",
18 '05b763f7d24f32575493b3c23f299b0e' :"Add To Group",
19 '9bac86fd9f499d47cea5f2fd70d701c1' :"search for account",
20 'e0a7cc944485bdedafb92b0cf98632fa' :"Remove From Group",
21 '25f57527ae8a27c94fb5230b5486c743' :"Permission List",
22 '09f0c5159c5e34504e453eff3fc70324' :"Account Management",
23 '054176c3a541fb2d4b63e29360c749aa' :"Members List",
24 '8a25a3ae30ab6e8ceb5b8c4009a3336f' :"Role / Position",
25 '17050e1914aff1e423a84e76db8ab0d1' :"[All]",
26 '5bc3fd20294c17c9803942958fd7f26d' :"Show Inactive",
27 '4d1c8263ba1036754f8db14a98f9f006' :"Reload",
28 'f2a6c498fb90ee345d997f888fce3b18' :"Delete",
29 'ec3249f16ee5880d4c1acb752e5c925f' :"Switch to Selected User",
30 '4d3d769b812b6faa6b76e1a8abaece2d' :"Active",
31 '49ee3087348e8d44e1feda1917443987' :"Name",
32 'e55f75a29310d7b60f7ac1d390c8ae42' :"Module",
33 'b5a7adde1af5c87d7fd797b6245c2a39' :"Description",
34 'aba9f7d7443652e858969bfc280690b1' :"Manage Groups"
37 'activeButton_offtext' : '5bc3fd20294c17c9803942958fd7f26d' /* Show Inactive */ ,
38 'activeButton_ontext' : 'b15aafc19dc2ba4b788adf77268d8ca4' /* Hide Inactive */ ,
39 'activeButton_html' : '5bc3fd20294c17c9803942958fd7f26d' /* Show Inactive */
42 part : ["BAdmin", "Staff" ],
43 order : '003-Pman.Tab.BAdminStaff',
45 parent : 'Pman.Tab.BAdmin',
46 name : "unnamed module",
49 _tree : function(_data)
56 title : _this._strings['09f0c5159c5e34504e453eff3fc70324'] /* Account Management */,
58 activate : function (_self)
60 if ( _this.group_grid) {
61 _this.group_grid.store.load({});
65 xns : Roo.bootstrap.panel,
66 '|xns' : 'Roo.bootstrap.panel',
69 xns : Roo.bootstrap.layout,
70 '|xns' : 'Roo.bootstrap.layout',
74 xns : Roo.bootstrap.layout,
75 '|xns' : 'Roo.bootstrap.layout'
82 xns : Roo.bootstrap.layout,
83 '|xns' : 'Roo.bootstrap.layout'
93 title : _this._strings['054176c3a541fb2d4b63e29360c749aa'] /* Members List */,
95 activate : function (_self)
97 _this.edit_btn.el.hide();
98 _this.delete_btn.el.hide();
99 _this.addToGroupBtn.el.hide();
100 _this.removeFromGroupBtn.el.hide();
101 _this.switch_btn.el.hide();
103 if(_this.member_grid) {
104 _this.member_grid.footer.onClick('first');
107 render : function (_self)
109 _this.member_panel = _self;
112 xns : Roo.bootstrap.panel,
113 '|xns' : 'Roo.bootstrap.panel',
115 xtype : 'NavSimplebar',
117 '|xns' : 'Roo.bootstrap',
121 style : 'width: 100%;',
123 '|xns' : 'Roo.bootstrap',
127 style : 'width: 100%;',
129 '|xns' : 'Roo.bootstrap',
133 style : 'width: 100%;',
135 '|xns' : 'Roo.bootstrap',
141 '|xns' : 'Roo.bootstrap',
147 '|xns' : 'Roo.bootstrap',
151 placeholder : _this._strings['9bac86fd9f499d47cea5f2fd70d701c1'] /* search for account */,
153 render : function (_self)
155 _this.searchBox = this;
157 specialkey : function (_self, e)
159 if(e.keyCode == e.ENTER) {
160 if (_this.member_grid) {
161 _this.member_grid.footer.onClick('first');
169 '|xns' : 'Roo.bootstrap',
172 html : _this._strings['cdb6b6bab1fd18b9dbfe3fb84a5d34ae'] /* <i class="fa fa-search"></i> */,
174 click : function (_self, e)
176 _this.member_grid.footer.onClick('first');
180 '|xns' : 'Roo.bootstrap'
190 '|xns' : 'Roo.bootstrap',
194 cls : 'roo-toolbar-button',
196 html : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
199 click : function (_self, e)
201 Pman.Dialog.BAdminStaff.show({
203 company_id : Pman.Login.authUser.company_id
206 if(res.length_oath_key * 1 < 1){
207 _this.member_grid.footer.onClick('first');
211 Pman.Dialog.BAdminStaffTwoFactorQRCode.show({
216 _this.member_grid.footer.onClick('first');
223 '|xns' : 'Roo.bootstrap'
227 cls : 'roo-toolbar-button',
229 html : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
232 click : function (_self, e)
234 var sel = _this.member_grid.getSelectionModel().getSelections();
237 Roo.bootstrap.MessageBox.alert('Error', 'Please select a person');
242 Roo.bootstrap.MessageBox.alert('Error', 'Please select a single person');
246 var s = _this.member_grid.getSelectionModel().getSelected();
248 if(s.data.id * 1 < 1){
249 Roo.bootstrap.MessageBox.alert('Error', 'Invalid person');
253 Pman.Dialog.BAdminStaff.show( { id : s.data.id }, function() {
254 _this.member_grid.footer.onClick('first');
258 render : function (_self)
260 _this.edit_btn = this;
262 this.el.setVisibilityMode(Roo.Element.DISPLAY);
268 '|xns' : 'Roo.bootstrap'
272 cls : 'roo-toolbar-button',
274 html : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
277 click : function (_self, e)
280 Pman.genericDelete(_this.member_panel, 'core_person');
284 render : function (_self)
286 _this.delete_btn = this;
288 this.el.setVisibilityMode(Roo.Element.DISPLAY);
294 '|xns' : 'Roo.bootstrap'
298 cls : 'roo-toolbar-button',
300 html : _this._strings['05b763f7d24f32575493b3c23f299b0e'] /* Add To Group */,
303 click : function (_self, e)
305 var sel = _this.member_grid.getSelectionModel().getSelections();
308 Roo.bootstrap.MessageBox.alert('Error', 'Please select a person');
314 Roo.each(sel, function(r){
315 if(r.data.id * 1 < 1){
323 Roo.bootstrap.MessageBox.alert('Error', 'Please select a person');
327 Pman.Dialog.BAdminAddToGroup.show({
328 user_ids : ids.join(',')
331 _this.member_grid.footer.onClick('first');
335 render : function (_self)
337 _this.addToGroupBtn = this;
339 this.el.setVisibilityMode(Roo.Element.DISPLAY);
345 '|xns' : 'Roo.bootstrap'
349 cls : 'roo-toolbar-button',
351 html : _this._strings['e0a7cc944485bdedafb92b0cf98632fa'] /* Remove From Group */,
354 click : function (_self, e)
356 var sel = _this.member_grid.getSelectionModel().getSelections();
359 Roo.bootstrap.MessageBox.alert('Error', 'Please select a person');
365 Roo.each(sel, function(r){
366 if(r.data.id * 1 < 1){
374 Roo.bootstrap.MessageBox.alert('Error', 'Please select a person');
378 var group = _this.group_grid.getSelectionModel().getSelected();
380 if(!group || group.data.id < 1){
381 Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');
386 url: baseURL + '/Roo/Core_group',
389 group_id : group.data.id,
391 user_ids : ids.join(',')
393 success: function(res){
394 _this.member_grid.footer.onClick('first');
401 render : function (_self)
403 _this.removeFromGroupBtn = this;
405 this.el.setVisibilityMode(Roo.Element.DISPLAY);
411 '|xns' : 'Roo.bootstrap'
415 cls : 'roo-toolbar-button',
417 html : _this._strings['ec3249f16ee5880d4c1acb752e5c925f'] /* Switch to Selected User */,
420 click : function (_self, e)
422 var s = _this.member_grid.getSelectionModel().getSelections();
425 Roo.MessageBox.alert("Error", "Select a Person");
430 url : baseURL+ '/Login.php',
432 'switch' : s[0].data.id
435 success : function() {
436 document.location = baseURL + '?ts=' + Math.random();
439 failure : function(d) {
441 Roo.MessageBox.alert("Error", d);
445 render : function (_self)
447 _this.switch_btn = this;
449 this.el.setVisibilityMode(Roo.Element.DISPLAY);
455 '|xns' : 'Roo.bootstrap'
471 auto_hide_footer : true,
472 cellSelection : true,
480 cellclick : function (_self, el, rowIndex, columnIndex, e)
482 var di = _this.member_grid.colModel.getDataIndex(columnIndex);
484 if (di != 'active') {
488 var rec = _this.member_grid.store.getAt(rowIndex);
490 rec.set('active', rec.data.active ? 0 : 1);
494 // get the row number to make class x-row-0, x-row-1
496 if(rec.data.active * 1 != 1){
497 var el = _this.member_grid.getRowDom(rowIndex);
499 el.addClass('x-grid-row-fadeout');
501 el.on('transitionend',function(){
502 _this.member_grid.ds.remove(rec);
504 },this,{single:true});
507 celldblclick : function (_self, el, rowIndex, columnIndex, e)
509 var di = _this.member_grid.colModel.getDataIndex(columnIndex);
511 if (di == 'active') {
514 var s = _this.member_grid.store.getAt(rowIndex);
516 if(s.data.id * 1 < 1){
520 if (di == 'member_of') {
521 Pman.Dialog.BAdminStaffGroups.show( s.data , function() {
522 _this.member_grid.footer.onClick('first');
526 // show edit user dialog..
528 Pman.Dialog.BAdminStaff.show( s.data , function() {
529 _this.member_grid.footer.onClick('first');
533 render : function (_self)
535 _this.member_grid = _self;
540 '|xns' : 'Roo.bootstrap',
542 xtype : 'PagingToolbar',
547 '|xns' : 'Roo.bootstrap',
551 cls : 'roo-toolbar-button',
552 html : _this._strings['5bc3fd20294c17c9803942958fd7f26d'] /* Show Inactive */,
553 name : 'activeButton',
554 _offtext : _this._strings['5bc3fd20294c17c9803942958fd7f26d'] /* Show Inactive */,
555 _ontext : _this._strings['b15aafc19dc2ba4b788adf77268d8ca4'] /* Hide Inactive */,
559 render : function (_self)
561 _this.footerActiveBtn = this;
563 toggle : function (_self, e, pressed)
565 this.setText(this.pressed ? this._ontext : this._offtext);
567 _this.member_grid.footer.onClick('first');
574 '|xns' : 'Roo.bootstrap'
581 sortInfo : { field: 'name', direction: 'ASC' },
583 beforeload : function (_self, options)
585 if (!Pman.buildCompleted) {
588 options.params = options.params || {};
590 //options.params['query[type]'] = 0;
591 //options.params.active = 1;
593 if(!_this.group_grid){
598 var group = _this.group_grid.getSelectionModel().getSelected();
605 if(_this.footerActiveBtn && !_this.footerActiveBtn.pressed){
606 options.params.active = 1;
609 options.params._with_group_membership = 1;
610 options.params['query[name]'] = _this.searchBox.getValue();
612 options.params['query[in_group]'] = group.data.id;
615 load : function (_self, records, options)
617 _this.edit_btn.el.hide();
618 _this.delete_btn.el.hide();
619 _this.addToGroupBtn.el.hide();
620 _this.removeFromGroupBtn.el.hide();
621 _this.switch_btn.el.hide();
623 options.params.active = 1;
628 update : function (_self, record, operation)
630 if (operation != 'commit') {
633 // only used to change active status.
636 url : baseURL + '/Roo/core_person',
640 active: record.data.active
643 success : function() {
649 /*Roo.bootstrap.MessageBox.alert("Error", "saving failed", function() {
650 _this.grid.footer.onClick('first');
661 url : baseURL + '/Roo/core_person',
666 xtype : 'JsonReader',
669 totalProperty : 'total',
675 xtype : 'RowSelectionModel',
677 selectionchange : function (_self)
679 _this.edit_btn.el.hide();
680 _this.delete_btn.el.hide();
681 _this.addToGroupBtn.el.hide();
682 _this.removeFromGroupBtn.el.hide();
683 _this.switch_btn.el.hide();
685 if(!_this.member_grid.getSelectionModel().getSelections().length){
689 _this.edit_btn.el.show();
690 _this.delete_btn.el.show();
691 _this.switch_btn.el.show();
693 var group = _this.group_grid.getSelectionModel().getSelected();
695 if(!group || group.data.id < 1){
696 _this.addToGroupBtn.el.show();
700 _this.removeFromGroupBtn.el.show();
704 xns : Roo.bootstrap.Table,
705 '|xns' : 'Roo.bootstrap.Table'
709 xtype : 'ColumnModel',
712 dataIndex : 'active',
713 header : _this._strings['4d3d769b812b6faa6b76e1a8abaece2d'] /* Active */,
715 renderer : function(v) {
717 var state = v > 0 ? 'check-' : '';
718 var cls = v > 0 ? 'text-primary' : '';
720 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
730 xtype : 'ColumnModel',
733 header : _this._strings['49ee3087348e8d44e1feda1917443987'] /* Name */,
735 renderer : function(v,x,r) {
736 if(r.data.active * 1 != 1){
737 return "<span class='cell-strikethrough'>"+String.format('{0}', v)+"</span>";
739 return String.format('{0}', v);
748 xtype : 'ColumnModel',
751 header : _this._strings['8a25a3ae30ab6e8ceb5b8c4009a3336f'] /* Role / Position */,
753 renderer : function(v) { return String.format('{0}', v); },
761 xtype : 'ColumnModel',
763 dataIndex : 'member_of',
764 header : _this._strings['a37ede293936e29279ed543129451ec3'] /* Groups */,
766 renderer : function(v) {
767 return String.format('{0}', v).split("\n").join("<br/>");
775 xtype : 'ColumnModel',
778 header : _this._strings['ce8ae9da5b7cd6c3df2929543a9af92d'] /* Email */,
780 renderer : function (v,x,r) {
781 if(r.data.active * 1 != 1){
782 return (v.length && v.indexOf('@') > 0 ) ?
783 String.format('<a href="mailto:{0}" class="cell-strikethrough">{0}</a>',v) : v;
785 return (v.length && v.indexOf('@') > 0 ) ?
786 String.format('<a href="mailto:{0}">{0}</a>',v) : v;
805 title : _this._strings['25f57527ae8a27c94fb5230b5486c743'] /* Permission List */,
807 activate : function (_self)
809 if(_this.permission_grid) {
810 _this.permission_grid.store.load({});
813 render : function (_self)
815 _this.permission_panel = this;
818 xns : Roo.bootstrap.panel,
819 '|xns' : 'Roo.bootstrap.panel',
822 cellSelection : true,
831 cellclick : function (_self, el, rowIndex, columnIndex, e)
833 var di = _this.permission_grid.colModel.getDataIndex(columnIndex);
835 var r = _this.permission_grid.store.getAt(rowIndex);
837 if(di == 'rightname' || di == 'descript' || r.data.id * 1 < 1) {
843 var accessmask = r.data.accessmask.split('').sort().join('');
844 var fullmask = r.data.FullMask.split('').sort().join('');
846 r.set('accessmask', (accessmask == fullmask) ? '' : r.data.FullMask);
861 var target = mapping[di];
863 if(r.data.FullMask.indexOf(target) === -1){
867 var accessmask = r.data.accessmask.split('');
869 if(accessmask.indexOf(target) !== -1){
870 accessmask.splice(accessmask.indexOf(target), 1);
872 accessmask.push(target);
875 r.set('accessmask', accessmask.sort().join(''));
880 render : function (_self)
882 _this.permission_grid = this;
884 if(_this.permission_panel.active) {
886 _this.permission_grid.store.load({});
892 '|xns' : 'Roo.bootstrap',
896 sortInfo : { field: 'rightname', direction: 'ASC' },
898 beforeload : function (_self, o)
900 if (!Pman.buildCompleted) {
903 var group = _this.group_grid.getSelectionModel().getSelected();
906 _this.permission_panel.el.mask('Please select a group');
911 if(group.data.id * 1 < 1){
912 _this.permission_panel.el.mask('Please select a group on the left');
917 _this.permission_panel.el.unmask();
919 o.params = o.params || {};
922 o.params.group_id = group.data.id;
925 update : function (_self, record, operation)
927 if (operation != 'commit') {
931 var group = _this.group_grid.getSelectionModel().getSelected();
933 if(!group || group.data.id * 1 < 1){
939 params.group_id = group.data.id;
941 params['dataUpdate[' + record.data.id + ']'] = record.data.accessmask;
944 url : baseURL + '/Admin/GroupRights',
947 success : function() {
952 Roo.bootstrap.MessageBox.alert("Error", "saving failed", function() {
953 _this.permission_grid.store.load({});
965 url : baseURL + '/BAdmin/GroupRights.php',
970 xtype : 'JsonReader',
985 'name': 'accessmask',
999 totalProperty : 'total',
1005 xtype : 'RowSelectionModel',
1006 singleSelect : true,
1007 xns : Roo.bootstrap.Table,
1008 '|xns' : 'Roo.bootstrap.Table'
1012 xtype : 'ColumnModel',
1015 header : _this._strings['17050e1914aff1e423a84e76db8ab0d1'] /* [All] */,
1016 renderer : function (v,x,r) {
1018 if (!r.data.FullMask.length) {
1022 var accessmask = r.data.accessmask.split('').sort().join('');
1023 var fullmask = r.data.FullMask.split('').sort().join('');
1025 var state = (accessmask == fullmask) ? 'check-' : '';
1027 var cls = (accessmask == fullmask) ? 'text-primary' : '';
1029 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1038 xtype : 'ColumnModel',
1039 dataIndex : 'rightname',
1040 header : _this._strings['e55f75a29310d7b60f7ac1d390c8ae42'] /* Module */,
1041 hidden : appDisabled.indexOf('Core.SuperAdmin') > 0 ? 1 : 0,
1042 renderer : function (v) {
1043 return String.format('<span tooltip="{1}">{0}</span>', v.split('.').shift(), v);
1045 xs : appDisabled.indexOf('Core.SuperAdmin') > 0 ? 0 : 2,
1050 xtype : 'ColumnModel',
1051 dataIndex : 'descript',
1052 header : _this._strings['b5a7adde1af5c87d7fd797b6245c2a39'] /* Description */,
1053 renderer : function (v) {
1054 return String.format('{0}', v ? v : '');
1056 xs : appDisabled.indexOf('Core.SuperAdmin') > 0 ? 6 : 4,
1061 xtype : 'ColumnModel',
1064 header : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
1065 renderer : function (v,x,r) {
1067 if (r.data.FullMask.indexOf('A') === -1) {
1071 var state = (r.data.accessmask.indexOf('A') !== -1) ? 'check-' : '';
1072 var cls = (r.data.accessmask.indexOf('A') !== -1) ? 'text-primary' : '';
1074 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1082 xtype : 'ColumnModel',
1085 header : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
1086 renderer : function (v,x,r) {
1088 if (r.data.FullMask.indexOf('E') === -1) {
1092 var state = (r.data.accessmask.indexOf('E') !== -1) ? 'check-' : '';
1093 var cls = (r.data.accessmask.indexOf('E') !== -1) ? 'text-primary' : '';
1095 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1103 xtype : 'ColumnModel',
1105 dataIndex : 'delete',
1106 header : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
1107 renderer : function (v,x,r) {
1109 if (r.data.FullMask.indexOf('D') === -1) {
1113 var state = (r.data.accessmask.indexOf('D') !== -1) ? 'check-' : '';
1114 var cls = (r.data.accessmask.indexOf('D') !== -1) ? 'text-primary' : '';
1116 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1125 xtype : 'ColumnModel',
1128 header : _this._strings['f29c99f082755399839b64ebaf9f608a'] /* List / View */,
1129 renderer : function (v,x,r) {
1131 if (r.data.FullMask.indexOf('S') === -1) {
1135 var state = (r.data.accessmask.indexOf('S') !== -1) ? 'check-' : '';
1136 var cls = (r.data.accessmask.indexOf('S') !== -1) ? 'text-primary' : '';
1138 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1147 xtype : 'ColumnModel',
1149 dataIndex : 'print',
1150 header : _this._strings['4f3cdff2e6a5e08440be182ef40d93f7'] /* Print / Export */,
1151 renderer : function (v,x,r) {
1153 if (r.data.FullMask.indexOf('P') === -1) {
1157 var state = (r.data.accessmask.indexOf('P') !== -1) ? 'check-' : '';
1158 var cls = (r.data.accessmask.indexOf('P') !== -1) ? 'text-primary' : '';
1160 return '<i class=\"far fa-'+ state + 'square-o ' + cls + '\" aria-hidden=\"true\"></i>';
1174 fitContainer : true,
1177 title : _this._strings['a37ede293936e29279ed543129451ec3'] /* Groups */,
1179 activate : function (_self)
1181 if (_this.group_grid) {
1182 _this.group_grid.store.load({});
1185 render : function (_self)
1187 _this.group_panel = _self;
1190 xns : Roo.bootstrap.panel,
1191 '|xns' : 'Roo.bootstrap.panel',
1193 xtype : 'NavSimplebar',
1194 xns : Roo.bootstrap,
1195 '|xns' : 'Roo.bootstrap',
1199 xns : Roo.bootstrap,
1200 '|xns' : 'Roo.bootstrap',
1204 cls : 'account-management-group-nav-item',
1205 xns : Roo.bootstrap,
1206 '|xns' : 'Roo.bootstrap',
1210 html : _this._strings['aba9f7d7443652e858969bfc280690b1'] /* Manage Groups */,
1211 xns : Roo.bootstrap,
1212 '|xns' : 'Roo.bootstrap',
1215 xns : Roo.bootstrap,
1216 '|xns' : 'Roo.bootstrap',
1221 html : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
1222 isContainer : false,
1223 preventDefault : true,
1225 click : function (_self, e)
1227 Pman.Dialog.BAdminGroups.show({ id : 0 }, function(res){
1228 _this.group_grid.store.load({});
1232 xns : Roo.bootstrap,
1233 '|xns' : 'Roo.bootstrap'
1237 fa : 'fa fa-pencil',
1238 html : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
1239 isContainer : false,
1240 preventDefault : true,
1242 click : function (_self, e)
1244 var sel = _this.group_grid.getSelectionModel().getSelected();
1247 Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');
1251 if(sel.data.id * 1 < 1){
1252 Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');
1256 Pman.Dialog.BAdminGroups.show({ id : sel.data.id }, function(res){
1257 _this.group_grid.store.load({});
1261 xns : Roo.bootstrap,
1262 '|xns' : 'Roo.bootstrap'
1267 html : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
1268 isContainer : false,
1269 preventDefault : true,
1271 click : function (_self, e)
1273 var sel = _this.group_grid.getSelectionModel().getSelected();
1276 Roo.bootstrap.MessageBox.alert('Error', 'Please select a group');
1280 if(sel.data.id * 1 < 1){
1281 Roo.bootstrap.MessageBox.alert('Error', 'The selected group is not editable');
1285 var deleteIt = function()
1288 url: baseURL + '/Roo/Core_group',
1291 _delete : sel.data.id
1293 success: function(res){
1294 _this.group_grid.store.load({});
1300 Roo.bootstrap.MessageBox.confirm('Confirm', 'Are you sure to delete the group?',function(ret) {
1313 xns : Roo.bootstrap,
1314 '|xns' : 'Roo.bootstrap'
1318 fa : 'fa fa-refresh',
1319 html : _this._strings['4d1c8263ba1036754f8db14a98f9f006'] /* Reload */,
1320 isContainer : false,
1321 preventDefault : true,
1323 click : function (_self, e)
1325 _this.group_grid.store.load({});
1328 xns : Roo.bootstrap,
1329 '|xns' : 'Roo.bootstrap'
1342 cls : 'table-fixed',
1347 rowSelection : true,
1350 render : function (_self)
1352 _this.group_grid = _self;
1354 if (_this.group_panel.active) {
1355 _this.group_grid.store.load({});
1358 rowdblclick : function (_self, el, rowIndex, e)
1360 var sel = _this.group_grid.store.getAt(rowIndex);
1362 if(!sel || sel.data.id * 1 < 1){
1366 Pman.Dialog.BAdminGroups.show({ id : sel.data.id }, function(res){
1367 _this.group_grid.store.load({});
1370 rowsrendered : function (_self)
1372 if(this.ds.getCount() * 1 < 1){
1376 var sm = _this.group_grid.getSelectionModel();
1378 sm.selectFirstRow();
1379 sm.fireEvent('afterselectionchange', sm);
1383 xns : Roo.bootstrap,
1384 '|xns' : 'Roo.bootstrap',
1388 sortInfo : { field: 'name', direction: 'ASC'},
1390 beforeload : function (_self, options)
1392 if (!Pman.buildCompleted) {
1395 options.params = options.params || {};
1397 options.params.type = 0;
1399 options.params._add_everyone = 1;
1400 options.params.limit = 999;
1404 '|xns' : 'Roo.data',
1406 xtype : 'HttpProxy',
1408 url : baseURL + '/Roo/core_group',
1413 xtype : 'JsonReader',
1424 'name': 'group_member_count',
1428 'name': 'display_name',
1438 totalProperty : 'total',
1444 xtype : 'RowSelectionModel',
1445 singleSelect : true,
1447 afterselectionchange : function (_self)
1449 if(_this.footerActiveBtn){
1450 _this.footerActiveBtn.setActive(false);
1451 _this.footerActiveBtn.fireEvent('toggle', _this.footerActiveBtn);
1454 if(_this.permission_grid){
1455 _this.permission_grid.store.load({});
1460 xns : Roo.bootstrap.Table,
1461 '|xns' : 'Roo.bootstrap.Table'
1465 xtype : 'ColumnModel',
1468 header : _this._strings['49ee3087348e8d44e1feda1917443987'] /* Name */,
1470 renderer : function(v,x,r) {
1472 if (r.data.id == 0) {
1473 return '<b>' + "All Staff" + '</b>';
1476 if (r.data.id == -1) {
1477 return '<b>' + "Not in a Group" + '</b>';
1480 var vv = (r.json.display_name.length) ? r.json.display_name : v;
1482 if (v == 'Administrators') {
1483 return '<b>' + vv + '</b>';
1486 if (r.data.leader) {
1487 return vv + ' (' + r.json.leader_name + ')';
1490 return String.format('{0} ({1})',vv, r.json.group_member_count);