Subversion Repositories SmartDukaan

Rev

Rev 23419 | Rev 23886 | 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){
23528 ashik.ali 70
				doPostAjaxRequestWithJsonHandler(context+"/createScheme", json, function(response){
23419 ashik.ali 71
					$('#main-content').html(response);
72
				});
22860 ashik.ali 73
	             return false; // required to block normal submit since you used ajax
74
			}
75
         }
76
	});
77
 
78
});
79
 
23347 ashik.ali 80
 
81
$('#retailerAll').on('change', function() {
82
    if (this.checked) {
83
    	$('#retailerAll').val('true');
84
    	$('#retailer-ids').html('');
85
    }else{
86
    	$('#retailerAll').val('false');
87
    	$('#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">');
88
    }
89
});
90
 
91
 
23343 ashik.ali 92
function validateSchemeDetails(){
93
	console.log("validating Scheme Details...");
94
	var error = false;
95
	var name = $("form#create-scheme-form input[name=schemeName]").val();
96
	console.log("schemeName = " + name);
97
	$("#schemeName").removeClass("border-highlight");
98
	if(name ==""){
99
		alert("Name is required");
100
		$("#schemeName").addClass("border-highlight");
101
		error = true;
102
		return error;
103
	}
104
	var schemeType = $("#schemeType option:selected").val();
105
	console.log("schemeType = " + schemeType);
106
	$("#schemeType").removeClass("border-highlight");
107
	if(schemeType == ""){
108
		alert("Please choose Scheme Type");
109
		$("#schemeType").addClass("border-highlight");
110
		error = true;
111
		return error;
112
	}
113
	var amountType = $("#amountType option:selected").val();
114
	console.log("amountType = " + amountType);
115
	$("#amountType").removeClass("border-highlight");
116
	if(amountType == ""){
117
		alert("Please choose Amount Type");
118
		$("#amountType").addClass("border-highlight");
119
		error = true;
120
		return error;
121
	}
122
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
123
	console.log("amount = " + amount);
124
	$("#schemeAmount").removeClass("border-highlight");
125
	if (amount == ""){
126
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
127
	}else if(amount <= 0){
128
		alert("Amount should be greater than 0");
129
		$("#schemeAmount").addClass("border-highlight");
130
		error = true;
131
		return error;
132
	}
133
 
134
 
135
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
136
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
137
	$("#startDateTime").removeClass("border-highlight");
138
	$("#endDateTime").removeClass("border-highlight");
139
 
140
 
141
	if(Date.parse(endDateTimeString) < Date.parse(startDateTimeString)){
142
		alert("End date Time [" + endDateTimeString + "] can not be greater than equal to Start date Time [" + startDateTimeString + "]");
143
		$("#startDateTime").addClass("border-highlight");
144
		$("#endDateTime").addClass("border-highlight");
145
		error = true;
146
		return error;
147
	}
148
 
149
	//$('#brand-value').text($(this).text());
23419 ashik.ali 150
	$("#tag-listing-brand-value").removeClass("border-highlight");
151
	if($("#tag-listing-brand-value").text() == "Brands"){
23343 ashik.ali 152
		alert("Please choose Brand");
23419 ashik.ali 153
		$("#tag-listing-brand-value").addClass("border-highlight");
23343 ashik.ali 154
		error = true;
155
		return error;
156
	}
157
 
23419 ashik.ali 158
	$("#tagListingItemsDescription").removeClass("border-hightlight");
159
	var itemIdsString = $("#tagListingItemsDescription").val();
23343 ashik.ali 160
	if(itemIdsString == null){
161
		alert("Please choose items");
23419 ashik.ali 162
		$("#tagListingItemsDescription").addClass("border-highlight");
23343 ashik.ali 163
		error = true;
164
		return error;
165
	}
166
 
167
	var retailerIdsString = $("#retailerIds").val();
168
	if(retailerIdsString != undefined){
169
		var retailerIdsPattern = "^[0-9]{1,10}(?:,[0-9]{1,10})*$";
170
		if(retailerIdsString.match(retailerIdsPattern) == null){
171
			alert("Invalid retailerIds["+retailerIdsString+"] pattern");
172
			$("#retailerIds").addClass("border-highlight");
173
			error = true;
174
			return error;
175
		}
176
	}
177
 
178
	console.log("validation scheme error = " + error);
179
	return error;
180
}
181
 
182
function schemeDetailsJson(){
183
	console.log("schemeDetailsJson")
184
	var schemeObject = {};
185
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
186
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
187
	schemeObject['type'] = $("#schemeType option:selected").val();
188
	schemeObject['amountType'] = $("#amountType option:selected").val();
189
	schemeObject['amount'] = $('#schemeAmount').val();
190
	//var startEndDateTime = $("form#create-scheme-form input[name=startEndDateTime]").val().split("-");
191
	var startDateTimeString = $("form#create-scheme-form input[name=startDateTime]").val();
192
	console.log("startDateTimeString : "+startDateTimeString);
193
	var endDateTimeString = $("form#create-scheme-form input[name=endDateTime]").val();
194
	console.log("endDateTimeString : "+endDateTimeString);
195
 
196
	schemeObject['startDateTimeString'] = startDateTimeString;
197
	schemeObject['endDateTimeString'] = endDateTimeString;
198
	schemeObject['itemIds'] = [];
23419 ashik.ali 199
	var itemIds = $("#tagListingItemsDescription").val();
23343 ashik.ali 200
	//var itemIds = itemIdsString.substring(1, itemIdsString.length - 1).split(",");
201
	for(var i = 0; i < itemIds.length; i++){
202
		schemeObject['itemIds'].push(parseInt(itemIds[i]));
203
	}
204
	schemeObject['retailerAll'] = $("form#create-scheme-form input[name=retailerAll]").val();
205
	if($("#retailerAll").val() == 'true'){
206
		schemeObject['retailerIds'] = [];
207
	}else{
208
		schemeObject['retailerIds'] = []
209
		var retailerIds = $("#retailerIds").val().split(",");
210
		for(var retailerId of retailerIds){
211
			schemeObject['retailerIds'].push(parseInt(retailerId));
212
		}
213
	}
214
	return JSON.stringify(schemeObject);
215
}