1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Tab.AdminContactsGroupRight = new Roo.XComponent({
6 part : ["Admin","ContactsGroupRight"],
7 order : '001-Pman.Tab.AdminContactsGroupRight',
9 parent : 'Pman.Tab.AdminContactsManager',
10 name : "unnamed module",
21 activate : function() {
24 _this.grid.footer.onClick('first');
43 _this.dialog = Pman.Dialog.PersonEdit;
46 //_this.dialog = Pman.Dialog.FILL_IN
47 if (_this.panel.active) {
48 this.footer.onClick('first');
51 rowdblclick : function (_self, rowIndex, e)
53 if (!_this.dialog) return;
54 _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
55 _this.grid.footer.onClick('first');
58 cellclick : function (_self, rowIndex, columnIndex, e)
60 _this.dataUpdate = typeof(_this.dataUpdate) =='undefined' ? {} : _this.dataUpdate;
62 var di = this.colModel.getDataIndex(columnIndex);
63 var i = di.split('_').shift();
64 var k = di.split('_').pop();
65 if (i != 'accessmask') {
68 var rec = _this.grid.ds.getAt(rowIndex);
70 var fm = rec.data.FullMask.split('');
71 Roo.each(fm, function(e){
72 rec.set(i+'_'+e, rec.data[i+'_'+k] ? 0 : 1);
75 rec.set(i+'_'+k, rec.data[i+'_'+k] ? 0 : 1);
76 //rec.data.accessmask = rec.data.accessmask + rec
78 _this.dataUpdate[rec.data.id] = rec.data.accessmask;
92 beforeload : function (_self, o)
98 var s = Pman.Tab.AdminContactsGroup.grid.getSelectionModel().getSelections();
101 o.params.group_id = -1;
103 o.params.group_id = s[0].data.id;
105 if (o.params.group_id < 0) {
106 _this.grid.getView().el.mask("You can not set permissions for that group");
110 _this.grid.getView().el.unmask();
114 update : function (_self, record, operation)
116 if (operation != 'commit') {
119 // only used to change active status.
122 url : baseURL + '/Roo/GroupRights.php',
126 active: record.data.active
129 success : function() {
132 _this.grid.ds.remove(record);
137 Roo.MessageBox.alert("Error", "saving failed", function() {
138 _this.grid.footer.onClick('first');
143 load : function (_self, records, options)
145 _this.dataUpdate = {};
146 var full = 'ADEPS'.split('');
148 Roo.each(records, function(e){
149 _this.dataUpdate[e.id] = e.data.accessmask;
151 var k = e.data.accessmask.split('');
152 var rm = e.data.FullMask.split('');
154 Roo.each(full, function(ee){
155 if (rm.indexOf(ee) < 0) {
156 e.set('accessmask_'+ee, -1);
160 e.set('accessmask_'+ee, (k.indexOf(ee) < 0) ? 0 : 1);
163 if(e.data.accessmask == e.data.FullMask){
164 e.set('accessmask_AA', 1);
170 sortInfo : { field : 'id', direction: 'ASC' },
175 url : baseURL + '/Admin/GroupRights.php'
182 totalProperty : 'total',
197 'name': 'accessmask',
212 xtype: 'PagingToolbar',
216 displayMsg : "Displaying Person{0} - {1} of {2}",
217 emptyMsg : "No Person found",
222 text : "Drag person to add or remove from group"
234 click : function (_self, e)
237 var params = { group_id : _this.group_id };
238 for(var i in _this.dataUpdate) {
239 params['dataUpdate[' + i + ']'] = _this.dataUpdate[i];
241 //Roo.log(params);return;
244 url : baseURL + '/Admin/GroupRights.php',
247 success : function() {
250 //_this.grid.ds.remove(record);
255 Roo.MessageBox.alert("Error", "saving failed", function() {
256 _this.grid.footer.onClick('first');
268 xtype: 'ColumnModel',
270 dataIndex : 'accessmask_AA',
274 renderer : function(v,x,r) {
276 var state = v> 0 ? '-checked' : '';
278 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
282 xtype: 'ColumnModel',
284 dataIndex : 'rightname',
288 renderer : function(v,x,r) {
292 return String.format('<span qtip="{1}">{0}</span>', v.split('.').shift(), v);
296 xtype: 'ColumnModel',
298 dataIndex : 'descript',
299 header : 'Permission',
302 renderer : function(v,x,r)
304 if (r.json.descript && r.json.descript.length) {
305 return String.format('{0}',r.json.descript);
312 xtype: 'ColumnModel',
314 dataIndex : 'accessmask_A',
317 renderer : function(v) {
321 var state = v> 0 ? '-checked' : '';
323 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
328 xtype: 'ColumnModel',
330 dataIndex : 'accessmask_E',
333 renderer : function(v) {
337 var state = v> 0 ? '-checked' : '';
339 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
344 xtype: 'ColumnModel',
346 dataIndex : 'accessmask_D',
349 renderer : function(v) {
353 var state = v> 0 ? '-checked' : '';
355 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
360 xtype: 'ColumnModel',
362 dataIndex : 'accessmask_S',
363 header : 'List/View',
365 renderer : function(v) {
370 var state = v> 0 ? '-checked' : '';
372 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
377 xtype: 'ColumnModel',
379 dataIndex : 'accessmask_P',
380 header : 'Print/Export',
382 renderer : function(v,x,r) {
388 var state = v> 0 ? '-checked' : '';
390 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';