Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
23026 ashik.ali 1
$().ready(function() {
2
	$("form#update-retailer-details-form input").each(function(){
3
		$(this).attr('autocomplete', 'off');
4
	});
5
});
6
$().ready(function() {
7
        $('#update-retailer-details-form').validate({
8
			submitHandler: function (form, event) {
9
				event.preventDefault();
10
				if(validateRetailerDetails()){
11
					alert("Please fix errors");
12
					return false;
13
				}
14
				var json = retailerDetailsJson();
15
				console.log("retailerJson = " + json);
16
				if(confirm("Are you sure you want to update Retailer Details!") == true){
23032 ashik.ali 17
					var response = doPutAjaxRequestWithJson("retailerDetails",json);
18
					$('#retailer-details-container').html(response);
23026 ashik.ali 19
		             return false; // required to block normal submit since you used ajax
20
				}
21
	       }
22
	});
23
 
23076 ashik.ali 24
});
25
 
26
$().ready(function(){
23080 ashik.ali 27
	$('#existing-shops').click(function(e){
23093 ashik.ali 28
		console.log("existing-shops clicked");
23076 ashik.ali 29
		var shopDetailsSize = $("#shopDetailsSize").attr("size");
30
		for(var i = 0; i < shopDetailsSize; i++){
31
			if($(e.target).is('#sameAsRetailerAddress'+i)){
32
				console.log("sameAsRetailerAddress"+ i +" Clicked!");
33
				if (e.target.checked) {
23080 ashik.ali 34
					$(e.target).val('true');
23076 ashik.ali 35
					processSameAsRetailerAddressEvent(i);
23080 ashik.ali 36
				}else{
37
					$(e.target).val('false');
23076 ashik.ali 38
				}
39
			}
40
		}
41
	});
42
})
43
 
23080 ashik.ali 44
$().ready(function(){
45
	$('#new-shops').click(function(e){
23093 ashik.ali 46
		console.log("new-shops clicked");
23080 ashik.ali 47
		var shopDetailsSize = $("#shopDetailsSize").attr("size");
48
		for(var i = 0; i < shopDetailsSize; i++){
49
			if($(e.target).is('#sameAsRetailerAddress'+i)){
50
				console.log("sameAsRetailerAddress"+ i +" Clicked!");
51
				if (e.target.checked) {
52
					$(e.target).val('true');
53
					//processSameAsRetailerAddressEvent(i);
23094 ashik.ali 54
					$('#new-shops-address').html('');
23080 ashik.ali 55
				}else{
56
					$(e.target).val('false');
57
					var shopAddressUi = getNewShopAddressUiElements(i);
23094 ashik.ali 58
					$('#new-shops-address').html(shopAddressUi);
23080 ashik.ali 59
				}
60
			}
61
		}
62
	});
63
})
64
 
