Subversion Repositories SmartDukaan

Rev

Rev 23343 | Rev 23419 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
22860 ashik.ali 1
$().ready(function() {
2
	$("form#create-scheme-form input").each(function(){
3
		$(this).attr('autocomplete', 'off');
4
	});
5
});
6
$().ready(function() {
7
        // validate the comment form when it is submitted
8
        $('#create-scheme-form').validate({
9
		rules:{
10
			schemeName:{
11
				required:true
12
			},
13
			schemeType:{
14
				required:true
15
			},
16
			amountType:{
17
				required:true
18
			},
19
			schemeAmount:{
20
				required:true
21
			},
22
			startDate:{
23
				required:true
24
			},
25
			endDate:{
26
				required:true
27
			},
23026 ashik.ali 28
			itemIdsDescription:{
22860 ashik.ali 29
				required:true
30
			},
31
			retailerIds:{
32
				required:true
33
			}
34
		},
35
		messages:{
36
			name:{
37
				required:"Please enter the name"
38
			},
39
			schemeType:{
40
				required:"Please choose type"
41
			},
42
			amountType:{
43
				required: "Please choose amount type"
44
			},
45
			schemeAmount:{
46
				required: "Please enter the amount"
47
			},
48
			startDate:{
49
				require: "Please choose start date"
50
			},
51
			endDate:{
52
				require: "Please choose end date"
53
			},
23026 ashik.ali 54
			itemIdsDescription:{
55
				required: "Please choose items"
22860 ashik.ali 56
			},
57
			retailerIds:{
58
				required: "Please enter retailer ids"
59
			}
60
		},
61
		submitHandler: function (form, event) {
62
			event.preventDefault();
63
			if(validateSchemeDetails()){
64
				alert("Please fix errors");
65
				return false;
66
			}
67
			var json = schemeDetailsJson();
68
			console.log("schemeJson = " + json);
69
			if(confirm("Are you sure you want to create Scheme!") == true){
70
	             $.ajax({
71
	                 type: "POST",
72
	                 url: "createScheme",
73
	                 data: json,
74
	                 contentType:'application/json',
75
					async: false,
76
					success: function (data) {
77
						$('#main-content').html(data);
78
					},
79
					cache: false,
80
					processData: false
81
	             });
82
	             return false; // required to block normal submit since you used ajax
83
			}
84
         }
85
	});
86
 
87
});
88
 
23347 ashik.ali 89
 
90
$('#retailerAll').on('change', function() {
91
    if (this.checked) {
92
    	$('#retailerAll').val('true');
93
    	$('#retailer-ids').html('');
94
    }else{
95
    	$('#retailerAll').val('false');
96
    	$('#retailer-ids').html('<input placeholder="Retailer Ids" id="retailerIds" name="retailerIds" type="text" value="" pattern="^[0-9]{1,10}(?:,[0-9]{1,10})*$" title="Comma Seperated Positive Integer Retailer Ids" class="form-control input-sm">');
97
    }
98
});
99
 
100
 
