Subversion Repositories SmartDukaan

Rev

Rev 23347 | Rev 23378 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

$().ready(function() {
        $("form#update-retailer-details-form input").each(function(){
                $(this).attr('autocomplete', 'off');
        });
});
$().ready(function() {
        $('#update-retailer-details-form').validate({
                        submitHandler: function (form, event) {
                                event.preventDefault();
                                if(validateRetailerDetails()){
                                        alert("Please fix errors");
                                        return false;
                                }
                                var json = retailerDetailsJson();
                                console.log("retailerJson = " + json);
                                if(confirm("Are you sure you want to update Retailer Details!") == true){
                                        var response = doPutAjaxRequestWithJson("retailerDetails",json);
                                        $('#retailer-details-container').html(response);
                             return false; // required to block normal submit since you used ajax
                                }
               }
        });
  
});

$().ready(function(){
        $('#existing-shops').click(function(e){
                console.log("existing-shops clicked");
                var shopDetailsSize = $("#shopDetailsSize").attr("size");
                for(var i = 0; i < shopDetailsSize; i++){
                        if($(e.target).is('#sameAsRetailerAddress'+i)){
                                console.log("sameAsRetailerAddress"+ i +" Clicked!");
                                if (e.target.checked) {
                                        $(e.target).val('true');
                                        processSameAsRetailerAddressEvent(i);
                                }else{
                                        $(e.target).val('false');
                                }
                        }
                }
        });
})

$().ready(function(){
        $('#new-shops').click(function(e){
                console.log("new-shops clicked");
                var shopDetailsSize = $("#shopDetailsSize").attr("size");
                for(var i = 0; i < shopDetailsSize; i++){
                        if($(e.target).is('#sameAsRetailerAddress'+i)){
                                console.log("sameAsRetailerAddress"+ i +" Clicked!");
                                if (e.target.checked) {
                                        $(e.target).val('true');
                                        //processSameAsRetailerAddressEvent(i);
                                        $('#new-shops-address').html('');
                                }else{
                                        $(e.target).val('false');
                                        var shopAddressUi = getNewShopAddressUiElements(i);
                                        $('#new-shops-address').html(shopAddressUi);
                                }
                        }
                }
        });
})

function getNewShopAddressUiElements(counter){
        var shopAddressUi = '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">NAME</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<input placeholder="Name" id="shopAddressName'+counter+'" name="shopAddressName'+counter+'" type="text" value="" class="form-control input-sm">'+
                                                        '</div>'+
                                                '</div>'+
                                                '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">LINE1</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<input placeholder="Line1" id="shopAddressLine1'+counter+'" name="shopAddressLine1'+counter+'" type="text" value="" class="form-control input-sm">'+
                                                        '</div>'+
                                                '</div>'+
                                                '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">LINE2</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<input placeholder="Line2" id="shopAddressLine2'+counter+'" name="shopAddressLine2'+counter+'" type="text" value="" class="form-control input-sm">'+
                                                        '</div>'+
                                                '</div>'+
                                                        
                                                '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">CITY</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<input placeholder="City" id="shopAddressCity'+counter+'" name="shopAddressCity'+counter+'" type="text" value="" class="form-control input-sm">'+
                                                        '</div>'+
                                                '</div>'+
                                                        
                                                '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">PIN CODE</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<input placeholder="Pin Code" id="shopAddressPinCode'+counter+'" name="shopAddressPinCode'+counter+'" type="text" value="" class="form-control input-sm">'+
                                                        '</div>'+
                                                '</div>'+
                                                        
                                                '<div class="row">'+
                                                        '<div class="col-lg-4 form-group">'+
                                                                '<p class="bold-details">STATE</p>'+
                                                        '</div>'+
                                                        '<div class="col-lg-6 form-group">'+
                                                                '<select class="form-control input-sm" id="shopAddressState'+counter+'" name="shopAddressState'+counter+'" placeholder="State">'+
                                                                        '<option value="" disabled selected>State</option>';
                                                                        for(var index = 0; index< stateNames.length; index++){
                                                                                shopAddressUi = shopAddressUi + '<option value="'+stateNames[index]+'">'+stateNames[index]+'</option>'
                                                                        }
                                                                shopAddressUi = shopAddressUi + '</select>'+
                                                        '</div>'+
                                                '</div>';
        return shopAddressUi;
}

