Subversion Repositories SmartDukaan

Rev

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

function createSchemeOnReady() {
        $("form#create-scheme-form input").each(function() {
                $(this).attr('autocomplete', 'off');
        });
        // validate the comment form when it is submitted
        $('#create-scheme-form').validate({
                rules: {
                        schemeName: {
                                required: true
                        },
                        schemeType: {
                                required: true
                        },
                        amountType: {
                                required: true
                        },
                        schemeAmount: {
                                required: true
                        },
                        startDate: {
                                required: true
                        },
                        endDate: {
                                required: true
                        },
                        itemIdsDescription: {
                                required: true
                        },
                        retailerIds: {
                                required: true
                        }
                },
                messages: {
                        name: {
                                required: "Please enter the name"
                        },
                        schemeType: {
                                required: "Please choose type"
                        },
                        amountType: {
                                required: "Please choose amount type"
                        },
                        schemeAmount: {
                                required: "Please enter the amount"
                        },
                        startDate: {
                                require: "Please choose start date"
                        },
                        endDate: {
                                require: "Please choose end date"
                        },
                        itemIdsDescription: {
                                required: "Please choose items"
                        },
                        retailerIds: {
                                required: "Please enter retailer ids"
                        }
                },
                submitHandler: function(form, event) {
                        event.preventDefault();
                        if (validateSchemeDetails()) {
                                alert("Please fix errors");
                                return false;
                        }
                        let json = schemeDetailsJson();
                        console.log("schemeJson = " + json);
                        if (confirm("Are you sure you want to create Scheme!") == true) {
                                doPostAjaxRequestWithJsonHandler(context + "/createScheme", json, function(response) {
                                        $('#main-content').html(response);
                                });
                                return false; // required to block normal submit since you used ajax
                        }
                }
        });

}


$('#retailerAll').on('change', function() {
        if (this.checked) {
                $('#retailerAll').val('true');
                $('#retailer-ids').html('');
        } else {
                $('#retailerAll').val('false');
                $('#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">');
        }
});


function validateSchemeDetails() {
        console.log("validating Scheme Details...");
        var error = false;
        var name = $("form#create-scheme-form input[name=schemeName]").val();
        console.log("schemeName = " + name);
        $("#schemeName").removeClass("border-highlight");
        if (name ==  ""  {
                alert("Name is required");
                $("#schemeName").addClass("border-highlight");
                error = true;
                return error;
        }
        var schemeType = $("#schemeType option:selected").val();
        console.log("schemeType = " + schemeType);
        $("#schemeType").removeClass("border-highlight");
        if (schemeType == "") {
                alert("Please choose Scheme Type");
                $("#schemeType").addClass("border-highlight");
                error = true;
                return error;
        }
        var amountType = $("#amountType option:selected").val();
        console.log("amountType = " + amountType);
        $("#amountType").removeClass("border-highlight");
        if (amountType == "") {
                alert("Please choose Amount Type");
                $("#amountType").addClass("border-highlight");
                error = true;
                return error;
        }
        var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
        console.log("amount = " + amount);
        $("#schemeAmount").removeClass("border-highlight");
        if (amount == "") {
                $("form#create-scheme-form input[name=schemeAmount]").val(0);
        } else if (amount <= 0) {
                alert("Amount should be greater than 0");
                $("#schemeAmount").addClass("border-highlight");
                error = true;
                return error;
        }


        //$('#brand-value').text($(this).text());
        $("#tag-listing-brand-value").removeClass("border-highlight");
        if ($("#tag-listing-brand-value").text() == "Brands") {
                alert("Please choose Brand");
                $("#tag-listing-brand-value").addClass("border-highlight");
                error = true;
                return error;
        }

        $("select.catalogItemsDescription").removeClass("border-hightlight");
        var itemIdsString = $("select.catalogItemsDescription").val();
        debugger;
        if (itemIdsString == null) {
                alert("Please choose items");
                $("select.catalogItemsDescription").addClass("border-highlight");
                error = true;
                return error;
        }

        console.log("validation scheme error = " + error);
        return error;
}

function schemeDetailsJson() {
        var schemeObject = {};
        schemeObject['name'] = $("form#create-scheme-form input[name=schemeName]").val();
        schemeObject['description'] = $("form#create-scheme-form input[name=description]").val();
        schemeObject['type'] = $("#schemeType option:selected").val();
        schemeObject['amountType'] = $("#amountType option:selected").val();
        schemeObject['amount'] = $('#schemeAmount').val();
        schemeObject['partnerType'] = $('#retailerType').val();
        schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
        //schemeObject['schemeReversal'] = $("#schemeReversal").is(":checked")
        //schemeObject['gstReversal'] = $("#gstReversal").is(":checked")
        schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
        schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
        schemeObject['catalogIds'] = [];
        schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
        return JSON.stringify(schemeObject);
}