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.AdminContacts = new Roo.XComponent({
10 '99b344c8ae43e3e7213862b8f35c4e51' :"Select Company",
11 '1c76cbfe21c6f44c1d1e59d54f3e4420' :"Company",
12 'ce8ae9da5b7cd6c3df2929543a9af92d' :"Email",
13 '8444e81d652b084d70c71cd7d19ac0cf' :"Displaying Person{0} - {1} of {2}",
14 '13348442cc6a27032d2b4aa28b75a5d3' :"Search",
15 'ec211f7c20af43e742bf2570c3cb84f9' :"Add",
16 '9e727fdd3aec8274f46685441900280d' :"Project",
17 '7dce122004969d56ae2e0245cb754d35' :"Edit",
18 '4110db87ce3ac86d603d03d691616b1e' :"Drag person to add or remove from group",
19 'b47a519aebda8fdb4b59bdae6eb2bff0' :"Show No Company",
20 '1243daf593fa297e07ab03bf06d925af' :"Searching...",
21 'bcc254b55c4a1babdf1dcb82c207506b' :"Phone",
22 '9675747b5ab12d05f18518761e68a533' :"Select Companies",
23 '40bed7cf9b3d4bb3a3d7a7e3eb18c5eb' :"Person",
24 'f1174ecbbc232f948717979daf04cf08' :"No Person found",
25 'ec3249f16ee5880d4c1acb752e5c925f' :"Switch to Selected User",
26 'a93806efd0cc7a149f0f03e2b9a0f862' :"Bulk Add",
27 'f2a6c498fb90ee345d997f888fce3b18' :"Delete",
28 'a1fa27779242b4902f7ae3bdd5c6d508' :"Type",
29 '49ee3087348e8d44e1feda1917443987' :"Name",
30 'bbbabdbe1b262f75d99d62880b953be1' :"Role",
31 '4d3d769b812b6faa6b76e1a8abaece2d' :"Active",
32 'd4d25ad0a12e8d30e9d8d35230f6d1d3' :"Show Removed",
33 '9810aa2b9f44401be4bf73188ef2b67d' :"Fax"
36 part : ["Admin", "Contacts" ],
37 order : '001-Pman.Tab.AdminContacts',
39 parent : 'Pman.Tab.AdminContactsManager',
40 name : "Pman.Tab.AdminContacts",
42 permname : 'Core.Person',
43 _tree : function(_data)
55 title : _this._strings['40bed7cf9b3d4bb3a3d7a7e3eb18c5eb'] /* Person */,
57 activate : function() {
60 _this.grid.footer.onClick('first');
68 autoExpandColumn : 'name',
73 cellclick : function (_self, rowIndex, columnIndex, e)
76 var di = this.colModel.getDataIndex(columnIndex);
81 var rec = _this.grid.ds.getAt(rowIndex);
83 rec.set('active', rec.data.active ? 0 : 1);
92 _this.dialog = Pman.Dialog.PersonEdit;
95 //_this.dialog = Pman.Dialog.FILL_IN
96 if (_this.panel.active) {
97 this.footer.onClick('first');
100 rowdblclick : function (_self, rowIndex, e)
105 _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
106 _this.grid.footer.onClick('first');
113 xtype : 'PagingToolbar',
115 displayMsg : _this._strings['8444e81d652b084d70c71cd7d19ac0cf'] /* Displaying Person{0} - {1} of {2} */,
116 emptyMsg : _this._strings['f1174ecbbc232f948717979daf04cf08'] /* No Person found */,
123 text : _this._strings['4110db87ce3ac86d603d03d691616b1e'] /* Drag person to add or remove from group */,
125 '|xns' : 'Roo.Toolbar'
136 text : _this._strings['13348442cc6a27032d2b4aa28b75a5d3'] /* Search */,
138 '|xns' : 'Roo.Toolbar'
143 render : function (_self)
145 _this.searchBox = _self;
147 show : function (_self,e)
149 if (e.getCharCode() != 13) {
152 _this.grid.footer.onClick('first');
154 specialkey : function (_self, e)
156 if (e.getKey() == 13) {
157 _this.grid.footer.onClick('first');
166 displayField : 'name',
168 emptyText : _this._strings['99b344c8ae43e3e7213862b8f35c4e51'] /* Select Company */,
169 forceSelection : true,
170 hiddenName : 'company_id',
172 loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */,
174 name : 'company_name',
176 qtip : _this._strings['9675747b5ab12d05f18518761e68a533'] /* Select Companies */,
177 queryParam : 'query[name]',
178 selectOnFocus : true,
179 tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> </div>',
180 triggerAction : 'all',
185 render : function (_self)
187 _this.companyCombo = _self;
189 select : function (combo, record, index)
191 _this.grid.footer.onClick.defer(300,_this.grid.footer,[ 'first'] );
199 sortInfo : { direction : 'ASC', field: 'name' },
201 beforeload : function (_self, o){
202 o.params = o.params || {};
211 url : baseURL + '/Roo/core_company',
216 xtype : 'JsonReader',
217 fields : [{"name":"id","type":"int"},{"name":"code","type":"string"}],
220 totalProperty : 'total',
229 icon : rootURL + '/Pman/templates/images/search.gif',
231 click : function (_self, e)
233 _this.grid.footer.onClick('first');
237 '|xns' : 'Roo.Toolbar'
242 icon : rootURL + '/Pman/templates/images/edit-clear.gif',
244 click : function (_self, e)
246 _this.searchBox.setValue('');
247 _this.grid.footer.onClick('first');
251 '|xns' : 'Roo.Toolbar'
256 text : _this._strings['d4d25ad0a12e8d30e9d8d35230f6d1d3'] /* Show Removed */,
258 render : function (_self)
260 _this.activeButton = _self;
262 toggle : function (_self, pressed)
264 _this.grid.footer.onClick('first');
265 this.setText(pressed ? "Show Active" : "Show Removed");
271 '|xns' : 'Roo.Toolbar'
276 text : _this._strings['b47a519aebda8fdb4b59bdae6eb2bff0'] /* Show No Company */,
278 render : function (_self)
280 _this.active_company_button = _self;
282 toggle : function (_self, pressed)
284 _this.grid.footer.onClick('first');
285 this.setText(pressed ? "Show Company" : "Show No Company");
291 '|xns' : 'Roo.Toolbar'
295 text : _this._strings['ec3249f16ee5880d4c1acb752e5c925f'] /* Switch to Selected User */,
297 click : function (_self, e)
299 var s = _this.grid.getSelectionModel().getSelections();
301 Roo.MessageBox.alert("Error", "Select a Person");
306 url : baseURL + '/Login.php',
309 'switch' : s[0].data.id
311 success : function (){
312 document.location = baseURL + '?ts=' + Math.random();
314 failure : function (d){
316 Roo.MessageBox.alert("Error", d);
322 '|xns' : 'Roo.Toolbar'
327 '|xns' : 'Roo.Toolbar'
331 cls : 'x-btn-text-icon',
332 icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
333 text : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
338 _this.dialog.show( { id : 0 } , function() {
339 _this.grid.footer.onClick('first');
344 '|xns' : 'Roo.Toolbar'
348 cls : 'x-btn-text-icon',
349 icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
350 text : _this._strings['a93806efd0cc7a149f0f03e2b9a0f862'] /* Bulk Add */,
355 Pman.Dialog.PersonBulkAdd.show( { id : 0 } , function() {
356 _this.grid.footer.onClick('first');
361 '|xns' : 'Roo.Toolbar'
365 cls : 'x-btn-text-icon',
366 icon : Roo.rootURL + 'images/default/tree/leaf.gif',
367 text : _this._strings['7dce122004969d56ae2e0245cb754d35'] /* Edit */,
371 var s = _this.grid.getSelectionModel().getSelections();
372 if (!s.length || (s.length > 1)) {
373 Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
377 _this.dialog.show(s[0].data, function() {
378 _this.grid.footer.onClick('first');
384 '|xns' : 'Roo.Toolbar'
388 cls : 'x-btn-text-icon',
389 icon : rootURL + '/Pman/templates/images/trash.gif',
390 text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */,
394 Pman.genericDelete(_this, 'Person');
398 '|xns' : 'Roo.Toolbar'
405 sortInfo : { field : 'name', direction: 'ASC' },
407 beforeload : function (_self, o)
409 if(!_this.active_company_button.pressed){
410 o.params['!company_id_comptype'] = 'OWNER';
413 o.params['query[search]'] = _this.searchBox.getValue();
415 if (!_this.activeButton) {return; false;}
417 if (_this.companyCombo && _this.companyCombo.getValue()) {
418 o.params.company_id = _this.companyCombo.getValue();
422 o.params.active = _this.activeButton.pressed ? 0 : 1;
424 if(_this.active_company_button.pressed){
425 o.params.company_id = 0;
428 var c = Pman.Tab.AdminContactsManager.layout.getRegion('west').getActivePanel();
434 var tms = c.grid.getSelectionModel().getSelected();
440 if(c.tableName == 'Groups'){
441 o.params['query[in_group]'] = tms.data.id;
442 o.params['query[type]'] = 2; // group type..
444 o.params['query[in_country]'] = (tms.data.country*1 == -1) ? '' : tms.data.country;
445 o.params['query[in_group]'] = 0;
446 o.params['query[type]'] = 2;
449 if (Pman.Tab.AdminContactsGroup && Pman.Tab.AdminContactsGroup.grid) {
455 if(Pman.Tab.AdminCountries && Pman.Tab.AdminCountries.grid){
456 var tms = Pman.Tab.AdminCountries.grid.getSelectionModel().getSelected();
464 //o.params['query[name]'] = _this.searchBox.getValue();
467 update : function (_self, record, operation)
469 if (operation != 'commit') {
472 // only used to change active status.
475 url : baseURL + '/Roo/Person.php',
479 active: record.data.active
482 success : function() {
485 _this.grid.ds.remove(record);
490 Roo.MessageBox.alert("Error", "saving failed", function() {
491 _this.grid.footer.onClick('first');
502 url : baseURL + '/Roo/Person.php',
507 xtype : 'JsonReader',
510 totalProperty : 'total',
517 xtype : 'ColumnModel',
518 dataIndex : 'project_id_code',
519 header : _this._strings['9e727fdd3aec8274f46685441900280d'] /* Project */,
521 renderer : function(v,x,r) {
522 return String.format('<span qtip="{0}">{1}</span>',
523 r.data.project_id_name,
532 xtype : 'ColumnModel',
533 dataIndex : 'company_id_comptype',
534 header : _this._strings['a1fa27779242b4902f7ae3bdd5c6d508'] /* Type */,
535 renderer : function(v,x,r) {
536 if (r.data.office_id) {
537 return String.format('{0} - {1}', v, r.data.office_id_name);
539 return String.format('{0}', v);
547 xtype : 'ColumnModel',
548 dataIndex : 'company_id_name',
549 header : _this._strings['1c76cbfe21c6f44c1d1e59d54f3e4420'] /* Company */,
550 renderer : function(v,x,r) {
551 if (r.data.office_id) {
552 return String.format('{0} - {1}', v, r.data.office_id_name);
554 return String.format('{0}', v);
562 xtype : 'ColumnModel',
564 header : _this._strings['49ee3087348e8d44e1feda1917443987'] /* Name */,
565 renderer : function(v) { return String.format('{0}', v); },
572 xtype : 'ColumnModel',
574 header : _this._strings['bbbabdbe1b262f75d99d62880b953be1'] /* Role */,
575 renderer : function(v) { return String.format('{0}', v); },
581 xtype : 'ColumnModel',
583 header : _this._strings['bcc254b55c4a1babdf1dcb82c207506b'] /* Phone */,
584 renderer : function(v) { return String.format('{0}', v); },
590 xtype : 'ColumnModel',
592 header : _this._strings['9810aa2b9f44401be4bf73188ef2b67d'] /* Fax */,
593 renderer : function(v) { return String.format('{0}', v); },
599 xtype : 'ColumnModel',
601 header : _this._strings['ce8ae9da5b7cd6c3df2929543a9af92d'] /* Email */,
602 renderer : function(v) {
603 return (v.length && v.indexOf('@') > 0 ) ?
604 String.format('<a href="mailto:{0}">{0}</a>',v) : v;
612 xtype : 'ColumnModel',
613 dataIndex : 'active',
614 header : _this._strings['4d3d769b812b6faa6b76e1a8abaece2d'] /* Active */,
615 renderer : function(v) {
616 var state = v> 0 ? '-checked' : '';
618 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';