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