Subversion Repositories SmartDukaan

Rev

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

Rev 31170 Rev 34317
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: {
8
			schemeName: {
8
            schemeName: {
9
				required: true
9
                required: true
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
					alert("Scheme created successfully!")
69
                    alert("Scheme created successfully!");
70
					$('#main-content').html(response);
70
                    $('#main-content').html(response);
71
				});
71
                });
72
				return false; // required to block normal submit since you used ajax
72
                return false; // required to block normal submit since you used ajax
73
			}
73
            }
74
		}
74
        }
75
	});
75
    });
76
 
76
 
77
}
77
}
78
 
78
 
79
 
79
 
80
$('#retailerAll').on('change', function () {
80
$('#retailerAll').on('change', function () {
81
	if (this.checked) {
81
    if (this.checked) {
82
		$('#retailerAll').val('true');
82
        $('#retailerAll').val('true');
83
		$('#retailer-ids').html('');
83
        $('#retailer-ids').html('');
84
	} else {
84
    } else {
85
		$('#retailerAll').val('false');
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">');
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
	}
87
    }
88
});
88
});
89
 
89
 
90
$(document).on('change', '#schemeType', function () {
90
$(document).on('change', '#schemeType', function () {
91
	debugger;
91
    debugger;
92
	$("#cashbackScheme").prop('checked', false).prop('disabled', true);
92
    $("#cashbackScheme").prop('checked', false).prop('disabled', true);
93
	let schemeType = $(this).val();
93
    let schemeType = $(this).val();
94
	console.log("Scheme type " + schemeType);
94
    console.log("Scheme type " + schemeType);
95
	if (schemeType === 'ACTIVATION') {
95
    if (schemeType === 'ACTIVATION') {
96
		$("#cashbackScheme").prop('disabled', false);
96
        $("#cashbackScheme").prop('disabled', false);
97
 
97
 
-
 
98
    }
-
 
99
});
98
	}
100
 
-
 
101
$(document).on('change', ".stockTransactionType, .amountType", function () {
-
 
102
    let stockTransactionType = $(".stockTransactionType").val();
-
 
103
    let amountType = $('.amountType').val();
-
 
104
    if (stockTransactionType !== null && amountType !== null) {
-
 
105
 
-
 
106
 
-
 
107
        let options = document.querySelectorAll("#schemeType option");
-
 
108
 
-
 
109
        Array.from(options).slice(1).forEach(option => {
-
 
110
            let currentStockTransactionType = $(option).data('stocktransactiontype'); // current stock transaction type
-
 
111
            let currentAmountType = $(option).data('amounttype'); // Current amount type
-
 
112
            if (currentAmountType === amountType && currentStockTransactionType === stockTransactionType) {
-
 
113
                option.style.display = "";
-
 
114
            } else {
-
 
115
                option.style.display = "none";
-
 
116
            }
-
 
117
        });
-
 
118
    }
99
});
119
});
100
 
120
 
101
 
121
 
