Subversion Repositories SmartDukaan

Rev

Rev 30429 | Rev 30454 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 30429 Rev 30432
Line 1... Line 1...
1
function createSchemeOnReady() {
1
function createSchemeOnReady() {
2
	$("form#create-scheme-form input").each(function () {
2
	$("form#create-scheme-form input").each(function() {
3
		$(this).attr('autocomplete', 'off');
3
		$(this).attr('autocomplete', 'off');
4
	});
4
	});
5
	// validate the comment form when it is submitted
5
	// validate the comment form when it is submitted
6
	$('#create-scheme-form').validate({
6
	$('#create-scheme-form').validate({
7
		rules: {
7
		rules: {
Line 10... Line 10...
10
			},
10
			},
11
			schemeType: {
11
			schemeType: {
12
				required: true
12
				required: true
13
			},
13
			},
14
			amountType: {
14
			amountType: {
15
				required:true
15
				required: true
16
			},
16
			},
17
			schemeAmount:{
17
			schemeAmount: {
18
				required:true
18
				required: true
19
			},
19
			},
20
			startDate:{
20
			startDate: {
21
				required:true
21
				required: true
22
			},
22
			},
23
			endDate:{
23
			endDate: {
24
				required:true
24
				required: true
25
			},
25
			},
26
			itemIdsDescription:{
26
			itemIdsDescription: {
27
				required:true
27
				required: true
28
			},
28
			},
29
			retailerIds:{
29
			retailerIds: {
30
				required:true
30
				required: true
31
			}
31
			}
32
		},
32
		},
33
		messages:{
33
		messages: {
34
			name:{
34
			name: {
35
				required:"Please enter the name"
35
				required: "Please enter the name"
36
			},
36
			},
37
			schemeType:{
37
			schemeType: {
38
				required:"Please choose type"
38
				required: "Please choose type"
39
			},
39
			},
40
			amountType:{
40
			amountType: {
41
				required: "Please choose amount type"
41
				required: "Please choose amount type"
42
			},
42
			},
43
			schemeAmount:{
43
			schemeAmount: {
44
				required: "Please enter the amount"
44
				required: "Please enter the amount"
45
			},
45
			},
46
			startDate:{
46
			startDate: {
47
				require: "Please choose start date"
47
				require: "Please choose start date"
48
			},
48
			},
49
			endDate:{
49
			endDate: {
50
				require: "Please choose end date"
50
				require: "Please choose end date"
51
			},
51
			},
52
			itemIdsDescription:{
52
			itemIdsDescription: {
53
				required: "Please choose items"
53
				required: "Please choose items"
54
			},
54
			},
55
			retailerIds:{
55
			retailerIds: {
56
				required: "Please enter retailer ids"
56
				required: "Please enter retailer ids"
57
			}
57
			}
58
		},
58
		},
59
		submitHandler: function (form, event) {
59
		submitHandler: function(form, event) {
60
			event.preventDefault();
60
			event.preventDefault();
61
			if(validateSchemeDetails()){
61
			if (validateSchemeDetails()) {
62
				alert("Please fix errors");
62
				alert("Please fix errors");
63
				return false;
63
				return false;
64
			}
64
			}
65
			let json = schemeDetailsJson();
65
			let json = schemeDetailsJson();
66
			console.log("schemeJson = " + json);
66
			console.log("schemeJson = " + json);
67
			if(confirm("Are you sure you want to create Scheme!") == true){
67
			if (confirm("Are you sure you want to create Scheme!") == true) {
68
				doPostAjaxRequestWithJsonHandler(context+"/createScheme", json, function(response){
68
				doPostAjaxRequestWithJsonHandler(context + "/createScheme", json, function(response) {
69
					$('#main-content').html(response);
69
					$('#main-content').html(response);
70
				});
70
				});
71
	             return false; // required to block normal submit since you used ajax
71
				return false; // required to block normal submit since you used ajax
72
			}
72
			}
73
         }
73
		}
74
	});
74
	});
75
 
75
 
76
}
76
}
77
 
77
 
78
 
78
 
79
$('#retailerAll').on('change', function() {
79
$('#retailerAll').on('change', function() {
80
    if (this.checked) {
80
	if (this.checked) {
81
    	$('#retailerAll').val('true');
81
		$('#retailerAll').val('true');
82
    	$('#retailer-ids').html('');
82
		$('#retailer-ids').html('');
83
    }else{
83
	} else {
84
    	$('#retailerAll').val('false');
84
		$('#retailerAll').val('false');
85
    	$('#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">');
85
		$('#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">');
86
    }
86
	}
87
});
87
});
88
 
88
 
89
 
