remove about us and FAQ links in menus
[namibia] / public / templates / page / loadvssoldreport.js
1 var template_loadvssoldreport = function (static)
2 {
3         this.static = static;
4         this.elements = {
5                 year: new App.TemplateElement.FieldComponent('year'),
6                 region: new App.TemplateElement.FieldComponent('region'),
7                 group: new App.TemplateElement.FieldComponent('group'),
8                 groupDivision: new App.TemplateElement.FieldComponent('groupDivision'),
9                 regionalManager: new App.TemplateElement.FieldComponent('regionalManager'),
10                 company: new App.TemplateElement.FieldComponent('company')
11         };
12         this.ti = null;
13         this.init = function (ti)
14         {
15                 this.ti = ti;
16                 App.DataStore.loadSelectListData('regions', true, 'Location', 'Region.SelectList');
17                 //App.DataStore.loadSelectListData('groups', true, 'Company', 'Group.SelectList');
18                 //App.DataStore.loadSelectListData('regionalManagers', true, 'AppConfig', 'RegionalManager.SelectList');
19                 App.API.getTask(
20                         'reportLoadVsSold', 'Report', 'Report.LoadVsSold',
21                         null, {}, function () {}, _w.taskContractError
22                 );
23
24                 var startYear = 2012;
25                 var years = [];
26                 var d = new Date();
27                 var currentYear = d.getFullYear();
28                 for (i = startYear; i <= currentYear; i++)
29                 {
30                         years.push({'value': i, 'label': i});
31                 }
32
33                 App.DataStore.setData('yearsData', years);
34
35                 this.ti.hydrate({
36                         'year': {
37                                 type: 'select',
38                                 id: 'year',
39                                 title: 'Year',
40                                 value: '',
41                                 dataStoreId: 'yearsData',
42                         },
43                         'region': {
44                                 type: 'select',
45                                 id: 'region',
46                                 title: 'Region',
47                                 value: '',
48                                 dataStoreId: 'regions',
49                                 onChange: function () {
50                                         if (!App.DataStore.getItem('BuildSelect:region', false))
51                                         {
52                                                 var regionId = $('#region').val();
53                                                 $('#group').val('');
54                                                 $('#regionalManager').val('');
55                                                 $('#groupDivision').val('');
56                                                 $('#company').val('');
57                                                 App.DataStore.setData('regionalManagers', []);
58                                                 App.DataStore.setData('groupdivisions', []);
59                                                 App.DataStore.setData('companies', []);
60                                                 App.DataStore.loadSelectListData(
61                                                                 'groups', false, 'Company', 'Group.JoinedSelectList',
62                                                                 null, {Filter: {
63                                                                         'region': regionId
64                                                                         }}
65                                                 );
66                                         }
67                                 }
68                         },
69                         'group': {
70                                 type: 'select',
71                                 id: 'group',
72                                 title: 'Group Member',
73                                 value: '',
74                                 dataStoreId: 'groups',
75                                 onChange: function () {
76                                         if (!App.DataStore.getItem('BuildSelect:group', false))
77                                         {
78                                                 var regionId = $('#region').val();
79                                                 var groupId = $('#group').val();
80                                                 $('#regionalManager').val('');
81                                                 $('#groupDivision').val('');
82                                                 $('#company').val('');
83                                                 App.DataStore.setData('groupdivisions', []);
84                                                 App.DataStore.setData('companies', []);
85                                                 App.DataStore.loadSelectListData(
86                                                                 'regionalManagers', false, 'AppConfig', 'RegionalManager.JoinedSelectList',
87                                                                 null, {Filter: {
88                                                                         'region': regionId,
89                                                                         'group': groupId
90                                                                         }}
91                                                 );
92                                         }
93                                 }
94                         },
95                         'regionalManager': {
96                                 type: 'select',
97                                 id: 'regionalManager',
98                                 title: 'Regional Manager',
99                                 value: '',
100                                 dataStoreId: 'regionalManagers',
101                                 multiple: true,
102                                 onChange: function () {
103                                         if (!App.DataStore.getItem('BuildSelect:regionalManager', false))
104                                         {
105                                                 var regionId = $('#region').val();
106                                                 var groupId = $('#group').val();
107                                                 var regionalManagerId = $('#regionalManager').val();
108                                                 $('#groupDivision').val('');
109                                                 $('#company').val('');
110                                                 App.DataStore.setData('companies', []);
111                                                 App.DataStore.loadSelectListData(
112                                                                 'groupdivisions', false, 'Company', 'GroupDivision.JoinedSelectList',
113                                                                 null, {Filter: {
114                                                                         region: regionId,
115                                                                         group: groupId,
116                                                                         regionalManager: regionalManagerId
117                                                                         }}
118                                                 );
119                                         }
120                                 }
121                         },
122                         'groupDivision': {
123                                 type: 'select',
124                                 id: 'groupDivision',
125                                 title: 'Group Division',
126                                 value: '',
127                                 dataStoreId: 'groupdivisions',
128                                 onChange: function () {
129                                         if (!App.DataStore.getItem('BuildSelect:groupDivision', false))
130                                         {
131                                                 var regionId = $('#region').val();
132                                                 var regionalManagerId = $('#regionalManager').val();
133                                                 var groupDivisionId = $('#groupDivision').val();
134                                                 $('#company').val('');
135                                                 App.DataStore.loadSelectListData(
136                                                                 'companies', false, 'Company', 'Company.SelectList',
137                                                                 null, {Filter: {
138                                                                         region: regionId,
139                                                                         regionalManager: regionalManagerId,
140                                                                         groupDivision: groupDivisionId
141                                                                         }}
142                                                 );
143                                         }
144                                 }
145                         },
146                         'company': {
147                                 type: 'select',
148                                 id: 'company',
149                                 title: 'Company',
150                                 value: '',
151                                 dataStoreId: 'companies'
152                         }
153                 });
154         };
155         this.construct = function ()
156         {
157                 App.DataStore.setData('groups', []);
158                 App.DataStore.setData('regionalManagers', []);
159                 App.DataStore.setData('groupdivisions', []);
160                 App.DataStore.setData('companies', []);
161                 $('#frmLoadVsSoldReport').validate({
162                         rules: {
163                                 year: {required: true},
164                         },
165                         messages: {
166                                 year: {
167                                         dateISO: "Year is a required field."
168                                 }
169                         },
170                         submitHandler: function (form) {
171                                 var data = {Report: _t['loadvssoldreport'].harvest()};
172                                 App.API.execTask(
173                                                                 'reportLoadVsSold', data, {},
174                                                                 function () {
175                                                                 }, _w.taskExecError,
176                                                                 'EXPORT', true
177                                                                 );
178                         }
179                 });
180                 $('#btnReport').prop('disabled', false);
181         };
182         this.destruct = function () {};
183 };