65
function getNewShopAddressUiElements(counter){
66
	var shopAddressUi = '<div class="row">'+
67
							'<div class="col-lg-4 form-group">'+
68
								'<p class="bold-details">NAME</p>'+
69
							'</div>'+
70
							'<div class="col-lg-6 form-group">'+
71
								'<input placeholder="Name" id="shopAddressName'+counter+'" name="shopAddressName'+counter+'" type="text" value="" class="form-control input-sm">'+
72
							'</div>'+
73
						'</div>'+
74
						'<div class="row">'+
75
							'<div class="col-lg-4 form-group">'+
76
								'<p class="bold-details">LINE1</p>'+
77
							'</div>'+
78
							'<div class="col-lg-6 form-group">'+
79
								'<input placeholder="Line1" id="shopAddressLine1'+counter+'" name="shopAddressLine1'+counter+'" type="text" value="" class="form-control input-sm">'+
80
							'</div>'+
81
						'</div>'+
82
						'<div class="row">'+
83
							'<div class="col-lg-4 form-group">'+
84
								'<p class="bold-details">LINE2</p>'+
85
							'</div>'+
86
							'<div class="col-lg-6 form-group">'+
87
								'<input placeholder="Line2" id="shopAddressLine2'+counter+'" name="shopAddressLine2'+counter+'" type="text" value="" class="form-control input-sm">'+
88
							'</div>'+
89
						'</div>'+
90
 
91
						'<div class="row">'+
92
							'<div class="col-lg-4 form-group">'+
93
								'<p class="bold-details">CITY</p>'+
94
							'</div>'+
95
							'<div class="col-lg-6 form-group">'+
96
								'<input placeholder="City" id="shopAddressCity'+counter+'" name="shopAddressCity'+counter+'" type="text" value="" class="form-control input-sm">'+
97
							'</div>'+
98
						'</div>'+
99
 
100
						'<div class="row">'+
101
							'<div class="col-lg-4 form-group">'+
102
								'<p class="bold-details">PIN CODE</p>'+
103
							'</div>'+
104
							'<div class="col-lg-6 form-group">'+
105
								'<input placeholder="Pin Code" id="shopAddressPinCode'+counter+'" name="shopAddressPinCode'+counter+'" type="text" value="" class="form-control input-sm">'+
106
							'</div>'+
107
						'</div>'+
108
 
109
						'<div class="row">'+
110
							'<div class="col-lg-4 form-group">'+
111
								'<p class="bold-details">STATE</p>'+
112
							'</div>'+
113
							'<div class="col-lg-6 form-group">'+
23331 ashik.ali 114
								'<select class="form-control input-sm" id="shopAddressState'+counter+'" name="shopAddressState'+counter+'" placeholder="State">'+
115
									'<option value="" disabled selected>State</option>';
116
									for(var index = 0; index< stateNames.length; index++){
117
										shopAddressUi = shopAddressUi + '<option value="'+stateNames[index]+'">'+stateNames[index]+'</option>'
118
									}
119
								shopAddressUi = shopAddressUi + '</select>'+
23080 ashik.ali 120
							'</div>'+
121
						'</div>';
122
	return shopAddressUi;
123
}
124
 
23076 ashik.ali 125
function processSameAsRetailerAddressEvent(counter){
126
	$('#shopAddressName'+counter).val($('#retailerAddressName').val());
127
	$('#shopAddressLine1'+counter).val($('#retailerAddressLine1').val());
128
	$('#shopAddressLine2'+counter).val($('#retailerAddressLine2').val());
129
	$('#shopAddressCity'+counter).val($('#retailerAddressCity').val());
130
	$('#shopAddressPinCode'+counter).val($('#retailerAddressPinCode').val());
131
	$('#shopAddressState'+counter).val($('#retailerAddressState').val());
23331 ashik.ali 132
}
133
 
23347 ashik.ali 134
$('#fofoPartner').on('change', function() { 
135
    if (this.checked) {
136
    	$('#fofoPartner').val('true');
137
    }else{
138
    	$('#fofoPartner').val('false');
139
    }
140
});
23343 ashik.ali 141
 
23347 ashik.ali 142
 
143
$('#active').on('change', function() { 
144
    if (this.checked) {
145
    	$('#active').val('true');
146
    }else{
147
    	$('#active').val('false');
148
    }
149
});
150
 
151
 
