1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
7 // register the module first
8 Pman.on('beforeload', function()
11 modKey : '001-Pman.Tab.AdminContactsGroup',
12 module : Pman.Tab.AdminContactsGroup,
14 parent : Pman.Tab.AdminContactsManager,
15 name : "Pman.Tab.AdminContactsGroup",
21 Pman.Tab.AdminContactsGroup = new Roo.util.Observable({
27 add : function(parentLayout, region)
31 this.parentLayout = parentLayout;
33 this.panel = parentLayout.addxtype({
37 activate : function() {
40 _this.grid.ds.load({});
57 //_this.dialog = Pman.Dialog.FILL_IN
58 if (_this.panel.active) {
59 _this.grid.ds.load({});
62 rowdblclick : function (_self, rowIndex, e)
64 if (!_this.dialog) return;
65 _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
66 _this.grid.footer.onClick('first');
69 dragover : function (_self, dd, targetId, e)
72 var t = Roo.lib.Event.getTarget(e);
73 var ri = _this.grid.view.findRowIndex(t);
76 rid = _this.grid.getDataSource().getAt(ri).data;
79 var s = _this.grid.getSelectionModel().getSelections();
81 var isFromGroup = s.length ? s[0].data.id > 0 : false;
83 var isToGroup = rid && rid.id > 0;
85 if (isFromGroup && isToGroup) {
86 return this.dropNotAllowed;
88 if (!isFromGroup && !isToGroup) {
89 return this.dropNotAllowed;
91 if (isFromGroup && !isToGroup) {
92 return 'x-dd-drop-ok-sub';
94 //if (!isFromGroup && isToGroup) {
95 return 'x-dd-drop-ok-add';
98 dragdrop : function (_self, dd, targetId, e)
103 enddrag : function (_self, dd, e)
108 autoExpandColumn : 'name',
116 beforeload : function (_self, o)
118 o.params = o.params || {};
121 load : function (_self, records, options)
123 var sm = _this.grid.getSelectionModel();
124 if (!sm.getSelections().length) {
127 Pman.Tab.AdminContacts.grid.footer.onClick('first');
131 sortInfo : { field : 'name', direction: 'ASC' },
136 url : baseURL + '/Roo/Groups.php'
141 totalProperty : 'total',
166 'name': 'leader_office_id',
170 'name': 'leader_name',
174 'name': 'leader_phone',
178 'name': 'leader_fax',
182 'name': 'leader_email',
186 'name': 'leader_company_id',
190 'name': 'leader_role',
194 'name': 'leader_active',
198 'name': 'leader_remarks',
202 'name': 'leader_passwd',
206 'name': 'leader_owner_id',
210 'name': 'leader_lang',
214 'name': 'leader_no_reset_sent',
218 'name': 'leader_action_type',
222 'name': 'leader_project_id',
235 text : "Manage Groups",
246 if (!_this.dialog) return;
247 _this.dialog.show( { id : 0 } , function() {
248 _this.grid.ds.load({});
252 cls : 'x-btn-text-icon',
254 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
262 var s = _this.grid.getSelectionModel().getSelections();
263 if (!s.length || (s.length > 1)) {
264 Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
267 if (!_this.dialog) return;
268 _this.dialog.show(s[0].data, function() {
269 _this.grid.ds.load({});
274 cls : 'x-btn-text-icon',
276 icon : Roo.rootURL + 'images/default/tree/leaf.gif'
284 Pman.genericDelete(_this, 'Groups');
287 cls : 'x-btn-text-icon',
289 icon : rootURL + '/Pman/templates/images/trash.gif'
299 click : function (_self, e)
301 _this.grid.ds.load({});
313 xtype: 'ColumnModel',
318 renderer : function(v,x,r) {
319 if (r.data.id == -1) {
320 return '<b>' + "Not in a Group" + '</b>';
322 if ((r.data.id == 0) && (_this.type == 0)) {
323 return '<b>' + "All Staff (Default Permissions)" + '</b>';
325 if ((r.data.id == 0) && (_this.type == 2)) {
326 return '<b>' + "Everybody" + '</b>';
328 if (r.data.id == 0) {
329 return '<b>' + "All Staff" + '</b>';
331 if (v == 'Administrators') {
332 return '<b>' + "Adminstrators" + '</b>';
335 return v + ' (' + r.data.leader_name + ')';
343 xtype: 'RowSelectionModel',
346 afterselectionchange : function (_self)
348 Pman.Tab.AdminContacts.footer.onClick('first');
357 drop : function (source, e, data)
360 var t = Roo.lib.Event.getTarget(e);
361 var ri = _this.grid.view.findRowIndex(t);
364 rid = _this.grid.getDataSource().getAt(ri).data;
366 var s = _this.grid.getSelectionModel().getSelections();
369 var isFromGroup = s.length ? s[0].data.id > 0 : false;
371 var isToGroup = rid && rid.id > 0;
373 if (isFromGroup && isToGroup) {
376 if (!isFromGroup && !isToGroup) {
380 if (isFromGroup && !isToGroup) {
382 //return 'x-dd-drop-ok-sub';
384 // build a list of selections.
386 for (var i=0; i < data.selections.length; i++) {
387 sels.push(data.selections[i].data.id);
391 url: baseURL + '/Core/GroupMembers.php',
394 group_id: action =='add' ? rid.id : s[0].data.id,
396 user_ids : sels.join(',')
400 success : function(data) {
404 failure: function() {
405 //Ext.get(document.body).unmask();
415 //if (!isFromGroup && isToGroup) {
416 //return 'x-dd-drop-ok-add';
424 this.layout = this.panel.layout;