Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
30084 amit.gupta 1
function createSchemeOnReady() {
30454 amit.gupta 2
	$("form#create-scheme-form input").each(function () {
22860 ashik.ali 3
		$(this).attr('autocomplete', 'off');
4
	});
30084 amit.gupta 5
	// validate the comment form when it is submitted
6
	$('#create-scheme-form').validate({
7
		rules: {
8
			schemeName: {
9
				required: true
22860 ashik.ali 10
			},
30084 amit.gupta 11
			schemeType: {
12
				required: true
22860 ashik.ali 13
			},
30084 amit.gupta 14
			amountType: {
30432 tejbeer 15
				required: true
22860 ashik.ali 16
			},
30432 tejbeer 17
			schemeAmount: {
18
				required: true
22860 ashik.ali 19
			},
30432 tejbeer 20
			startDate: {
21
				required: true
22860 ashik.ali 22
			},
30432 tejbeer 23
			endDate: {
24
				required: true
22860 ashik.ali 25
			},
30432 tejbeer 26
			itemIdsDescription: {
27
				required: true
22860 ashik.ali 28
			},
30432 tejbeer 29
			retailerIds: {
30
				required: true
22860 ashik.ali 31
			}
32
		},
30432 tejbeer 33
		messages: {
34
			name: {
35
				required: "Please enter the name"
22860 ashik.ali 36
			},
30432 tejbeer 37
			schemeType: {
38
				required: "Please choose type"
22860 ashik.ali 39
			},
30432 tejbeer 40
			amountType: {
22860 ashik.ali 41
				required: "Please choose amount type"
42
			},
30432 tejbeer 43
			schemeAmount: {
22860 ashik.ali 44
				required: "Please enter the amount"
45
			},
30432 tejbeer 46
			startDate: {
22860 ashik.ali 47
				require: "Please choose start date"
48
			},
30432 tejbeer 49
			endDate: {
22860 ashik.ali 50
				require: "Please choose end date"
51
			},
30432 tejbeer 52
			itemIdsDescription: {
23026 ashik.ali 53
				required: "Please choose items"
22860 ashik.ali 54
			},
30432 tejbeer 55
			retailerIds: {
22860 ashik.ali 56
				required: "Please enter retailer ids"
57
			}
58
		},
30454 amit.gupta 59
		submitHandler: function (form, event) {
22860 ashik.ali 60
			event.preventDefault();
30432 tejbeer 61
			if (validateSchemeDetails()) {
22860 ashik.ali 62
				alert("Please fix errors");
63
				return false;
64
			}
30148 amit.gupta 65
			let json = schemeDetailsJson();
22860 ashik.ali 66
			console.log("schemeJson = " + json);
30432 tejbeer 67
			if (confirm("Are you sure you want to create Scheme!") == true) {
30454 amit.gupta 68
				doPostAjaxRequestWithJsonHandler(context + "/createScheme", json, function (response) {
69
					alert("Scheme created successfully!")
23419 ashik.ali 70
					$('#main-content').html(response);
71
				});
30432 tejbeer 72
				return false; // required to block normal submit since you used ajax
22860 ashik.ali 73
			}
30432 tejbeer 74
		}
22860 ashik.ali 75
	});
76
 
30084 amit.gupta 77
}
23347 ashik.ali 78
 
30084 amit.gupta 79
 
30454 amit.gupta 80
$('#retailerAll').on('change', function () {
30432 tejbeer 81
	if (this.checked) {
82
		$('#retailerAll').val('true');
83
		$('#retailer-ids').html('');
84
	} else {
85
		$('#retailerAll').val('false');
86
		$('#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">');
87
	}
23347 ashik.ali 88
});
89
 
30454 amit.gupta 90
$(document).on('change', '#schemeType', function () {
91
	debugger;
92
	$("#cashbackScheme").prop('checked', false).prop('disabled', true);
93
	let schemeType = $(this).val();
94
	console.log("Scheme type " + schemeType);
95
	if (schemeType === 'ACTIVATION') {
96
		$("#cashbackScheme").prop('disabled', false);
23347 ashik.ali 97
 
30454 amit.gupta 98
	}
99
});
100
 
101
 