23343 ashik.ali 152
function validateRetailerDetails(){
153
	console.log("validating Retailer Details...");
154
	var error = false;
155
 
156
	var firstName = $("form#update-retailer-details-form input[name=firstName]").val();
157
	console.log("firstName = " + firstName);
158
	$("#firstName").removeClass("border-highlight");
159
	if(firstName == ""){
160
		alert("First Name is required");
161
		$("#firstName").addClass("border-highlight");
162
		error = true;
163
		return error;
164
	}
165
 
166
	var lastName = $("form#update-retailer-details-form input[name=lastName]").val();
167
	console.log("lastName = " + lastName);
168
	$("#lastName").removeClass("border-highlight");
169
	if(firstName == ""){
170
		alert("Last Name is required");
171
		$("#lastName").addClass("border-highlight");
172
		error = true;
173
		return error;
174
	}
175
 
176
	var emailId = $("form#update-retailer-details-form input[name=emailId]").val();
177
	console.log("emailId = " + emailId);
178
	$("#emailId").removeClass("border-highlight");
179
	if(emailId == ""){
180
		alert("Email Id is required");
181
		$("#emailId").addClass("border-highlight");
182
		error = true;
183
		return error;
184
	}
185
 
186
	var mobileNumber = $("form#update-retailer-details-form input[name=mobileNumber]").val();
187
	console.log("mobileNumber = " + mobileNumber);
188
	$("#mobileNumber").removeClass("border-highlight");
189
	if(mobileNumber == ""){
190
		alert("Mobile Number is required");
191
		$("#mobileNumber").addClass("border-highlight");
192
		error = true;
193
		return error;
194
	}
195
 
196
	var retailerName = $("form#update-retailer-details-form input[name=retailerName]").val();
197
	console.log("retailerName = " + retailerName);
198
	$("#retailerName").removeClass("border-highlight");
199
	if(retailerName == ""){
200
		alert("Retailer Name is required");
201
		$("#retailerName").addClass("border-highlight");
202
		error = true;
203
		return error;
204
	}
205
 
206
	/*var retailerNumber = $("form#update-retailer-details-form input[name=retailerNumber]").val();
207
	console.log("retailerNumber = " + retailerNumber);
208
	$("#retailerNumber").removeClass("border-highlight");
209
	if(retailerNumber == ""){
210
		alert("Retailer Number is required");
211
		$("#retailerNumber").addClass("border-highlight");
212
		error = true;
213
		return error;
214
	}*/
215
 
216
 
217
	var gstNumber = $("form#update-retailer-details-form input[name=gstNumber]").val();
218
	console.log("gstNumber = " + gstNumber);
219
	var fofo = $("form#update-retailer-details-form input[name=fofoPartner]").val();
220
	$("#gstNumber").removeClass("border-highlight");
221
 
222
	var districtName = $("#districtName option:selected").val();
223
	if(fofo == "true" && (districtName == undefined || districtName == "")){
224
		alert("Please choose district name");
225
		$("#districtName").addClass("border-highlight");
226
		error = true;
227
		return error;
228
	}
229
 
230
	if(fofo == "true" && gstNumber == ""){
231
		alert("For Fofo Partner GST number is required");
232
		$("#gstNumber").addClass("border-highlight");
233
		error = true;
234
		return error;
235
	}
236
 
237
 
238
 
239
	var fileSelector = $('#retailerDocument')[0];
240
	if(fileSelector != undefined && fileSelector.files[0] == undefined){
241
		alert("Retailer Document is required");
242
		error = true;
243
		return error;
244
	}
245
 
246
	var retailerAddressName = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
247
	console.log("retailerAddressName = " + retailerAddressName);
248
	$("#retailerAddressName").removeClass("border-highlight");
249
	if(retailerAddressName == ""){
250
		alert("Retailer Address Name is required");
251
		$("#retailerAddressName").addClass("border-highlight");
252
		error = true;
253
		return error;
254
	}
255
 
256
	var retailerAddressLine1 = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
257
	console.log("retailerAddressLine1 = " + retailerAddressLine1);
258
	$("#retailerAddressLine1").removeClass("border-highlight");
259
	if(retailerAddressLine1 == ""){
260
		alert("Retailer Address Line1 is required");
261
		$("#retailerAddressLine1").addClass("border-highlight");
262
		error = true;
263
		return error;
264
	}
265
 
266
	var retailerAddressLine2 = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
267
	console.log("retailerAddressLine2 = " + retailerAddressLine2);
268
	$("#retailerAddressLine2").removeClass("border-highlight");
269
	if(retailerAddressLine2 == ""){
270
		alert("Retailer Address Line2 is required");
271
		$("#retailerAddressLine2").addClass("border-highlight");
272
		error = true;
273
		return error;
274
	}
275
 
276
	var retailerAddressCity = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
277
	console.log("retailerAddressCity = " + retailerAddressCity);
278
	$("#retailerAddressCity").removeClass("border-highlight");
279
	if(retailerAddressCity == ""){
280
		alert("Retailer Address City is required");
281
		$("#retailerAddressCity").addClass("border-highlight");
282
		error = true;
283
		return error;
284
	}
285
 
286
	var retailerAddressPinCode = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
287
	console.log("retailerAddressPinCode = " + retailerAddressPinCode);
288
	$("#retailerAddressPinCode").removeClass("border-highlight");
289
	if(retailerAddressPinCode == ""){
290
		alert("Retailer Address Pin Code is required");
291
		$("#retailerAddressPinCode").addClass("border-highlight");
292
		error = true;
293
		return error;
294
	}
295
 
296
	var retailerAddressState = $("#retailerAddressState option:selected").val();
297
	console.log("retailerAddressState = " + retailerAddressState);
298
	$("#retailerAddressState").removeClass("border-highlight");
299
	if(retailerAddressState == ""){
300
		alert("Retailer Address State is required");
301
		$("#retailerAddressState").addClass("border-highlight");
302
		error = true;
303
		return error;
304
	}
305
 
306
 
307
	//start from here
308
	var shopDetailsSize = $("#shopDetailsSize").attr("size");
309
	for(var i = 0; i < shopDetailsSize; i++){
310
		var shopName = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
311
		$("form#update-retailer-details-form input[name=shopName"+i+"]").removeClass("border-highlight");
312
		if(shopName == ""){
313
			alert("Shop Name is required");
314
			$("form#update-retailer-details-form input[name=shopName"+i+"]").addClass("border-highlight");
315
			error = true;
316
			return error;
317
		}
318
		var fileSelector = $('#retailerShopDocument'+i)[0];
319
		if(fileSelector != undefined && fileSelector.files[0] == undefined){
320
			alert("Retailer Shop Document is required");
321
			error = true;
322
			return error;
323
		}
324
		var shopAddressName = $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").val();
325
		$("form#update-retailer-details-form input[name=shopAddressName"+i+"]").removeClass("border-highlight");
326
		if(shopAddressName == ""){
327
			alert("Shop Address Name is required");
328
			$("form#update-retailer-details-form input[name=shopAddressName"+i+"]").addClass("border-highlight");
329
			error = true;
330
			return error;
331
		}
332
		var shopAddressLine1 = $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").val();
333
		$("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").removeClass("border-highlight");
334
		if(shopAddressLine1 == ""){
335
			alert("Shop Address Line1 is required");
336
			$("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").addClass("border-highlight");
337
			error = true;
338
			return error;
339
		}
340
		var shopAddressLine2 = $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").val();
341
		$("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").removeClass("border-highlight");
342
		if(shopAddressLine2 == ""){
343
			alert("Shop Address Line2 is required");
344
			$("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").addClass("border-highlight");
345
			error = true;
346
			return error;
347
		}
348
		var shopAddressCity = $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").val();
349
		$("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").removeClass("border-highlight");
350
		if(shopAddressCity == ""){
351
			alert("Shop Address City is required");
352
			$("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").addClass("border-highlight");
353
			error = true;
354
			return error;
355
		}
356
		var shopAddressPinCode = $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").val();
357
		$("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").removeClass("border-highlight");
358
		if(shopAddressPinCode == ""){
359
			alert("Shop Address is Pin Code required");
360
			$("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").addClass("border-highlight");
361
			error = true;
362
			return error;
363
		}
364
		var shopAddressState = $("#shopAddressState"+i+" option:selected").val();
365
		$("#shopAddressState"+i+" option:selected").removeClass("border-highlight");
366
		if(shopAddressState == ""){
367
			alert("Shop Address State is required");
368
			$("#shopAddressState"+i+" option:selected").addClass("border-highlight");
369
			error = true;
370
			return error;
371
		}
372
	}
373
 
374
	console.log("validation retailer details error = " + error);
375
	return error;
376
}
377
 
