Pman.Tab.AdminCompanies.js
[Pman.Admin] / Pman.Tab.AdminCompanies.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5
6
7 // register the module first
8 Pman.on('beforeload', function()
9 {
10     Pman.register({
11         modKey : '001-Pman.Tab.AdminCompanies',
12         module : Pman.Tab.AdminCompanies,
13         region : 'center',
14         parent : false,
15         name : "unnamed module",
16         disabled : false, 
17         permname: '' 
18     });
19 });
20
21 Pman.Tab.AdminCompanies = new Roo.util.Observable({
22
23     panel : false,
24     disabled : false,
25     parentLayout:  false,
26
27     add : function(parentLayout, region)
28     {
29
30         var _this = this;
31         this.parentLayout = parentLayout;
32
33         this.panel = parentLayout.addxtype({
34             xtype: 'GridPanel',
35             xns: Roo,
36             title : "Companies",
37             fitToframe : true,
38             fitContainer : true,
39             tableName : 'Companies',
40             background : true,
41             region : 'center',
42             listeners : {
43                 activate : function() {
44                     _this.panel = this;
45                     if (_this.grid) {
46                         _this.grid.footer.onClick('first');
47                     }
48                 }
49             },
50             grid : {
51                 xtype: 'Grid',
52                 xns: Roo.grid,
53                 listeners : {
54                     render : function() 
55                     {
56                         _this.grid = this; 
57                         //_this.dialog = Pman.Dialog.FILL_IN
58                         if (_this.panel.active) {
59                            this.footer.onClick('first');
60                         }
61                     },
62                     rowdblclick : function (_self, rowIndex, e)
63                     {
64                         if (!_this.dialog) return;
65                         _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
66                             _this.grid.footer.onClick('first');
67                         }); 
68                     }
69                 },
70                 autoExpandColumn : 'name',
71                 loadMask : true,
72                 dataSource : {
73                     xtype: 'Store',
74                     xns: Roo.data,
75                     listeners : {
76                         load : function (_self, records, options)
77                         {
78                            try {
79                                 Pman.Tab.Office.grid.footer.onClick('refresh');
80                             } catch (e) {}
81                         }
82                     },
83                     remoteSort : true,
84                     sortInfo : { field : 'code', direction: 'ASC' },
85                     proxy : {
86                         xtype: 'HttpProxy',
87                         xns: Roo.data,
88                         listeners : {
89                             load : function (This, o, arg)
90                             {
91                              
92                             }
93                         },
94                         method : 'GET',
95                         url : baseURL + '/Roo/Companies.php'
96                     },
97                     reader : {
98                         xtype: 'JsonReader',
99                         xns: Roo.data,
100                         totalProperty : 'total',
101                         root : 'data',
102                         id : 'id',
103                         fields : [
104                             {
105                                 'name': 'code',
106                                 'type': 'string'
107                             },
108                             {
109                                 'name': 'name',
110                                 'type': 'string'
111                             },
112                             {
113                                 'name': 'remarks',
114                                 'type': 'string'
115                             },
116                             {
117                                 'name': 'owner_id',
118                                 'type': 'int'
119                             },
120                             {
121                                 'name': 'address',
122                                 'type': 'string'
123                             },
124                             {
125                                 'name': 'tel',
126                                 'type': 'string'
127                             },
128                             {
129                                 'name': 'fax',
130                                 'type': 'string'
131                             },
132                             {
133                                 'name': 'email',
134                                 'type': 'string'
135                             },
136                             {
137                                 'name': 'id',
138                                 'type': 'int'
139                             },
140                             {
141                                 'name': 'isOwner',
142                                 'type': 'int'
143                             },
144                             {
145                                 'name': 'logo_id',
146                                 'type': 'int'
147                             },
148                             {
149                                 'name': 'background_color',
150                                 'type': 'string'
151                             },
152                             {
153                                 'name': 'comptype',
154                                 'type': 'string'
155                             },
156                             {
157                                 'name': 'url',
158                                 'type': 'string'
159                             },
160                             {
161                                 'name': 'main_office_id',
162                                 'type': 'int'
163                             },
164                             {
165                                 'name': 'created_by',
166                                 'type': 'int'
167                             },
168                             {
169                                 'name': 'created_dt',
170                                 'type': 'date',
171                                 'dateFormat': 'Y-m-d'
172                             },
173                             {
174                                 'name': 'updated_by',
175                                 'type': 'int'
176                             },
177                             {
178                                 'name': 'updated_dt',
179                                 'type': 'date',
180                                 'dateFormat': 'Y-m-d'
181                             },
182                             {
183                                 'name': 'passwd',
184                                 'type': 'string'
185                             },
186                             {
187                                 'name': 'dispatch_port',
188                                 'type': 'string'
189                             },
190                             {
191                                 'name': 'province',
192                                 'type': 'string'
193                             },
194                             {
195                                 'name': 'country',
196                                 'type': 'string'
197                             },
198                             {
199                                 'name': 'logo_id_id',
200                                 'type': 'int'
201                             },
202                             {
203                                 'name': 'logo_id_filename',
204                                 'type': 'string'
205                             },
206                             {
207                                 'name': 'logo_id_ontable',
208                                 'type': 'string'
209                             },
210                             {
211                                 'name': 'logo_id_onid',
212                                 'type': 'int'
213                             },
214                             {
215                                 'name': 'logo_id_mimetype',
216                                 'type': 'string'
217                             },
218                             {
219                                 'name': 'logo_id_width',
220                                 'type': 'int'
221                             },
222                             {
223                                 'name': 'logo_id_height',
224                                 'type': 'int'
225                             },
226                             {
227                                 'name': 'logo_id_filesize',
228                                 'type': 'int'
229                             },
230                             {
231                                 'name': 'logo_id_displayorder',
232                                 'type': 'int'
233                             },
234                             {
235                                 'name': 'logo_id_language',
236                                 'type': 'string'
237                             },
238                             {
239                                 'name': 'logo_id_parent_image_id',
240                                 'type': 'int'
241                             },
242                             {
243                                 'name': 'logo_id_created',
244                                 'type': 'date'
245                             },
246                             {
247                                 'name': 'logo_id_imgtype',
248                                 'type': 'string'
249                             },
250                             {
251                                 'name': 'logo_id_linkurl',
252                                 'type': 'string'
253                             },
254                             {
255                                 'name': 'logo_id_descript',
256                                 'type': 'string'
257                             },
258                             {
259                                 'name': 'logo_id_title',
260                                 'type': 'string'
261                             },
262                             {
263                                 'name': 'owner_id_id',
264                                 'type': 'int'
265                             },
266                             {
267                                 'name': 'owner_id_office_id',
268                                 'type': 'int'
269                             },
270                             {
271                                 'name': 'owner_id_name',
272                                 'type': 'string'
273                             },
274                             {
275                                 'name': 'owner_id_phone',
276                                 'type': 'string'
277                             },
278                             {
279                                 'name': 'owner_id_fax',
280                                 'type': 'string'
281                             },
282                             {
283                                 'name': 'owner_id_email',
284                                 'type': 'string'
285                             },
286                             {
287                                 'name': 'owner_id_company_id',
288                                 'type': 'int'
289                             },
290                             {
291                                 'name': 'owner_id_role',
292                                 'type': 'string'
293                             },
294                             {
295                                 'name': 'owner_id_active',
296                                 'type': 'int'
297                             },
298                             {
299                                 'name': 'owner_id_remarks',
300                                 'type': 'string'
301                             },
302                             {
303                                 'name': 'owner_id_passwd',
304                                 'type': 'string'
305                             },
306                             {
307                                 'name': 'owner_id_owner_id',
308                                 'type': 'int'
309                             },
310                             {
311                                 'name': 'owner_id_lang',
312                                 'type': 'string'
313                             },
314                             {
315                                 'name': 'owner_id_no_reset_sent',
316                                 'type': 'int'
317                             },
318                             {
319                                 'name': 'owner_id_action_type',
320                                 'type': 'string'
321                             },
322                             {
323                                 'name': 'owner_id_project_id',
324                                 'type': 'int'
325                             },
326                             {
327                                 'name': 'owner_id_deleted_by',
328                                 'type': 'int'
329                             },
330                             {
331                                 'name': 'owner_id_deleted_dt',
332                                 'type': 'date'
333                             },
334                             {
335                                 'name': 'main_office_id_id',
336                                 'type': 'int'
337                             },
338                             {
339                                 'name': 'main_office_id_company_id',
340                                 'type': 'int'
341                             },
342                             {
343                                 'name': 'main_office_id_name',
344                                 'type': 'string'
345                             },
346                             {
347                                 'name': 'main_office_id_address',
348                                 'type': 'string'
349                             },
350                             {
351                                 'name': 'main_office_id_phone',
352                                 'type': 'string'
353                             },
354                             {
355                                 'name': 'main_office_id_fax',
356                                 'type': 'string'
357                             },
358                             {
359                                 'name': 'main_office_id_email',
360                                 'type': 'string'
361                             },
362                             {
363                                 'name': 'main_office_id_role',
364                                 'type': 'string'
365                             }
366                         ]
367                     }
368                 },
369                 footer : {
370                     xtype: 'PagingToolbar',
371                     xns: Roo,
372                     pageSize : 25,
373                     displayInfo : true,
374                     displayMsg : 'Displaying Companies{0} - {1} of {2}',
375                     emptyMsg : 'No Companies found'
376                 },
377                 toolbar : {
378                     xtype: 'Toolbar',
379                     xns: Roo,
380                     items : [
381                         {
382                             xtype: 'Button',
383                             xns: Roo.Toolbar,
384                             text : "Add",
385                             cls : 'x-btn-text-icon',
386                             icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
387                             listeners : {
388                                 click : function()
389                                 {
390                                     if (!_this.dialog) return;
391                                     _this.dialog.show( { id : 0 } , function() {
392                                         _this.grid.footer.onClick('first');
393                                    }); 
394                                 }
395                             }
396                         },
397                         {
398                             xtype: 'Button',
399                             xns: Roo.Toolbar,
400                             text : "Edit",
401                             cls : 'x-btn-text-icon',
402                             icon : Roo.rootURL + 'images/default/tree/leaf.gif',
403                             listeners : {
404                                 click : function()
405                                 {
406                                     var s = _this.grid.getSelectionModel().getSelections();
407                                     if (!s.length || (s.length > 1))  {
408                                         Roo.MessageBox.alert("Error", s.length ? "Select only one Row" : "Select a Row");
409                                         return;
410                                     }
411                                     if (!_this.dialog) return;
412                                     _this.dialog.show(s[0].data, function() {
413                                         _this.grid.footer.onClick('first');
414                                     }); 
415                                     
416                                 }
417                             }
418                         },
419                         {
420                             xtype: 'Button',
421                             xns: Roo.Toolbar,
422                             text : "Delete",
423                             cls : 'x-btn-text-icon',
424                             icon : rootURL + '/Pman/templates/images/trash.gif',
425                             listeners : {
426                                 click : function()
427                                 {
428                                      Pman.genericDelete(_this, 'Companies'); 
429                                 }
430                             }
431                         }
432                     ]
433                 },
434                 colModel : [
435                     {
436                         xtype: 'ColumnModel',
437                         xns: Roo.grid,
438                         dataIndex : 'comptype',
439                         header : 'Type',
440                         sortable : true,
441                         width : 90,
442                         renderer : function (v,x ,r) {
443                             return Pman.Dialog.Companies.comptypeListToString(r.data.isOwner ? 'OWNER' : v);
444                         }
445                     },
446                     {
447                         xtype: 'ColumnModel',
448                         xns: Roo.grid,
449                         dataIndex : 'code',
450                         header : 'Ref#',
451                         width : 50,
452                         renderer : function(v) { return String.format('{0}', v); }
453                     },
454                     {
455                         xtype: 'ColumnModel',
456                         xns: Roo.grid,
457                         dataIndex : 'name',
458                         header : 'Name',
459                         width : 200,
460                         renderer : function(v,x,r) {
461                             return String.format(r.data.isOwner ? '<B>{0}</B>' : '{0}',v);    
462                         }
463                     },
464                     {
465                         xtype: 'ColumnModel',
466                         xns: Roo.grid,
467                         dataIndex : 'tel',
468                         header : 'Tel',
469                         width : 100,
470                         renderer : function(v) { return String.format('{0}', v); }
471                     },
472                     {
473                         xtype: 'ColumnModel',
474                         xns: Roo.grid,
475                         dataIndex : 'fax',
476                         header : 'Fax',
477                         width : 100,
478                         renderer : function(v) { return String.format('{0}', v); }
479                     },
480                     {
481                         xtype: 'ColumnModel',
482                         xns: Roo.grid,
483                         dataIndex : 'email',
484                         header : 'Email',
485                         width : 100,
486                         renderer : function (v) {
487                                 return (v.length && v.indexOf('@') > 0 ) ? 
488                                     String.format('<a href="mailto:{0}">{0}</a>',v) : v;
489                                     
490                             }
491                     },
492                     {
493                         xtype: 'ColumnModel',
494                         xns: Roo.grid,
495                         header : 'Remarks',
496                         width : 200,
497                         dataIndex : 'remarks',
498                         renderer : function(v) { return String.format('{0}', v); }
499                     },
500                     {
501                         xtype: 'ColumnModel',
502                         xns: Roo.grid,
503                         header : 'Owner',
504                         width : 75,
505                         dataIndex : 'owner_id',
506                         renderer : function(v) { return String.format('{0}', v); }
507                     },
508                     {
509                         xtype: 'ColumnModel',
510                         xns: Roo.grid,
511                         header : 'Address',
512                         width : 200,
513                         dataIndex : 'address',
514                         renderer : function(v) { return String.format('{0}', v); }
515                     },
516                     {
517                         xtype: 'ColumnModel',
518                         xns: Roo.grid,
519                         header : 'Tel',
520                         width : 200,
521                         dataIndex : 'tel',
522                         renderer : function(v) { return String.format('{0}', v); }
523                     },
524                     {
525                         xtype: 'ColumnModel',
526                         xns: Roo.grid,
527                         header : 'Fax',
528                         width : 200,
529                         dataIndex : 'fax',
530                         renderer : function(v) { return String.format('{0}', v); }
531                     },
532                     {
533                         xtype: 'ColumnModel',
534                         xns: Roo.grid,
535                         header : 'Email',
536                         width : 200,
537                         dataIndex : 'email',
538                         renderer : function(v) { return String.format('{0}', v); }
539                     },
540                     {
541                         xtype: 'ColumnModel',
542                         xns: Roo.grid,
543                         header : 'Id',
544                         width : 75,
545                         dataIndex : 'id',
546                         renderer : function(v) { return String.format('{0}', v); }
547                     },
548                     {
549                         xtype: 'ColumnModel',
550                         xns: Roo.grid,
551                         header : 'IsOwner',
552                         width : 75,
553                         dataIndex : 'isOwner',
554                         renderer : function(v) { return String.format('{0}', v); }
555                     },
556                     {
557                         xtype: 'ColumnModel',
558                         xns: Roo.grid,
559                         header : 'Logo',
560                         width : 75,
561                         dataIndex : 'logo_id',
562                         renderer : function(v) { return String.format('{0}', v); }
563                     },
564                     {
565                         xtype: 'ColumnModel',
566                         xns: Roo.grid,
567                         header : 'Background color',
568                         width : 200,
569                         dataIndex : 'background_color',
570                         renderer : function(v) { return String.format('{0}', v); }
571                     },
572                     {
573                         xtype: 'ColumnModel',
574                         xns: Roo.grid,
575                         header : 'Comptype',
576                         width : 200,
577                         dataIndex : 'comptype',
578                         renderer : function(v) { return String.format('{0}', v); }
579                     },
580                     {
581                         xtype: 'ColumnModel',
582                         xns: Roo.grid,
583                         header : 'Url',
584                         width : 200,
585                         dataIndex : 'url',
586                         renderer : function(v) { return String.format('{0}', v); }
587                     },
588                     {
589                         xtype: 'ColumnModel',
590                         xns: Roo.grid,
591                         header : 'Main office',
592                         width : 75,
593                         dataIndex : 'main_office_id',
594                         renderer : function(v) { return String.format('{0}', v); }
595                     },
596                     {
597                         xtype: 'ColumnModel',
598                         xns: Roo.grid,
599                         header : 'Created by',
600                         width : 75,
601                         dataIndex : 'created_by',
602                         renderer : function(v) { return String.format('{0}', v); }
603                     },
604                     {
605                         xtype: 'ColumnModel',
606                         xns: Roo.grid,
607                         header : 'Created dt',
608                         width : 75,
609                         dataIndex : 'created_dt',
610                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
611                     },
612                     {
613                         xtype: 'ColumnModel',
614                         xns: Roo.grid,
615                         header : 'Updated by',
616                         width : 75,
617                         dataIndex : 'updated_by',
618                         renderer : function(v) { return String.format('{0}', v); }
619                     },
620                     {
621                         xtype: 'ColumnModel',
622                         xns: Roo.grid,
623                         header : 'Updated dt',
624                         width : 75,
625                         dataIndex : 'updated_dt',
626                         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }
627                     },
628                     {
629                         xtype: 'ColumnModel',
630                         xns: Roo.grid,
631                         header : 'Passwd',
632                         width : 200,
633                         dataIndex : 'passwd',
634                         renderer : function(v) { return String.format('{0}', v); }
635                     },
636                     {
637                         xtype: 'ColumnModel',
638                         xns: Roo.grid,
639                         header : 'Dispatch port',
640                         width : 200,
641                         dataIndex : 'dispatch_port',
642                         renderer : function(v) { return String.format('{0}', v); }
643                     },
644                     {
645                         xtype: 'ColumnModel',
646                         xns: Roo.grid,
647                         header : 'Province',
648                         width : 200,
649                         dataIndex : 'province',
650                         renderer : function(v) { return String.format('{0}', v); }
651                     },
652                     {
653                         xtype: 'ColumnModel',
654                         xns: Roo.grid,
655                         header : 'Country',
656                         width : 200,
657                         dataIndex : 'country',
658                         renderer : function(v) { return String.format('{0}', v); }
659                     }
660                 ]
661             }
662         });
663         this.layout = this.panel.layout;
664
665     }
666 });