Pman.Tab.AdminProjectMembers.js
[Pman.Admin] / Pman.Tab.AdminProjectMembers.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.AdminProjectMembers',
12         module : Pman.Tab.AdminProjectMembers,
13         region : 'east',
14         parent : Pman.Tab.AdminProjectManager,
15         name : "Pman.Tab.AdminProjectMembers",
16         disabled : false, 
17         permname: '' 
18     });
19 });
20
21 Pman.Tab.AdminProjectMembers = 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             listeners : {
37                 activate : function() {
38                     _this.panel = this;
39                     if (_this.grid) {
40                         _this.grid.footer.onClick('first');
41                     }
42                 }
43             },
44             background : true,
45             fitContainer : true,
46             fitToframe : true,
47             region : 'east',
48             tableName : 'Person',
49             title : "Person",
50             grid : {
51                 xtype: 'Grid',
52                 xns: Roo.grid,
53                 autoExpandColumn : 'name',
54                 loadMask : true,
55                 listeners : {
56                     render : function() 
57                     {
58                         _this.grid = this; 
59                         //_this.dialog = Pman.Dialog.FILL_IN
60                         if (_this.panel.active) {
61                            this.footer.onClick('first');
62                         }
63                     },
64                     rowdblclick : function (_self, rowIndex, e)
65                     {
66                         if (!_this.dialog) return;
67                         _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {
68                             _this.grid.footer.onClick('first');
69                         }); 
70                     }
71                 },
72                 dataSource : {
73                     xtype: 'Store',
74                     xns: Roo.data,
75                     listeners : {
76                         beforeload : function (_self, options)
77                         {
78                             options.params.project_member_filter = _this.memberFilter.pressed;
79                             var pm = Pman.Tab.AdminProjectManager;
80                             if (!pm || !pm.grid || !pm.grid.getSelectionModel().getSelected()) {
81                                 return false;
82                             }
83                             var sel = pm.grid.getSelectionModel().getSelected();
84                             switch(this.filter) {
85                                 case 'S': // staff
86                                     options.params.company_id_comptype='OWNER';
87                                     options.params.project_member_of = sel.data.id;
88                                     break;
89                                 case 'O': // owner..
90                                     options.params.company_id = sel.data.owner_id;
91                                     options.params.project_member_of = sel.data.id;
92                                 case 'A': // owner..
93                                     options.params['!company_id'] = sel.data.owner_id;
94                                     options.params['!company_id_comptype'] ='OWNER';
95                                     options.params.project_member_of = sel.data.id;        
96                             }
97                             
98                         }
99                     },
100                     filter : 'S',
101                     remoteSort : true,
102                     sortInfo : { field : 'name', direction: 'ASC' },
103                     proxy : {
104                         xtype: 'HttpProxy',
105                         xns: Roo.data,
106                         method : 'GET',
107                         url : baseURL + '/Roo/Person.php'
108                     },
109                     reader : {
110                         xtype: 'JsonReader',
111                         xns: Roo.data,
112                         totalProperty : 'total',
113                         root : 'data',
114                         id : 'id',
115                         fields : [
116                             {
117                                 'name': 'id',
118                                 'type': 'int'
119                             },
120                             {
121                                 'name': 'office_id',
122                                 'type': 'int'
123                             },
124                             {
125                                 'name': 'name',
126                                 'type': 'string'
127                             },
128                             {
129                                 'name': 'phone',
130                                 'type': 'string'
131                             },
132                             {
133                                 'name': 'fax',
134                                 'type': 'string'
135                             },
136                             {
137                                 'name': 'email',
138                                 'type': 'string'
139                             },
140                             {
141                                 'name': 'company_id',
142                                 'type': 'int'
143                             },
144                             {
145                                 'name': 'role',
146                                 'type': 'string'
147                             },
148                             {
149                                 'name': 'active',
150                                 'type': 'int'
151                             },
152                             {
153                                 'name': 'remarks',
154                                 'type': 'string'
155                             },
156                             {
157                                 'name': 'passwd',
158                                 'type': 'string'
159                             },
160                             {
161                                 'name': 'owner_id',
162                                 'type': 'int'
163                             },
164                             {
165                                 'name': 'lang',
166                                 'type': 'string'
167                             },
168                             {
169                                 'name': 'no_reset_sent',
170                                 'type': 'int'
171                             },
172                             {
173                                 'name': 'action_type',
174                                 'type': 'string'
175                             },
176                             {
177                                 'name': 'project_id',
178                                 'type': 'int'
179                             },
180                             {
181                                 'name': 'office_id_id',
182                                 'type': 'int'
183                             },
184                             {
185                                 'name': 'office_id_company_id',
186                                 'type': 'int'
187                             },
188                             {
189                                 'name': 'office_id_name',
190                                 'type': 'string'
191                             },
192                             {
193                                 'name': 'office_id_address',
194                                 'type': 'string'
195                             },
196                             {
197                                 'name': 'office_id_phone',
198                                 'type': 'string'
199                             },
200                             {
201                                 'name': 'office_id_fax',
202                                 'type': 'string'
203                             },
204                             {
205                                 'name': 'office_id_email',
206                                 'type': 'string'
207                             },
208                             {
209                                 'name': 'office_id_role',
210                                 'type': 'string'
211                             },
212                             {
213                                 'name': 'company_id_code',
214                                 'type': 'string'
215                             },
216                             {
217                                 'name': 'company_id_name',
218                                 'type': 'string'
219                             },
220                             {
221                                 'name': 'company_id_remarks',
222                                 'type': 'string'
223                             },
224                             {
225                                 'name': 'company_id_owner_id',
226                                 'type': 'int'
227                             },
228                             {
229                                 'name': 'company_id_address',
230                                 'type': 'string'
231                             },
232                             {
233                                 'name': 'company_id_tel',
234                                 'type': 'string'
235                             },
236                             {
237                                 'name': 'company_id_fax',
238                                 'type': 'string'
239                             },
240                             {
241                                 'name': 'company_id_email',
242                                 'type': 'string'
243                             },
244                             {
245                                 'name': 'company_id_id',
246                                 'type': 'int'
247                             },
248                             {
249                                 'name': 'company_id_isOwner',
250                                 'type': 'int'
251                             },
252                             {
253                                 'name': 'company_id_logo_id',
254                                 'type': 'int'
255                             },
256                             {
257                                 'name': 'company_id_background_color',
258                                 'type': 'string'
259                             },
260                             {
261                                 'name': 'company_id_comptype',
262                                 'type': 'string'
263                             },
264                             {
265                                 'name': 'company_id_url',
266                                 'type': 'string'
267                             },
268                             {
269                                 'name': 'company_id_main_office_id',
270                                 'type': 'int'
271                             },
272                             {
273                                 'name': 'company_id_created_by',
274                                 'type': 'int'
275                             },
276                             {
277                                 'name': 'company_id_created_dt',
278                                 'type': 'date'
279                             },
280                             {
281                                 'name': 'company_id_updated_by',
282                                 'type': 'int'
283                             },
284                             {
285                                 'name': 'company_id_updated_dt',
286                                 'type': 'date'
287                             },
288                             {
289                                 'name': 'company_id_passwd',
290                                 'type': 'string'
291                             },
292                             {
293                                 'name': 'project_id_id',
294                                 'type': 'int'
295                             },
296                             {
297                                 'name': 'project_id_name',
298                                 'type': 'string'
299                             },
300                             {
301                                 'name': 'project_id_remarks',
302                                 'type': 'string'
303                             },
304                             {
305                                 'name': 'project_id_owner_id',
306                                 'type': 'int'
307                             },
308                             {
309                                 'name': 'project_id_code',
310                                 'type': 'string'
311                             },
312                             {
313                                 'name': 'project_id_active',
314                                 'type': 'int'
315                             },
316                             {
317                                 'name': 'project_id_type',
318                                 'type': 'string'
319                             },
320                             {
321                                 'name': 'project_id_client_id',
322                                 'type': 'int'
323                             },
324                             {
325                                 'name': 'project_id_team_id',
326                                 'type': 'int'
327                             },
328                             {
329                                 'name': 'project_id_file_location',
330                                 'type': 'string'
331                             },
332                             {
333                                 'name': 'project_id_open_date',
334                                 'type': 'date'
335                             },
336                             {
337                                 'name': 'project_id_open_by',
338                                 'type': 'int'
339                             },
340                             {
341                                 'name': 'project_id_close_date',
342                                 'type': 'date'
343                             },
344                             {
345                                 'name': 'project_id_countries',
346                                 'type': 'string'
347                             },
348                             {
349                                 'name': 'project_id_languages',
350                                 'type': 'string'
351                             },
352                             {
353                                 'name': 'project_id_agency_id',
354                                 'type': 'int'
355                             },
356                             {
357                                 'name': 'owner_id_id',
358                                 'type': 'int'
359                             },
360                             {
361                                 'name': 'owner_id_office_id',
362                                 'type': 'int'
363                             },
364                             {
365                                 'name': 'owner_id_name',
366                                 'type': 'string'
367                             },
368                             {
369                                 'name': 'owner_id_phone',
370                                 'type': 'string'
371                             },
372                             {
373                                 'name': 'owner_id_fax',
374                                 'type': 'string'
375                             },
376                             {
377                                 'name': 'owner_id_email',
378                                 'type': 'string'
379                             },
380                             {
381                                 'name': 'owner_id_company_id',
382                                 'type': 'int'
383                             },
384                             {
385                                 'name': 'owner_id_role',
386                                 'type': 'string'
387                             },
388                             {
389                                 'name': 'owner_id_active',
390                                 'type': 'int'
391                             },
392                             {
393                                 'name': 'owner_id_remarks',
394                                 'type': 'string'
395                             },
396                             {
397                                 'name': 'owner_id_passwd',
398                                 'type': 'string'
399                             },
400                             {
401                                 'name': 'owner_id_owner_id',
402                                 'type': 'int'
403                             },
404                             {
405                                 'name': 'owner_id_lang',
406                                 'type': 'string'
407                             },
408                             {
409                                 'name': 'owner_id_no_reset_sent',
410                                 'type': 'int'
411                             },
412                             {
413                                 'name': 'owner_id_action_type',
414                                 'type': 'string'
415                             },
416                             {
417                                 'name': 'owner_id_project_id',
418                                 'type': 'int'
419                             }
420                         ]
421                     }
422                 },
423                 footer : {
424                     xtype: 'PagingToolbar',
425                     xns: Roo,
426                     displayInfo : true,
427                     displayMsg : ' ',
428                     emptyMsg : 'No Person found',
429                     pageSize : 25
430                 },
431                 toolbar : {
432                     xtype: 'Toolbar',
433                     xns: Roo,
434                     items : [
435                         {
436                             xtype: 'Button',
437                             xns: Roo.Toolbar,
438                             listeners : {
439                                 toggle : function (_self, pressed)
440                                 {
441                                     if (pressed) {
442                                         _this.grid.filter = 'S';
443                                     }
444                                     _this.grid.footer.onClick('first');
445                                 }
446                             },
447                             enableToggle : true,
448                             pressed : true,
449                             text : "Staff",
450                             toggleGroup : 'appm'
451                         },
452                         {
453                             xtype: 'Button',
454                             xns: Roo.Toolbar,
455                             listeners : {
456                                 toggle : function (_self, pressed)
457                                 {
458                                     if (pressed) {
459                                         _this.grid.filter = 'O';
460                                     }
461                                     _this.grid.footer.onClick('first');
462                                 }
463                             },
464                             enableToggle : true,
465                             text : "Owners",
466                             toggleGroup : 'appm'
467                         },
468                         {
469                             xtype: 'Button',
470                             xns: Roo.Toolbar,
471                             listeners : {
472                                 toggle : function (_self, pressed)
473                                 {
474                                     if (pressed) {
475                                         _this.grid.filter = 'A';
476                                     }
477                                     _this.grid.footer.onClick('first');
478                                 }
479                             },
480                             enableToggle : true,
481                             text : "Other",
482                             toggleGroup : 'appm'
483                         },
484                         {
485                             xtype: 'Fill',
486                             xns: Roo.Toolbar
487                         },
488                         {
489                             xtype: 'Button',
490                             xns: Roo.Toolbar,
491                             listeners : {
492                                 toggle : function (_self, pressed)
493                                 {
494                                    
495                                     _this.grid.footer.onClick('first');
496                                 },
497                                 render : function (_self)
498                                 {
499                                     _this.memberBtn = _self;
500                                 }
501                             },
502                             enableToggle : true,
503                             text : "Members"
504                         }
505                     ]
506                 },
507                 colModel : [
508                     {
509                         xtype: 'ColumnModel',
510                         xns: Roo.grid,
511                         dataIndex : 'is_member',
512                         header : 'Member',
513                         width : 60,
514                         renderer : function(v) { return String.format('{0}', v); }
515                     },
516                     {
517                         xtype: 'ColumnModel',
518                         xns: Roo.grid,
519                         dataIndex : 'name',
520                         header : 'Name',
521                         sortable : true,
522                         width : 200,
523                         renderer : function(v) { return String.format('{0}', v); }
524                     },
525                     {
526                         xtype: 'ColumnModel',
527                         xns: Roo.grid,
528                         dataIndex : 'email',
529                         header : 'Email',
530                         width : 100,
531                         renderer : function(v) { return String.format('{0}', v); },
532                         sortable : true
533                     },
534                     {
535                         xtype: 'ColumnModel',
536                         xns: Roo.grid,
537                         dataIndex : 'company_id_name',
538                         header : 'Company',
539                         sortable : true,
540                         width : 120,
541                         renderer : function(v) { return String.format('{0}', v); }
542                     }
543                 ]
544             }
545         });
546         this.layout = this.panel.layout;
547
548     }
549 });