378
 
379
function retailerDetailsJson(){
380
	console.log("retailerDetailsJson")
381
	var retailerDetailsObject = {};
382
	retailerDetailsObject['userFirstName'] = $("form#update-retailer-details-form input[name=firstName]").val();
383
	retailerDetailsObject['userLastName'] = $("form#update-retailer-details-form input[name=lastName]").val();
384
	retailerDetailsObject['userEmailId'] = $("form#update-retailer-details-form input[name=emailId]").val();
385
	retailerDetailsObject['userMobileNumber'] = $("form#update-retailer-details-form input[name=mobileNumber]").val();
386
 
387
	//retailerDetailsObject['emailIdOrMobileNumber'] = $('#retailer-details-search-text').val().trim();
388
	retailerDetailsObject['emailIdOrMobileNumber'] = $("form#update-retailer-details-form input[name=emailId]").val();
389
	retailerDetailsObject['name'] = $("form#update-retailer-details-form input[name=retailerName]").val();
390
	retailerDetailsObject['number'] = $("form#update-retailer-details-form input[name=retailerNumber]").val();
391
	var districtName = $("#form #update-retailer-details-form input[name=districtName] selected")
392
	retailerDetailsObject['fofo'] = $("form#update-retailer-details-form input[name=fofoPartner]").val();
393
	retailerDetailsObject['gstNumber'] = $("form#update-retailer-details-form input[name=gstNumber]").val();
394
	retailerDetailsObject['active'] = $("form#update-retailer-details-form input[name=active]").val();
395
	var fileSelector = $('#retailerDocument')[0];
396
	if(fileSelector != undefined && fileSelector.files[0] != undefined){
397
		var documentId = uploadDocument(fileSelector.files[0]);
398
		retailerDetailsObject['documentId'] = documentId;
399
	}else{
400
		retailerDetailsObject['documentId'] = 0;
401
	}
402
 
403
	//retailerDetailsObject['file'] = $('#retailerDocument')[0].files[0];
404
	var retailerAddressObject = {};
405
	retailerAddressObject['name'] = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
406
	retailerAddressObject['line1'] = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
407
	retailerAddressObject['line2'] = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
408
	retailerAddressObject['city'] = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
409
	retailerAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
410
	retailerAddressObject['state'] = $("#retailerAddressState option:selected").val();
411
 
412
	retailerDetailsObject['address'] = retailerAddressObject;
413
 
414
	retailerDetailsObject['shops'] = [];
415
	var shopDetailsSize = $("#shopDetailsSize").attr("size");
416
 
417
	for(var i = 0; i < shopDetailsSize; i++){
418
		var shopObject = {};
419
		var shopId = $("form#update-retailer-details-form input[name=shopName"+i+"]").attr('shopId');
420
		shopObject['shopId'] = shopId;
421
		shopObject['name'] = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
422
 
423
		var fileSelector = $('#retailerShopDocument'+i)[0];
424
		if(fileSelector != undefined && fileSelector.files[0] != undefined){
425
			var documentId = uploadDocument(fileSelector.files[0]);
426
			shopObject['documentId'] = documentId;
427
		}else{
428
			shopObject['documentId'] = 0;
429
		}
430
		var sameAsRetailerAddress = $("form#update-retailer-details-form input[name=sameAsRetailerAddress"+i+"]").val();
431
		shopObject['sameAsRetailerAddress'] = (sameAsRetailerAddress == 'true');
432
		if(shopId == '0' && sameAsRetailerAddress == 'true'){
433
			shopObject['address'] = null;
434
		}else{
435
			shopObject['address'] = getShopAddressObject(i);
436
		}
437
		retailerDetailsObject['shops'].push(shopObject);
438
 
439
	}
440
 
441
	return JSON.stringify(retailerDetailsObject);
442
}
443
 
444
function getShopAddressObject(counter){
445
	var shopAddressObject = {};
446
	shopAddressObject['name'] = $("form#update-retailer-details-form input[name=shopAddressName"+counter+"]").val();
447
	shopAddressObject['line1'] = $("form#update-retailer-details-form input[name=shopAddressLine1"+counter+"]").val();
448
	shopAddressObject['line2'] = $("form#update-retailer-details-form input[name=shopAddressLine2"+counter+"]").val();
449
	shopAddressObject['city'] = $("form#update-retailer-details-form input[name=shopAddressCity"+counter+"]").val();
450
	shopAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=shopAddressPinCode"+counter+"]").val();
451
	shopAddressObject['state'] = $("#shopAddressState"+counter+" option:selected").val();
452
	return shopAddressObject;
453
}