30432 tejbeer 102
function validateSchemeDetails() {
23343 ashik.ali 103
	console.log("validating Scheme Details...");
104
	var error = false;
105
	var name = $("form#create-scheme-form input[name=schemeName]").val();
106
	console.log("schemeName = " + name);
31170 amit.gupta 107
	let regionIds = $('.criteria-regionids').val();
108
	//console.log(regionIds);
109
	if (regionIds.length > 1 && regionIds.indexOf('5') > 0) {
110
		alert("Cant add ALL region with other regions");
111
		error = true;
112
		return error;
113
	}
114
	if (regionIds.length == 0) {
115
		alert("Region required");
116
		error = true;
117
		return error;
118
	}
23343 ashik.ali 119
	$("#schemeName").removeClass("border-highlight");
30454 amit.gupta 120
	if (name == "") {
23343 ashik.ali 121
		alert("Name is required");
122
		$("#schemeName").addClass("border-highlight");
123
		error = true;
124
		return error;
125
	}
126
	var schemeType = $("#schemeType option:selected").val();
127
	console.log("schemeType = " + schemeType);
128
	$("#schemeType").removeClass("border-highlight");
30432 tejbeer 129
	if (schemeType == "") {
23343 ashik.ali 130
		alert("Please choose Scheme Type");
131
		$("#schemeType").addClass("border-highlight");
132
		error = true;
133
		return error;
134
	}
135
	var amountType = $("#amountType option:selected").val();
136
	console.log("amountType = " + amountType);
137
	$("#amountType").removeClass("border-highlight");
30432 tejbeer 138
	if (amountType == "") {
23343 ashik.ali 139
		alert("Please choose Amount Type");
140
		$("#amountType").addClass("border-highlight");
141
		error = true;
142
		return error;
143
	}
144
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
145
	console.log("amount = " + amount);
146
	$("#schemeAmount").removeClass("border-highlight");
30432 tejbeer 147
	if (amount == "") {
23343 ashik.ali 148
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
30432 tejbeer 149
	} else if (amount <= 0) {
23343 ashik.ali 150
		alert("Amount should be greater than 0");
151
		$("#schemeAmount").addClass("border-highlight");
152
		error = true;
153
		return error;
154
	}
30148 amit.gupta 155
 
156
 
23343 ashik.ali 157
	//$('#brand-value').text($(this).text());
23419 ashik.ali 158
	$("#tag-listing-brand-value").removeClass("border-highlight");
30148 amit.gupta 159
	if ($("#tag-listing-brand-value").text() == "Brands") {
23343 ashik.ali 160
		alert("Please choose Brand");
23419 ashik.ali 161
		$("#tag-listing-brand-value").addClass("border-highlight");
23343 ashik.ali 162
		error = true;
163
		return error;
164
	}
30148 amit.gupta 165
 
166
	$("select.catalogItemsDescription").removeClass("border-hightlight");
167
	var itemIdsString = $("select.catalogItemsDescription").val();
27805 amit.gupta 168
	debugger;
30148 amit.gupta 169
	if (itemIdsString == null) {
23343 ashik.ali 170
		alert("Please choose items");
30148 amit.gupta 171
		$("select.catalogItemsDescription").addClass("border-highlight");
23343 ashik.ali 172
		error = true;
173
		return error;
174
	}
30148 amit.gupta 175
 
23343 ashik.ali 176
	console.log("validation scheme error = " + error);
177
	return error;
178
}
179
 
30432 tejbeer 180
function schemeDetailsJson() {
23343 ashik.ali 181
	var schemeObject = {};
182
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
183
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
184
	schemeObject['type'] = $("#schemeType option:selected").val();
185
	schemeObject['amountType'] = $("#amountType option:selected").val();
186
	schemeObject['amount'] = $('#schemeAmount').val();
25505 amit.gupta 187
	schemeObject['partnerType'] = $('#retailerType').val();
26680 amit.gupta 188
	schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
30076 amit.gupta 189
	schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
190
	schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
30148 amit.gupta 191
	schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
31170 amit.gupta 192
	schemeObject['regionIds'] = $("form#create-scheme-form .criteria-regionids").val();
23343 ashik.ali 193
	return JSON.stringify(schemeObject);
194
}