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