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.AdminPermManager = new Roo.XComponent({
10 'a37ede293936e29279ed543129451ec3' :"Groups",
11 'ec211f7c20af43e742bf2570c3cb84f9' :"Add",
12 '7dce122004969d56ae2e0245cb754d35' :"Edit",
13 '911051bc8a5abedcc127334f0f70b78a' :"Permission Manager",
14 '4d1c8263ba1036754f8db14a98f9f006' :"Reload",
15 'f2a6c498fb90ee345d997f888fce3b18' :"Delete",
16 '49ee3087348e8d44e1feda1917443987' :"Name",
17 'aba9f7d7443652e858969bfc280690b1' :"Manage Groups"
20 part : ["old", "AdminPermManager" ],
21 order : '700-Pman.Tab.AdminPermManager',
23 parent : 'Pman.Tab.Admin',
24 name : "Pman.Tab.AdminPermManager",
26 permname : 'Core.Groups',
32 xtype : 'NestedLayoutPanel',
35 title : _this._strings['911051bc8a5abedcc127334f0f70b78a'] /* Permission Manager */,
39 xtype : 'BorderLayout',
43 xtype : 'LayoutRegion',
49 xtype : 'LayoutRegion',
62 title : _this._strings['a37ede293936e29279ed543129451ec3'] /* Groups */,
64 activate : function() {
67 _this.grid.ds.load({});
75 autoExpandColumn : 'name',
83 _this.dialog = Pman.Dialog.Groups;
84 if (_this.panel.active) {
85 _this.grid.ds.load({});
88 rowdblclick : function (_self, rowIndex, e)
90 if (!_this.dialog) return;
91 var s = this.getDataSource().getAt(rowIndex);
95 _this.dialog.show( s.data, function() {
109 text : _this._strings['aba9f7d7443652e858969bfc280690b1'] /* Manage Groups */,
111 '|xns' : 'Roo.Toolbar',
119 cls : 'x-btn-text-icon',
120 icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
121 text : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
125 if (!_this.dialog) return;
126 _this.dialog.show( { id : 0, type: 0 } , function() {
127 _this.grid.ds.load({});
136 cls : 'x-btn-text-icon',
137 icon : Roo.rootURL + 'images/default/tree/leaf.gif',
138 text : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
142 var s = _this.grid.getSelectionModel().getSelections();
143 if (!s.length || (s.length > 1)) {
144 Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
147 if (s[0].data.id < 1 ) {
150 if (!_this.dialog) return;
151 _this.dialog.show(s[0].data, function() {
152 _this.grid.ds.load({});
162 cls : 'x-btn-text-icon',
163 icon : rootURL + '/Pman/templates/images/trash.gif',
164 text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
168 Pman.genericDelete(_this, 'Groups');
181 text : _this._strings['4d1c8263ba1036754f8db14a98f9f006'] /* Reload */,
183 click : function (_self, e)
185 _this.grid.ds.load({});
199 sortInfo : { field : 'name', direction: 'ASC' },
201 beforeload : function (_self, o)
203 o.params = o.params || {};
206 o.params._add_everyone = 1;
208 load : function (_self, records, options)
210 var sm = _this.grid.getSelectionModel();
211 if (!sm.getSelections().length) {
214 // should refresh righthand side grid..
215 // Pman.Tab.AdminContacts.grid.footer.onClick('first');
223 url : baseURL + '/Roo/Groups.php',
228 xtype : 'JsonReader',
251 'name': 'leader_office_id',
255 'name': 'leader_name',
259 'name': 'leader_phone',
263 'name': 'leader_fax',
267 'name': 'leader_email',
271 'name': 'leader_company_id',
275 'name': 'leader_role',
279 'name': 'leader_active',
283 'name': 'leader_remarks',
287 'name': 'leader_passwd',
291 'name': 'leader_owner_id',
295 'name': 'leader_lang',
299 'name': 'leader_no_reset_sent',
303 'name': 'leader_action_type',
307 'name': 'leader_project_id',
313 totalProperty : 'total',
319 xtype : 'DropTarget',
322 drop : function (source, e, data)
325 var t = Roo.lib.Event.getTarget(e);
326 var ri = _this.grid.view.findRowIndex(t);
329 rid = _this.grid.getDataSource().getAt(ri).data;
331 var s = _this.grid.getSelectionModel().getSelections();
334 var isFromGroup = s.length ? s[0].data.id > 0 : false;
336 var isToGroup = rid && rid.id > 0;
337 this.success = false;
338 if (isFromGroup && isToGroup) {
341 if (!isFromGroup && !isToGroup) {
345 if (isFromGroup && !isToGroup) {
347 //return 'x-dd-drop-ok-sub';
349 // build a list of selections.
351 for (var i=0; i < data.selections.length; i++) {
352 sels.push(data.selections[i].data.id);
356 url: baseURL + '/Core/GroupMembers.php',
359 group_id: action =='add' ? rid.id : s[0].data.id,
361 user_ids : sels.join(',')
365 success : function(data) {
368 // do we need to do anything??
370 Pman.Tab.AdminPermMembers.grid.footer.onClick('refresh');
374 failure: function() {
375 //Ext.get(document.body).unmask();
385 //if (!isFromGroup && isToGroup) {
386 //return 'x-dd-drop-ok-add';
390 over : function (source, e, data)
392 // Roo.log("dragover");
395 var t = Roo.lib.Event.getTarget(e);
397 var ri = _this.grid.view.findRowIndex(t);
402 rid = _this.grid.getDataSource().getAt(ri).data;
405 var s = _this.grid.getSelectionModel().getSelections();
407 var isFromGroup = s.length ? s[0].data.id > 0 : false;
409 var isToGroup = rid && rid.id > 0;
411 // Roo.log("isToGroup:" + isToGroup + ", isFromGroup" + isFromGroup);
413 if (isFromGroup && isToGroup) {
415 // Roo.log('not valid');
418 if (!isFromGroup && !isToGroup) {
420 // Roo.log('not valid');
423 if (isFromGroup && !isToGroup) {
424 this.valid = 'ok-sub';
427 //if (!isFromGroup && isToGroup) {
428 this.valid = 'ok-add';
437 xtype : 'RowSelectionModel',
440 afterselectionchange : function (_self)
442 Pman.Tab.AdminPermMembers.grid.footer.onClick('first');
450 xtype : 'ColumnModel',
452 header : _this._strings['49ee3087348e8d44e1feda1917443987'] /* Name */,
453 renderer : function(v,x,r) {
454 if (r.data.id == -1) {
455 return '<b>' + "Not in a Group" + '</b>';
457 if ((r.data.id == 0) && (_this.type == 0)) {
458 return '<b>' + "All Staff (Default Permissions)" + '</b>';
460 if ((r.data.id == 0) && (_this.type == 2)) {
461 return '<b>' + "Everybody" + '</b>';
463 if (r.data.id == 0) {
464 return '<b>' + "All Staff" + '</b>';
466 if (v == 'Administrators') {
467 return '<b>' + "Adminstrators" + '</b>';
470 return v + ' (' + r.data.leader_name + ')';