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