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