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