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