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.Groups;
58 if (_this.panel.active) {
59 _this.grid.ds.load({});
62 rowdblclick : function (_self, rowIndex, e)
64 if (!_this.dialog) return;
65 var s = this.getDataSource().getAt(rowIndex);
69 _this.dialog.show( s.data, function() {
74 autoExpandColumn : 'name',
82 beforeload : function (_self, o)
84 o.params = o.params || {};
87 load : function (_self, records, options)
89 var sm = _this.grid.getSelectionModel();
90 if (!sm.getSelections().length) {
93 Pman.Tab.AdminContacts.grid.footer.onClick('first');
97 sortInfo : { field : 'name', direction: 'ASC' },
102 url : baseURL + '/Roo/Groups.php'
107 totalProperty : 'total',
132 'name': 'leader_office_id',
136 'name': 'leader_name',
140 'name': 'leader_phone',
144 'name': 'leader_fax',
148 'name': 'leader_email',
152 'name': 'leader_company_id',
156 'name': 'leader_role',
160 'name': 'leader_active',
164 'name': 'leader_remarks',
168 'name': 'leader_passwd',
172 'name': 'leader_owner_id',
176 'name': 'leader_lang',
180 'name': 'leader_no_reset_sent',
184 'name': 'leader_action_type',
188 'name': 'leader_project_id',
201 text : "Manage Groups",
212 if (!_this.dialog) return;
213 _this.dialog.show( { id : 0, type: 2 } , function() {
214 _this.grid.ds.load({});
218 cls : 'x-btn-text-icon',
220 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
228 var s = _this.grid.getSelectionModel().getSelections();
229 if (!s.length || (s.length > 1)) {
230 Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
233 if (s[0].data.id < 1 ) {
236 if (!_this.dialog) return;
237 _this.dialog.show(s[0].data, function() {
238 _this.grid.ds.load({});
243 cls : 'x-btn-text-icon',
245 icon : Roo.rootURL + 'images/default/tree/leaf.gif'
253 Pman.genericDelete(_this, 'Groups');
256 cls : 'x-btn-text-icon',
258 icon : rootURL + '/Pman/templates/images/trash.gif'
268 click : function (_self, e)
270 _this.grid.ds.load({});
282 xtype: 'ColumnModel',
287 renderer : function(v,x,r) {
288 if (r.data.id == -1) {
289 return '<b>' + "Not in a Group" + '</b>';
291 if ((r.data.id == 0) && (_this.type == 0)) {
292 return '<b>' + "All Staff (Default Permissions)" + '</b>';
294 if ((r.data.id == 0) && (_this.type == 2)) {
295 return '<b>' + "Everybody" + '</b>';
297 if (r.data.id == 0) {
298 return '<b>' + "All Staff" + '</b>';
300 if (v == 'Administrators') {
301 return '<b>' + "Adminstrators" + '</b>';
304 return v + ' (' + r.data.leader_name + ')';
312 xtype: 'RowSelectionModel',
315 afterselectionchange : function (_self)
317 Pman.Tab.AdminContacts.grid.footer.onClick('first');
326 drop : function (source, e, data)
329 var t = Roo.lib.Event.getTarget(e);
330 var ri = _this.grid.view.findRowIndex(t);
333 rid = _this.grid.getDataSource().getAt(ri).data;
335 var s = _this.grid.getSelectionModel().getSelections();
338 var isFromGroup = s.length ? s[0].data.id > 0 : false;
340 var isToGroup = rid && rid.id > 0;
341 this.success = false;
342 if (isFromGroup && isToGroup) {
345 if (!isFromGroup && !isToGroup) {
349 if (isFromGroup && !isToGroup) {
351 //return 'x-dd-drop-ok-sub';
353 // build a list of selections.
355 for (var i=0; i < data.selections.length; i++) {
356 sels.push(data.selections[i].data.id);
360 url: baseURL + '/Core/GroupMembers.php',
363 group_id: action =='add' ? rid.id : s[0].data.id,
365 user_ids : sels.join(',')
369 success : function(data) {
372 // do we need to do anything??
374 Pman.Tab.AdminContacts.grid.footer.onClick('refresh');
378 failure: function() {
379 //Ext.get(document.body).unmask();
389 //if (!isFromGroup && isToGroup) {
390 //return 'x-dd-drop-ok-add';
394 over : function (source, e, data)
396 // Roo.log("dragover");
399 var t = Roo.lib.Event.getTarget(e);
401 var ri = _this.grid.view.findRowIndex(t);
406 rid = _this.grid.getDataSource().getAt(ri).data;
409 var s = _this.grid.getSelectionModel().getSelections();
411 var isFromGroup = s.length ? s[0].data.id > 0 : false;
413 var isToGroup = rid && rid.id > 0;
415 // Roo.log("isToGroup:" + isToGroup + ", isFromGroup" + isFromGroup);
417 if (isFromGroup && isToGroup) {
419 // Roo.log('not valid');
422 if (!isFromGroup && !isToGroup) {
424 // Roo.log('not valid');
427 if (isFromGroup && !isToGroup) {
428 this.valid = 'ok-sub';
431 //if (!isFromGroup && isToGroup) {
432 this.valid = 'ok-add';
441 this.layout = this.panel.layout;