23343 ashik.ali 101
function validateSchemeDetails(){
102
	console.log("validating Scheme Details...");
103
	var error = false;
104
	var name = $("form#create-scheme-form input[name=schemeName]").val();
105
	console.log("schemeName = " + name);
106
	$("#schemeName").removeClass("border-highlight");
107
	if(name ==""){
108
		alert("Name is required");
109
		$("#schemeName").addClass("border-highlight");
110
		error = true;
111
		return error;
112
	}
113
	var schemeType = $("#schemeType option:selected").val();
114
	console.log("schemeType = " + schemeType);
115
	$("#schemeType").removeClass("border-highlight");
116
	if(schemeType == ""){
117
		alert("Please choose Scheme Type");
118
		$("#schemeType").addClass("border-highlight");
119
		error = true;
120
		return error;
121
	}
122
	var amountType = $("#amountType option:selected").val();
123
	console.log("amountType = " + amountType);
124
	$("#amountType").removeClass("border-highlight");
125
	if(amountType == ""){
126
		alert("Please choose Amount Type");
127
		$("#amountType").addClass("border-highlight");
128
		error = true;
129
		return error;
130
	}
131
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
132
	console.log("amount = " + amount);
133
	$("#schemeAmount").removeClass("border-highlight");
134
	if (amount == ""){
135
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
136
	}else if(amount <= 0){
137
		alert("Amount should be greater than 0");
138
		$("#schemeAmount").addClass("border-highlight");
139
		error = true;
140
		return error;
141
	}
142
 
143
 
144
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
145
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
146
	$("#startDateTime").removeClass("border-highlight");
147
	$("#endDateTime").removeClass("border-highlight");
148
 
149
 
150
	if(Date.parse(endDateTimeString) < Date.parse(startDateTimeString)){
151
		alert("End date Time [" + endDateTimeString + "] can not be greater than equal to Start date Time [" + startDateTimeString + "]");
152
		$("#startDateTime").addClass("border-highlight");
153
		$("#endDateTime").addClass("border-highlight");
154
		error = true;
155
		return error;
156
	}
157
 
158
	//$('#brand-value').text($(this).text());
159
	$("#brand-value").removeClass("border-highlight");
160
	if($("#brand-value").text() == "Brands"){
161
		alert("Please choose Brand");
162
		$("#brand-value").addClass("border-highlight");
163
		error = true;
164
		return error;
165
	}
166
 
167
	$("#itemsDescription").removeClass("border-hightlight");
168
	var itemIdsString = $("#itemsDescription").val();
169
	if(itemIdsString == null){
170
		alert("Please choose items");
171
		$("#itemsDescription").addClass("border-highlight");
172
		error = true;
173
		return error;
174
	}
175
 
176
	var retailerIdsString = $("#retailerIds").val();
177
	if(retailerIdsString != undefined){
178
		var retailerIdsPattern = "^[0-9]{1,10}(?:,[0-9]{1,10})*$";
179
		if(retailerIdsString.match(retailerIdsPattern) == null){
180
			alert("Invalid retailerIds["+retailerIdsString+"] pattern");
181
			$("#retailerIds").addClass("border-highlight");
182
			error = true;
183
			return error;
184
		}
185
	}
186
 
187
	console.log("validation scheme error = " + error);
188
	return error;
189
}
190
 
191
function schemeDetailsJson(){
192
	console.log("schemeDetailsJson")
193
	var schemeObject = {};
194
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
195
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
196
	schemeObject['type'] = $("#schemeType option:selected").val();
197
	schemeObject['amountType'] = $("#amountType option:selected").val();
198
	schemeObject['amount'] = $('#schemeAmount').val();
199
	//var startEndDateTime = $("form#create-scheme-form input[name=startEndDateTime]").val().split("-");
200
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
201
	console.log("startDateTimeString : "+startDateTimeString);
202
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
203
	console.log("endDateTimeString : "+endDateTimeString);
204
 
205
	schemeObject['startDateTimeString'] = startDateTimeString;
206
	schemeObject['endDateTimeString'] = endDateTimeString;
207
	schemeObject['itemIds'] = [];
208
	var itemIds = $("#itemsDescription").val();
209
	//var itemIds = itemIdsString.substring(1, itemIdsString.length - 1).split(",");
210
	for(var i = 0; i < itemIds.length; i++){
211
		schemeObject['itemIds'].push(parseInt(itemIds[i]));
212
	}
213
	schemeObject['retailerAll'] = $("form#create-scheme-form input[name=retailerAll]").val();
214
	if($("#retailerAll").val() == 'true'){
215
		schemeObject['retailerIds'] = [];
216
	}else{
217
		schemeObject['retailerIds'] = []
218
		var retailerIds = $("#retailerIds").val().split(",");
219
		for(var retailerId of retailerIds){
220
			schemeObject['retailerIds'].push(parseInt(retailerId));
221
		}
222
	}
223
	return JSON.stringify(schemeObject);
224
}