89
 
90
function validateSchemeDetails(){
90
function validateSchemeDetails() {
91
	console.log("validating Scheme Details...");
91
	console.log("validating Scheme Details...");
92
	var error = false;
92
	var error = false;
93
	var name = $("form#create-scheme-form input[name=schemeName]").val();
93
	var name = $("form#create-scheme-form input[name=schemeName]").val();
94
	console.log("schemeName = " + name);
94
	console.log("schemeName = " + name);
95
	$("#schemeName").removeClass("border-highlight");
95
	$("#schemeName").removeClass("border-highlight");
96
	if(name ==""){
96
	if (name ==  ""  {
97
		alert("Name is required");
97
		alert("Name is required");
98
		$("#schemeName").addClass("border-highlight");
98
		$("#schemeName").addClass("border-highlight");
99
		error = true;
99
		error = true;
100
		return error;
100
		return error;
101
	}
101
	}
102
	var schemeType = $("#schemeType option:selected").val();
102
	var schemeType = $("#schemeType option:selected").val();
103
	console.log("schemeType = " + schemeType);
103
	console.log("schemeType = " + schemeType);
104
	$("#schemeType").removeClass("border-highlight");
104
	$("#schemeType").removeClass("border-highlight");
105
	if(schemeType == ""){
105
	if (schemeType == "") {
106
		alert("Please choose Scheme Type");
106
		alert("Please choose Scheme Type");
107
		$("#schemeType").addClass("border-highlight");
107
		$("#schemeType").addClass("border-highlight");
108
		error = true;
108
		error = true;
109
		return error;
109
		return error;
110
	}
110
	}
111
	var amountType = $("#amountType option:selected").val();
111
	var amountType = $("#amountType option:selected").val();
112
	console.log("amountType = " + amountType);
112
	console.log("amountType = " + amountType);
113
	$("#amountType").removeClass("border-highlight");
113
	$("#amountType").removeClass("border-highlight");
114
	if(amountType == ""){
114
	if (amountType == "") {
115
		alert("Please choose Amount Type");
115
		alert("Please choose Amount Type");
116
		$("#amountType").addClass("border-highlight");
116
		$("#amountType").addClass("border-highlight");
117
		error = true;
117
		error = true;
118
		return error;
118
		return error;
119
	}
119
	}
120
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
120
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
121
	console.log("amount = " + amount);
121
	console.log("amount = " + amount);
122
	$("#schemeAmount").removeClass("border-highlight");
122
	$("#schemeAmount").removeClass("border-highlight");
123
	if (amount == ""){
123
	if (amount == "") {
124
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
124
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
125
	}else if(amount <= 0){
125
	} else if (amount <= 0) {
126
		alert("Amount should be greater than 0");
126
		alert("Amount should be greater than 0");
127
		$("#schemeAmount").addClass("border-highlight");
127
		$("#schemeAmount").addClass("border-highlight");
128
		error = true;
128
		error = true;
129
		return error;
129
		return error;
130
	}
130
	}
Line 151... Line 151...
151
 
151
 
152
	console.log("validation scheme error = " + error);
152
	console.log("validation scheme error = " + error);
153
	return error;
153
	return error;
154
}
154
}
155
 
155
 
156
function schemeDetailsJson(){
156
function schemeDetailsJson() {
157
	var schemeObject = {};
157
	var schemeObject = {};
158
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
158
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
159
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
159
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
160
	schemeObject['type'] = $("#schemeType option:selected").val();
160
	schemeObject['type'] = $("#schemeType option:selected").val();
161
	schemeObject['amountType'] = $("#amountType option:selected").val();
161
	schemeObject['amountType'] = $("#amountType option:selected").val();
162
	schemeObject['amount'] = $('#schemeAmount').val();
162
	schemeObject['amount'] = $('#schemeAmount').val();
163
	schemeObject['partnerType'] = $('#retailerType').val();
163
	schemeObject['partnerType'] = $('#retailerType').val();
164
	schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
164
	schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
165
	schemeObject['schemeReversal'] = $("#schemeReversal").is(":checked")
165
	//schemeObject['schemeReversal'] = $("#schemeReversal").is(":checked")
166
	schemeObject['gstReversal'] = $("#gstReversal").is(":checked")
166
	//schemeObject['gstReversal'] = $("#gstReversal").is(":checked")
167
	schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
167
	schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
168
	schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
168
	schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
169
	schemeObject['catalogIds'] = [];
169
	schemeObject['catalogIds'] = [];
170
	schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
170
	schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
171
	return JSON.stringify(schemeObject);
171
	return JSON.stringify(schemeObject);