Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
30084 amit.gupta 1
function createSchemeOnReady() {
34317 amit.gupta 2
    $("form#create-scheme-form input").each(function () {
3
        $(this).attr('autocomplete', 'off');
4
    });
5
    // validate the comment form when it is submitted
6
    $('#create-scheme-form').validate({
7
        rules: {
8
            schemeName: {
9
                required: true
10
            },
11
            schemeType: {
12
                required: true
13
            },
14
            amountType: {
15
                required: true
16
            },
17
            schemeAmount: {
18
                required: true
19
            },
20
            startDate: {
21
                required: true
22
            },
23
            endDate: {
24
                required: true
25
            },
26
            itemIdsDescription: {
27
                required: true
28
            },
29
            retailerIds: {
30
                required: true
31
            }
32
        },
33
        messages: {
34
            name: {
35
                required: "Please enter the name"
36
            },
37
            schemeType: {
38
                required: "Please choose type"
39
            },
40
            amountType: {
41
                required: "Please choose amount type"
42
            },
43
            schemeAmount: {
44
                required: "Please enter the amount"
45
            },
46
            startDate: {
47
                require: "Please choose start date"
48
            },
49
            endDate: {
50
                require: "Please choose end date"
51
            },
52
            itemIdsDescription: {
53
                required: "Please choose items"
54
            },
55
            retailerIds: {
56
                required: "Please enter retailer ids"
57
            }
58
        },
59
        submitHandler: function (form, event) {
60
            event.preventDefault();
61
            if (validateSchemeDetails()) {
62
                alert("Please fix errors");
63
                return false;
64
            }
65
            let json = schemeDetailsJson();
66
            console.log("schemeJson = " + json);
67
            if (confirm("Are you sure you want to create Scheme!") === true) {
68
                doPostAjaxRequestWithJsonHandler(context + "/createScheme", json, function (response) {
69
                    alert("Scheme created successfully!");
70
                    $('#main-content').html(response);
71
                });
72
                return false; // required to block normal submit since you used ajax
73
            }
74
        }
75
    });
22860 ashik.ali 76
 
30084 amit.gupta 77
}
23347 ashik.ali 78
 
30084 amit.gupta 79
 
30454 amit.gupta 80
$('#retailerAll').on('change', function () {
34317 amit.gupta 81
    if (this.checked) {
82
        $('#retailerAll').val('true');
83
        $('#retailer-ids').html('');
84
    } else {
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">');
87
    }
23347 ashik.ali 88
});
89
 
30454 amit.gupta 90
$(document).on('change', '#schemeType', function () {
34317 amit.gupta 91
    debugger;
92
    $("#cashbackScheme").prop('checked', false).prop('disabled', true);
93
    let schemeType = $(this).val();
94
    console.log("Scheme type " + schemeType);
95
    if (schemeType === 'ACTIVATION') {
96
        $("#cashbackScheme").prop('disabled', false);
23347 ashik.ali 97
 
34317 amit.gupta 98
    }
30454 amit.gupta 99
});
100
 
34317 amit.gupta 101
$(document).on('change', ".stockTransactionType, .amountType", function () {
102
    let stockTransactionType = $(".stockTransactionType").val();
103
    let amountType = $('.amountType').val();
104
    if (stockTransactionType !== null && amountType !== null) {
30454 amit.gupta 105
 
34317 amit.gupta 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
    }
119
});
120
 
121
 
30432 tejbeer 122
function validateSchemeDetails() {
34317 amit.gupta 123
    console.log("validating Scheme Details...");
124
    var error = false;
125
    var name = $("form#create-scheme-form input[name=schemeName]").val();
126
    console.log("schemeName = " + name);
127
    let regionIds = $('.criteria-regionids').val();
128
    //console.log(regionIds);
129
    if (regionIds.length > 1 && regionIds.indexOf('5') > 0) {
130
        alert("Cant add ALL region with other regions");
131
        error = true;
132
        return error;
133
    }
134
    if (regionIds.length == 0) {
135
        alert("Region required");
136
        error = true;
137
        return error;
138
    }
139
    $("#schemeName").removeClass("border-highlight");
140
    if (name == "") {
141
        alert("Name is required");
142
        $("#schemeName").addClass("border-highlight");
143
        error = true;
144
        return error;
145
    }
146
    var schemeType = $("#schemeType option:selected").val();
147
    console.log("schemeType = " + schemeType);
148
    $("#schemeType").removeClass("border-highlight");
149
    if (schemeType == "") {
150
        alert("Please choose Scheme Type");
151
        $("#schemeType").addClass("border-highlight");
152
        error = true;
153
        return error;
154
    }
155
    var amountType = $("#amountType option:selected").val();
156
    console.log("amountType = " + amountType);
157
    $("#amountType").removeClass("border-highlight");
158
    if (amountType == "") {
159
        alert("Please choose Amount Type");
160
        $("#amountType").addClass("border-highlight");
161
        error = true;
162
        return error;
163
    }
164
    var amount = $("form#create-scheme-form input[name=schemeAmount]").val();
165
    console.log("amount = " + amount);
166
    $("#schemeAmount").removeClass("border-highlight");
167
    if (amount == "") {
168
        $("form#create-scheme-form input[name=schemeAmount]").val(0);
169
    } else if (amount <= 0) {
170
        alert("Amount should be greater than 0");
171
        $("#schemeAmount").addClass("border-highlight");
172
        error = true;
173
        return error;
174
    }
30148 amit.gupta 175
 
176
 
34317 amit.gupta 177
    //$('#brand-value').text($(this).text());
178
    $("#tag-listing-brand-value").removeClass("border-highlight");
179
    if ($("#tag-listing-brand-value").text() == "Brands") {
180
        alert("Please choose Brand");
181
        $("#tag-listing-brand-value").addClass("border-highlight");
182
        error = true;
183
        return error;
184
    }
30148 amit.gupta 185
 
34317 amit.gupta 186
    $("select.catalogItemsDescription").removeClass("border-hightlight");
187
    var itemIdsString = $("select.catalogItemsDescription").val();
188
    debugger;
189
    if (itemIdsString == null) {
190
        alert("Please choose items");
191
        $("select.catalogItemsDescription").addClass("border-highlight");
192
        error = true;
193
        return error;
194
    }
30148 amit.gupta 195
 
34317 amit.gupta 196
    console.log("validation scheme error = " + error);
197
    return error;
23343 ashik.ali 198
}
199
 
30432 tejbeer 200
function schemeDetailsJson() {
34317 amit.gupta 201
    var schemeObject = {};
202
    schemeObject['description'] = $("form#create-scheme-form input[name=schemeName]").val();
203
    schemeObject['type'] = $("#schemeType option:selected").val();
204
    schemeObject['name'] = $("#schemeType option:selected").html();
205
    schemeObject['amountType'] = $("#amountType option:selected").val();
206
    schemeObject['amount'] = $('#schemeAmount').val();
207
    schemeObject['partnerType'] = $('#retailerType').val();
208
    schemeObject['cashback'] = $("#cashbackScheme").is(":checked")
209
    schemeObject['startDate'] = $("#schemeDuration").data('daterangepicker').startDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
210
    schemeObject['endDate'] = $("#schemeDuration").data('daterangepicker').endDate.format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS);
211
    schemeObject['catalogIds'] = $("select.catalogItemsDescription").val();
212
    schemeObject['regionIds'] = $("form#create-scheme-form .criteria-regionids").val();
213
    return JSON.stringify(schemeObject);
23343 ashik.ali 214
}