function processSameAsRetailerAddressEvent(counter){
        $('#shopAddressName'+counter).val($('#retailerAddressName').val());
        $('#shopAddressLine1'+counter).val($('#retailerAddressLine1').val());
        $('#shopAddressLine2'+counter).val($('#retailerAddressLine2').val());
        $('#shopAddressCity'+counter).val($('#retailerAddressCity').val());
        $('#shopAddressPinCode'+counter).val($('#retailerAddressPinCode').val());
        $('#shopAddressState'+counter).val($('#retailerAddressState').val());
}

$('#fofoPartner').on('change', function() { 
    if (this.checked) {
        $('#fofoPartner').val('true');
    }else{
        $('#fofoPartner').val('false');
    }
});


$('#active').on('change', function() { 
    if (this.checked) {
        $('#active').val('true');
    }else{
        $('#active').val('false');
    }
});


function validateRetailerDetails(){
        console.log("validating Retailer Details...");
        var error = false;
        
        var firstName = $("form#update-retailer-details-form input[name=firstName]").val();
        console.log("firstName = " + firstName);
        $("#firstName").removeClass("border-highlight");
        if(firstName == ""){
                alert("First Name is required");
                $("#firstName").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var lastName = $("form#update-retailer-details-form input[name=lastName]").val();
        console.log("lastName = " + lastName);
        $("#lastName").removeClass("border-highlight");
        if(firstName == ""){
                alert("Last Name is required");
                $("#lastName").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var emailId = $("form#update-retailer-details-form input[name=emailId]").val();
        console.log("emailId = " + emailId);
        $("#emailId").removeClass("border-highlight");
        if(emailId == ""){
                alert("Email Id is required");
                $("#emailId").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var mobileNumber = $("form#update-retailer-details-form input[name=mobileNumber]").val();
        console.log("mobileNumber = " + mobileNumber);
        $("#mobileNumber").removeClass("border-highlight");
        if(mobileNumber == ""){
                alert("Mobile Number is required");
                $("#mobileNumber").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerName = $("form#update-retailer-details-form input[name=retailerName]").val();
        console.log("retailerName = " + retailerName);
        $("#retailerName").removeClass("border-highlight");
        if(retailerName == ""){
                alert("Retailer Name is required");
                $("#retailerName").addClass("border-highlight");
                error = true;
                return error;
        }
        
        /*var retailerNumber = $("form#update-retailer-details-form input[name=retailerNumber]").val();
        console.log("retailerNumber = " + retailerNumber);
        $("#retailerNumber").removeClass("border-highlight");
        if(retailerNumber == ""){
                alert("Retailer Number is required");
                $("#retailerNumber").addClass("border-highlight");
                error = true;
                return error;
        }*/
        
        
        var gstNumber = $("form#update-retailer-details-form input[name=gstNumber]").val();
        console.log("gstNumber = " + gstNumber);
        var fofo = $("form#update-retailer-details-form input[name=fofoPartner]").val();
        $("#gstNumber").removeClass("border-highlight");
        
        if($("#district-name-container").val() != undefined){
                var districtName = $("#districtName option:selected").val();
                if(fofo == "true" && (districtName == undefined || districtName == "")){
                        alert("Please choose district name");
                        $("#districtName").addClass("border-highlight");
                        error = true;
                        return error;
                }
        }
        
        if(fofo == "true" && gstNumber == ""){
                alert("For Fofo Partner GST number is required");
                $("#gstNumber").addClass("border-highlight");
                error = true;
                return error;
        }
        
        
        
        var fileSelector = $('#retailerDocument')[0];
        if(fileSelector != undefined && fileSelector.files[0] == undefined){
                alert("Retailer Document is required");
                error = true;
                return error;
        }
        
        var retailerAddressName = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
        console.log("retailerAddressName = " + retailerAddressName);
        $("#retailerAddressName").removeClass("border-highlight");
        if(retailerAddressName == ""){
                alert("Retailer Address Name is required");
                $("#retailerAddressName").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerAddressLine1 = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
        console.log("retailerAddressLine1 = " + retailerAddressLine1);
        $("#retailerAddressLine1").removeClass("border-highlight");
        if(retailerAddressLine1 == ""){
                alert("Retailer Address Line1 is required");
                $("#retailerAddressLine1").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerAddressLine2 = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
        console.log("retailerAddressLine2 = " + retailerAddressLine2);
        $("#retailerAddressLine2").removeClass("border-highlight");
        if(retailerAddressLine2 == ""){
                alert("Retailer Address Line2 is required");
                $("#retailerAddressLine2").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerAddressCity = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
        console.log("retailerAddressCity = " + retailerAddressCity);
        $("#retailerAddressCity").removeClass("border-highlight");
        if(retailerAddressCity == ""){
                alert("Retailer Address City is required");
                $("#retailerAddressCity").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerAddressPinCode = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
        console.log("retailerAddressPinCode = " + retailerAddressPinCode);
        $("#retailerAddressPinCode").removeClass("border-highlight");
        if(retailerAddressPinCode == ""){
                alert("Retailer Address Pin Code is required");
                $("#retailerAddressPinCode").addClass("border-highlight");
                error = true;
                return error;
        }
        
        var retailerAddressState = $("#retailerAddressState option:selected").val();
        console.log("retailerAddressState = " + retailerAddressState);
        $("#retailerAddressState").removeClass("border-highlight");
        if(retailerAddressState == ""){
                alert("Retailer Address State is required");
                $("#retailerAddressState").addClass("border-highlight");
                error = true;
                return error;
        }
        
        
        //start from here
        var shopDetailsSize = $("#shopDetailsSize").attr("size");
        for(var i = 0; i < shopDetailsSize; i++){
                var shopName = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopName"+i+"]").removeClass("border-highlight");
                if(shopName == ""){
                        alert("Shop Name is required");
                        $("form#update-retailer-details-form input[name=shopName"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var fileSelector = $('#retailerShopDocument'+i)[0];
                if(fileSelector != undefined && fileSelector.files[0] == undefined){
                        alert("Retailer Shop Document is required");
                        error = true;
                        return error;
                }
                var shopAddressName = $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").removeClass("border-highlight");
                if(shopAddressName == ""){
                        alert("Shop Address Name is required");
                        $("form#update-retailer-details-form input[name=shopAddressName"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var shopAddressLine1 = $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").removeClass("border-highlight");
                if(shopAddressLine1 == ""){
                        alert("Shop Address Line1 is required");
                        $("form#update-retailer-details-form input[name=shopAddressLine1"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var shopAddressLine2 = $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").removeClass("border-highlight");
                if(shopAddressLine2 == ""){
                        alert("Shop Address Line2 is required");
                        $("form#update-retailer-details-form input[name=shopAddressLine2"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var shopAddressCity = $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").removeClass("border-highlight");
                if(shopAddressCity == ""){
                        alert("Shop Address City is required");
                        $("form#update-retailer-details-form input[name=shopAddressCity"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var shopAddressPinCode = $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").val();
                $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").removeClass("border-highlight");
                if(shopAddressPinCode == ""){
                        alert("Shop Address is Pin Code required");
                        $("form#update-retailer-details-form input[name=shopAddressPinCode"+i+"]").addClass("border-highlight");
                        error = true;
                        return error;
                }
                var shopAddressState = $("#shopAddressState"+i+" option:selected").val();
                $("#shopAddressState"+i+" option:selected").removeClass("border-highlight");
                if(shopAddressState == ""){
                        alert("Shop Address State is required");
                        $("#shopAddressState"+i+" option:selected").addClass("border-highlight");
                        error = true;
                        return error;
                }
        }
        
        console.log("validation retailer details error = " + error);
        return error;
}


function retailerDetailsJson(){
        console.log("retailerDetailsJson")
        var retailerDetailsObject = {};
        retailerDetailsObject['userFirstName'] = $("form#update-retailer-details-form input[name=firstName]").val();
        retailerDetailsObject['userLastName'] = $("form#update-retailer-details-form input[name=lastName]").val();
        retailerDetailsObject['userEmailId'] = $("form#update-retailer-details-form input[name=emailId]").val();
        retailerDetailsObject['userMobileNumber'] = $("form#update-retailer-details-form input[name=mobileNumber]").val();
        
        //retailerDetailsObject['emailIdOrMobileNumber'] = $('#retailer-details-search-text').val().trim();
        retailerDetailsObject['emailIdOrMobileNumber'] = $("form#update-retailer-details-form input[name=emailId]").val();
        retailerDetailsObject['name'] = $("form#update-retailer-details-form input[name=retailerName]").val();
        retailerDetailsObject['number'] = $("form#update-retailer-details-form input[name=retailerNumber]").val();
        var districtName = $("#form #update-retailer-details-form input[name=districtName] selected")
        retailerDetailsObject['fofo'] = $("form#update-retailer-details-form input[name=fofoPartner]").val();
        retailerDetailsObject['gstNumber'] = $("form#update-retailer-details-form input[name=gstNumber]").val();
        retailerDetailsObject['active'] = $("form#update-retailer-details-form input[name=active]").val();
        var fileSelector = $('#retailerDocument')[0];
        if(fileSelector != undefined && fileSelector.files[0] != undefined){
                var documentId = uploadDocument(fileSelector.files[0]);
                retailerDetailsObject['documentId'] = documentId;
        }else{
                retailerDetailsObject['documentId'] = 0;
        }
        
        //retailerDetailsObject['file'] = $('#retailerDocument')[0].files[0];
        var retailerAddressObject = {};
        retailerAddressObject['name'] = $("form#update-retailer-details-form input[name=retailerAddressName]").val();
        retailerAddressObject['line1'] = $("form#update-retailer-details-form input[name=retailerAddressLine1]").val();
        retailerAddressObject['line2'] = $("form#update-retailer-details-form input[name=retailerAddressLine2]").val();
        retailerAddressObject['city'] = $("form#update-retailer-details-form input[name=retailerAddressCity]").val();
        retailerAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=retailerAddressPinCode]").val();
        retailerAddressObject['state'] = $("#retailerAddressState option:selected").val();
        
        retailerDetailsObject['address'] = retailerAddressObject;
        
        retailerDetailsObject['shops'] = [];
        var shopDetailsSize = $("#shopDetailsSize").attr("size");
        
        for(var i = 0; i < shopDetailsSize; i++){
                var shopObject = {};
                var shopId = $("form#update-retailer-details-form input[name=shopName"+i+"]").attr('shopId');
                shopObject['shopId'] = shopId;
                shopObject['name'] = $("form#update-retailer-details-form input[name=shopName"+i+"]").val();
                
                var fileSelector = $('#retailerShopDocument'+i)[0];
                if(fileSelector != undefined && fileSelector.files[0] != undefined){
                        var documentId = uploadDocument(fileSelector.files[0]);
                        shopObject['documentId'] = documentId;
                }else{
                        shopObject['documentId'] = 0;
                }
                var sameAsRetailerAddress = $("form#update-retailer-details-form input[name=sameAsRetailerAddress"+i+"]").val();
                shopObject['sameAsRetailerAddress'] = (sameAsRetailerAddress == 'true');
                if(shopId == '0' && sameAsRetailerAddress == 'true'){
                        shopObject['address'] = null;
                }else{
                        shopObject['address'] = getShopAddressObject(i);
                }
                retailerDetailsObject['shops'].push(shopObject);
                
        }
        
        return JSON.stringify(retailerDetailsObject);
}

function getShopAddressObject(counter){
        var shopAddressObject = {};
        shopAddressObject['name'] = $("form#update-retailer-details-form input[name=shopAddressName"+counter+"]").val();
        shopAddressObject['line1'] = $("form#update-retailer-details-form input[name=shopAddressLine1"+counter+"]").val();
        shopAddressObject['line2'] = $("form#update-retailer-details-form input[name=shopAddressLine2"+counter+"]").val();
        shopAddressObject['city'] = $("form#update-retailer-details-form input[name=shopAddressCity"+counter+"]").val();
        shopAddressObject['pinCode'] = $("form#update-retailer-details-form input[name=shopAddressPinCode"+counter+"]").val();
        shopAddressObject['state'] = $("#shopAddressState"+counter+" option:selected").val();
        return shopAddressObject;
}