Merge branch '2013.10' into 2014.11
[tine20] / tine20 / Projects / js / ProjectAttendeeFilter.js
1 /*
2  * Tine 2.0
3  * 
4  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
5  * @author      Philipp Schüle <p.schuele@metaways.de>
6  * @copyright   Copyright (c) 2011 Metaways Infosystems GmbH (http://www.metaways.de)
7  */
8 Ext.ns('Tine.Projects');
9
10 /**
11  * Foreign Record Filter
12  * 
13  * @namespace   Tine.Projects
14  * @class       Tine.Projects.ProjectAttendeeFilter
15  * @extends     Tine.widgets.grid.ForeignRecordFilter
16  * 
17  * <p>Filter for project attendee</p>
18  * 
19  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
20  * @author      Philipp Schüle <p.schuele@metaways.de>
21  * 
22  * @param       {Object} config
23  * @constructor
24  */
25 Tine.Projects.ProjectAttendeeFilter = Ext.extend(Tine.widgets.grid.ForeignRecordFilter, {
26
27     /**
28      * @cfg {Record} foreignRecordClass (required)
29      */
30     foreignRecordClass: Tine.Addressbook.Model.Contact,
31     
32     /**
33      * @cfg {String} ownField (required)
34      */
35     ownField: 'contact',
36     
37     initComponent: function() {
38         this.label = this.app.i18n._('Attendee');
39         
40         Tine.Projects.ProjectAttendeeFilter.superclass.initComponent.call(this);
41     },
42     
43     /**
44      * get subfilter models
45      * @return Array of filter models
46      */
47     getSubFilters: function() {
48         var attendeeRoleFilter = new Tine.Tinebase.widgets.keyfield.Filter({
49             label: this.app.i18n._('Attendee Role'),
50             field: 'relation_type',
51             app: this.app, 
52             keyfieldName: 'projectAttendeeRole'
53         });
54         
55         return [attendeeRoleFilter];
56     }
57 });
58
59 Tine.widgets.grid.FilterToolbar.FILTERS['tine.projects.attendee'] = Tine.Projects.ProjectAttendeeFilter;