102
function validateSchemeDetails() {
122
function validateSchemeDetails() {
103
	console.log("validating Scheme Details...");
123
    console.log("validating Scheme Details...");
104
	var error = false;
124
    var error = false;
105
	var name = $("form#create-scheme-form input[name=schemeName]").val();
125
    var name = $("form#create-scheme-form input[name=schemeName]").val();
106
	console.log("schemeName = " + name);
126
    console.log("schemeName = " + name);
107
	let regionIds = $('.criteria-regionids').val();
127
    let regionIds = $('.criteria-regionids').val();
108
	//console.log(regionIds);
128
    //console.log(regionIds);
109
	if (regionIds.length > 1 && regionIds.indexOf('5') > 0) {
129
    if (regionIds.length > 1 && regionIds.indexOf('5') > 0) {
110
		alert("Cant add ALL region with other regions");
130
        alert("Cant add ALL region with other regions");
111
		error = true;
131
        error = true;
112
		return error;
132
        return error;
113
	}
133
    }
114
	if (regionIds.length == 0) {
134
    if (regionIds.length == 0) {
115
		alert("Region required");
135
        alert("Region required");
116
		error = true;
136
        error = true;
117
		return error;
137
        return error;
118
	}
138
    }
119
	$("#schemeName").removeClass("border-highlight");
139
    $("#schemeName").removeClass("border-highlight");
120
	if (name == "") {
140
    if (name == "") {
121
		alert("Name is required");
141
        alert("Name is required");
122
		$("#schemeName").addClass("border-highlight");
142
        $("#schemeName").addClass("border-highlight");
123
		error = true;
143
        error = true;
124
		return error;
144
        return error;
125
	}
145
    }
126
	var schemeType = $("#schemeType option:selected").val();
146
    var schemeType = $("#schemeType option:selected").val();
127
	console.log("schemeType = " + schemeType);
147
    console.log("schemeType = " + schemeType);
128
	$("#schemeType").removeClass("border-highlight");
148
    $("#schemeType").removeClass("border-highlight");
129
	if (schemeType == "") {
149
    if (schemeType == "") {
130
		alert("Please choose Scheme Type");
150
        alert("Please choose Scheme Type");
131
		$("#schemeType").addClass("border-highlight");
151
        $("#schemeType").addClass("border-highlight");
132
		error = true;
152
        error = true;
133
		return error;
153
        return error;
134
	}
154
    }
135
	var amountType = $("#amountType option:selected").val();
155
    var amountType = $("#amountType option:selected").val();
136
	console.log("amountType = " + amountType);
156
    console.log("amountType = " + amountType);
137
	$("#amountType").removeClass("border-highlight");
157
    $("#amountType").removeClass("border-highlight");
138
	if (amountType == "") {
158
    if (amountType == "") {
139
		alert("Please choose Amount Type");
159
        alert("Please choose Amount Type");
140
		$("#amountType").addClass("border-highlight");
160
        $("#amountType").addClass("border-highlight");
141
		error = true;
161
        error = true;
142
		return error;
162
        return error;
143
	}
163
    }
144
	var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
164
    var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
145
	console.log("amount = " + amount);
165
    console.log("amount = " + amount);
146
	$("#schemeAmount").removeClass("border-highlight");
166
    $("#schemeAmount").removeClass("border-highlight");
147
	if (amount == "") {
167
    if (amount == "") {
148
		$("form#create-scheme-form input[name=schemeAmount]").val(0);
168
        $("form#create-scheme-form input[name=schemeAmount]").val(0);
149
	} else if (amount <= 0) {
169
    } else if (amount <= 0) {
150
		alert("Amount should be greater than 0");
170
        alert("Amount should be greater than 0");
151
		$("#schemeAmount").addClass("border-highlight");
171
        $("#schemeAmount").addClass("border-highlight");
152
		error = true;
172
        error = true;
153
		return error;
173
        return error;
154
	}
174
    }
155
 
175
 
156
 
176
 
157
	//$('#brand-value').text($(this).text());
177
    //$('#brand-value').text($(this).text());
158
	$("#tag-listing-brand-value").removeClass("border-highlight");
178
    $("#tag-listing-brand-value").removeClass("border-highlight");
159
	if ($("#tag-listing-brand-value").text() == "Brands") {
179
    if ($("#tag-listing-brand-value").text() == "Brands") {
160
		alert("Please choose Brand");
180
        alert("Please choose Brand");
161
		$("#tag-listing-brand-value").addClass("border-highlight");
181
        $("#tag-listing-brand-value").addClass("border-highlight");
162
		error = true;
182
        error = true;
163
		return error;
183
        return error;
164
	}
184
    }
165
 
185
 
166
	$("select.catalogItemsDescription").removeClass("border-hightlight");
186
    $("select.catalogItemsDescription").removeClass("border-hightlight");
167
	var itemIdsString = $("select.catalogItemsDescription").val();
187
    var itemIdsString = $("select.catalogItemsDescription").val();
168
	debugger;
188
    debugger;
169
	if (itemIdsString == null) {
189
    if (itemIdsString == null) {
170
		alert("Please choose items");
190
        alert("Please choose items");
171
		$("select.catalogItemsDescription").addClass("border-highlight");
191
        $("select.catalogItemsDescription").addClass("border-highlight");
172
		error = true;
192
        error = true;
173
		return error;
193
        return error;
174
	}
194
    }
175
 
195
 
176
	console.log("validation scheme error = " + error);
196
    console.log("validation scheme error = " + error);
177
	return error;
197
    return error;
178
}
198
}
179
 
199
 
180
function schemeDetailsJson() {
200
function schemeDetailsJson() {
181
	var schemeObject = {};
201
    var schemeObject = {};
182
	schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
202
    schemeObject['description'] = $("form#create-scheme-form input[name=schemeName]").val();
183
	schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
203
    schemeObject['type'] = $("#schemeType option:selected").val();
184
	schemeObject['type'] = $("#schemeType option:selected").val();
204
    schemeObject['name'] = $("#schemeType option:selected").html();
185
	schemeObject['amountType'] = $("#amountType option:selected").val();
205
    schemeObject['amountType'] = $("#amountType option:selected").val();
186
	schemeObject['amount'] = $('#schemeAmount').val();
206
    schemeObject['amount'] = $('#schemeAmount').val();
187
	schemeObject['partnerType'] = $('#retailerType').val();
207
    schemeObject['partnerType'] = $('#retailerType').val();
188
	schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
208
    schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
189
	schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
209
    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);
210
    schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
191
	schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
211
    schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
192
	schemeObject['regionIds'] = $("form#create-scheme-form .criteria-regionids").val();
212
    schemeObject['regionIds'] = $("form#create-scheme-form .criteria-regionids").val();
193
	return JSON.stringify(schemeObject);
213
    return JSON.stringify(schemeObject);
194
}
214
}
195
215