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