1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Tab.AdminContactsGroup = new Roo.XComponent({
6 part : ["Admin","ContactsGroup"],
7 order : '001-Pman.Tab.AdminContactsGroup',
9 parent : 'Pman.Tab.AdminContactsManager',
10 name : "Pman.Tab.AdminContactsGroup",
21 activate : function() {
24 _this.grid.ds.load({});
41 _this.dialog = Pman.Dialog.Groups;
42 if (_this.panel.active) {
43 _this.grid.ds.load({});
46 rowdblclick : function (_self, rowIndex, e)
48 if (!_this.dialog) return;
49 var s = this.getDataSource().getAt(rowIndex);
53 _this.dialog.show( s.data, function() {
58 autoExpandColumn : 'name',
66 beforeload : function (_self, o)
68 o.params = o.params || {};
71 load : function (_self, records, options)
73 var sm = _this.grid.getSelectionModel();
74 if (!sm.getSelections().length) {
77 Pman.Tab.AdminContacts.grid.footer.onClick('first');
81 sortInfo : { field : 'name', direction: 'ASC' },
86 url : baseURL + '/Roo/Groups.php'
91 totalProperty : 'total',
116 'name': 'leader_office_id',
120 'name': 'leader_name',
124 'name': 'leader_phone',
128 'name': 'leader_fax',
132 'name': 'leader_email',
136 'name': 'leader_company_id',
140 'name': 'leader_role',
144 'name': 'leader_active',
148 'name': 'leader_remarks',
152 'name': 'leader_passwd',
156 'name': 'leader_owner_id',
160 'name': 'leader_lang',
164 'name': 'leader_no_reset_sent',
168 'name': 'leader_action_type',
172 'name': 'leader_project_id',
185 text : "Manage Groups",
196 if (!_this.dialog) return;
197 _this.dialog.show( { id : 0, type: 2 } , function() {
198 _this.grid.ds.load({});
202 cls : 'x-btn-text-icon',
204 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
212 var s = _this.grid.getSelectionModel().getSelections();
213 if (!s.length || (s.length > 1)) {
214 Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
217 if (s[0].data.id < 1 ) {
220 if (!_this.dialog) return;
221 _this.dialog.show(s[0].data, function() {
222 _this.grid.ds.load({});
227 cls : 'x-btn-text-icon',
229 icon : Roo.rootURL + 'images/default/tree/leaf.gif'
237 Pman.genericDelete(_this, 'Groups');
240 cls : 'x-btn-text-icon',
242 icon : rootURL + '/Pman/templates/images/trash.gif'
252 click : function (_self, e)
254 _this.grid.ds.load({});
266 xtype: 'ColumnModel',
271 renderer : function(v,x,r) {
272 if (r.data.id == -1) {
273 return '<b>' + "Not in a Group" + '</b>';
275 if ((r.data.id == 0) && (_this.type == 0)) {
276 return '<b>' + "All Staff (Default Permissions)" + '</b>';
278 if ((r.data.id == 0) && (_this.type == 2)) {
279 return '<b>' + "Everybody" + '</b>';
281 if (r.data.id == 0) {
282 return '<b>' + "All Staff" + '</b>';
284 if (v == 'Administrators') {
285 return '<b>' + "Adminstrators" + '</b>';
288 return v + ' (' + r.data.leader_name + ')';
296 xtype: 'RowSelectionModel',
299 afterselectionchange : function (_self)
301 Pman.Tab.AdminContacts.grid.footer.onClick('first');
310 drop : function (source, e, data)
313 var t = Roo.lib.Event.getTarget(e);
314 var ri = _this.grid.view.findRowIndex(t);
317 rid = _this.grid.getDataSource().getAt(ri).data;
319 var s = _this.grid.getSelectionModel().getSelections();
322 var isFromGroup = s.length ? s[0].data.id > 0 : false;
324 var isToGroup = rid && rid.id > 0;
325 this.success = false;
326 if (isFromGroup && isToGroup) {
329 if (!isFromGroup && !isToGroup) {
333 if (isFromGroup && !isToGroup) {
335 //return 'x-dd-drop-ok-sub';
337 // build a list of selections.
339 for (var i=0; i < data.selections.length; i++) {
340 sels.push(data.selections[i].data.id);
344 url: baseURL + '/Core/GroupMembers.php',
347 group_id: action =='add' ? rid.id : s[0].data.id,
349 user_ids : sels.join(',')
353 success : function(data) {
356 // do we need to do anything??
358 Pman.Tab.AdminContacts.grid.footer.onClick('refresh');
362 failure: function() {
363 //Ext.get(document.body).unmask();
373 //if (!isFromGroup && isToGroup) {
374 //return 'x-dd-drop-ok-add';
378 over : function (source, e, data)
380 // Roo.log("dragover");
383 var t = Roo.lib.Event.getTarget(e);
385 var ri = _this.grid.view.findRowIndex(t);
390 rid = _this.grid.getDataSource().getAt(ri).data;
393 var s = _this.grid.getSelectionModel().getSelections();
395 var isFromGroup = s.length ? s[0].data.id > 0 : false;
397 var isToGroup = rid && rid.id > 0;
399 // Roo.log("isToGroup:" + isToGroup + ", isFromGroup" + isFromGroup);
401 if (isFromGroup && isToGroup) {
403 // Roo.log('not valid');
406 if (!isFromGroup && !isToGroup) {
408 // Roo.log('not valid');
411 if (isFromGroup && !isToGroup) {
412 this.valid = 'ok-sub';
415 //if (!isFromGroup && isToGroup) {
416 this.valid = 'ok-add';