latest updates
[namibia] / public / templates / page / auctionadherence.js
1 var template_auctionadherence = function( static )
2 {
3         this.static   = static;
4         this.elements = {
5                         dateFrom : new App.TemplateElement.FieldComponent('dateFrom'),
6                         dateTo : new App.TemplateElement.FieldComponent('dateTo'),
7                         group : new App.TemplateElement.FieldComponent('group'),
8                         groupDivision : new App.TemplateElement.FieldComponent('groupDivision'),
9                         company : new App.TemplateElement.FieldComponent('company')
10                 };
11         
12         this.ti = null;
13         this.init = function( ti ) {
14                 this.ti = ti;
15                 App.DataStore.loadSelectListData('groups', true, 'Company', 'Group.SelectList');
16                 App.API.getTask(
17                                 'reportAuctionAdherence', 'Report', 'Report.AuctionAdherence',
18                                 null, {}, function(){}, _w.taskContractError
19                         );
20                 this.ti.hydrate({
21                         'dateFrom' : {
22                                 type  : 'date',
23                                 id    : 'dateFrom',
24                                 title : 'Date from',
25                                 style : 'datepicker',
26                                 value : ''
27                         },
28                         'dateTo' : {
29                                 type  : 'date',
30                                 id    : 'dateTp',
31                                 title : 'Date to',
32                                 style : 'datepicker',
33                                 value : ''
34                         },
35                         'group' : {
36                                 type  : 'select',
37                                 id    : 'group',
38                                 title : 'Group Member',
39                                 value : '',
40                                 dataStoreId : 'groups',
41                                 onChange    : function () {
42                                         if (!App.DataStore.getItem('BuildSelect:group', false))
43                                         {
44                                                 var groupId = $('#group').val();
45                                                 $('#groupDivision').val('');
46                                                 $('#company').val('');
47                                                 App.DataStore.loadSelectListData(
48                                                                 'groupdivisions', false, 'Company', 'GroupDivision.SelectList',
49                                                                 null, {Filter: {group: groupId}}
50                                                                 );
51                                                 App.DataStore.loadSelectListData(
52                                                                 'companies', false, 'Company', 'Company.SelectList',
53                                                                 null, {Filter: {group: groupId}}
54                                                                 );
55                                         }
56                                 }
57                         },
58                         'groupDivision' : {
59                                 type  : 'select',
60                                 id    : 'groupDivision',
61                                 title : 'Group Division',
62                                 value : '',
63                                 dataStoreId : 'groupdivisions',
64                                 onChange    : function () {
65                                         if (!App.DataStore.getItem('BuildSelect:groupDivision', false))
66                                         {
67                                                 var groupDivisionId = $('#groupDivision').val();
68                                                 $('#company').val('');
69                                                 App.DataStore.loadSelectListData(
70                                                                 'companies', false, 'Company', 'Company.SelectList',
71                                                                 null, {Filter: {groupDivision: groupDivisionId}}
72                                                                 );
73                                         }
74                                 }
75                         },
76                         'company' : {
77                                 type  : 'select',
78                                 id    : 'company',
79                                 title : 'Company',
80                                 value : '',
81                                 dataStoreId : 'companies'
82                         }
83                 });
84         };
85         
86         this.construct = function() {
87                 $('#frmActionAdherence').validate({
88                         rules: {
89                                 dateFrom: {required: false, dateISO: true},
90                                 dateTo: {required: false, dateISO: true}
91                         },
92                         messages: {
93                                 dateFrom: {
94                                         dateISO: "Must be a valid date."
95                                 },
96                                 dateTo: {
97                                         dateISO: "Must be a valid date."
98                                 }
99                         },
100                         submitHandler: function( form ) {
101                                 var data = {Report: _t['auctionadherence'].harvest()};
102                                 App.API.execTask(
103                                                 'reportAuctionAdherence', data, {},
104                                                 function () {}, _w.taskExecError,
105                                                 'EXPORT', true
106                                 );
107                         }
108                 });
109                 $('#btnReport').prop('disabled', false);
110         };
111         this.destruct = function() {};
112 };