JezK
Edit File: coupons.php
<?php include "sidemenu-start.php" ?> <div class="container-fluid"> <div class="row"> <div class="col-md-6"> <h1>Coupons</h1> </div> <div class="col-md-6 text-end"> <button class="de-btn-small" data-bs-toggle="modal" data-bs-target="#addCoupon">Add Coupons</button> </div> </div> <div class="row mt-3"> <div class="col-md-6 offset-md-6"> </div> </div> <div class="row mt-3"> <div class="col-md-12"> <table class="table" id="couponTable"> <thead> <tr> <th>S.no</th> <th>Coupon Name</th> <th>Amount</th> <th>User Count</th> <th>Used User</th> <th>Minimum Bill Amount</th> <th>Actions</th> </tr> </thead> <tbody> <!-- Table content goes here --> </tbody> </table> </div> </div> </div> <!-- Modal --> <div class="modal fade" id="addCoupon" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content de-modal-content"> <form id="newCoupon"> <div class="modal-header de-mh"> <h5 class="modal-title" id="exampleModalLabel">Add Coupon</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="mb-3"> <label for="couponName" class="form-label">Coupon Name</label> <input type="text" class="form-control" name="couponName" id="couponName"> <p class="error coupon_name_error"></p> </div> <div class="mb-3"> <label for="amount" class="form-label">Amount</label> <input type="number" class="form-control" name="amount" id="amount"> <p class="error coupon_mobile_error"></p> </div> <div class="mb-3"> <label for="maxallocations" class="form-label">No of Users</label> <input type="number" class="form-control" name="maxallocations" id="maxallocations"> <p class="error user_count_error"></p> </div> <div class="mb-3"> <label for="minBillAmount" class="form-label">Minimum Bill Amount</label> <input type="number" class="form-control" name="minBillAmount" id="minBillAmount"> <p class="error bill_error"></p> </div> </div> <div class="modal-footer"> <button type="submit" class="de-btn-small" name="submit" onclick="return validateNewCoupon()">Add</button> </div> </form> </div> </div> </div> <!-- View Modal --> <div class="modal fade" id="couponDetailsModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content de-modal-content"> <form id="editCoupon"> <div class="modal-header de-mh"> <h5 class="modal-title" id="exampleModalLabel">Edit Coupon</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="mb-3"> <label for="couponName" class="form-label">Coupon Name</label> <input type="text" class="form-control" name="editCouponName" id="editCouponName" readonly> <p class="error edit_coupon_name_error"></p> </div> <div class="mb-3"> <label for="amount" class="form-label">Amount</label> <input type="number" class="form-control" name="editAmount" id="editAmount"> <p class="error edit_coupon_mobile_error"></p> </div> <div class="mb-3"> <input type="hidden" class="form-control" name="editCouponId" id="editCouponId"> </div> <div class="mb-3"> <label for="maxallocations" class="form-label">No of Users</label> <input type="number" class="form-control" name="editMaxallocations" id="editMaxallocations"> <p class="error edit_user_count_error"></p> </div> <div class="mb-3"> <label for="editminBillAmount" class="form-label">Minimum Bill Amount</label> <input type="number" class="form-control" name="editminBillAmount" id="editminBillAmount"> <p class="error edit_bill_error"></p> </div> </div> <div class="modal-footer"> <button type="submit" class="de-btn-small" name="submit" onclick="return validateEditCoupon()">Edit</button> </div> </form> </div> </div> </div> <!-- Delete Modal --> <div class="modal fade" id="deleteModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content de-modal-content"> <div class="modal-header de-mh"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <h1 class="modal-title text-center" id="exampleModalLabel">Do You want to Delete?</h1> </div> <div class="modal-footer"> <button type="button" class="de-btn-small yes" name="submit" onclick="deleteCoupon(this.value)">Yes</button> <button type="button" class="close-btn" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <?php include "sidemenu-end.php" ?> <script> let dataTable; $(document).ready(function() { dataTable = $('#couponTable').DataTable({ "processing": true, //Feature control the processing indicator. "serverSide": true, //Feature control DataTables' servermside processing mode. //"order": [], //Initial no order. "searching": false, "iDisplayLength": 10, "orderable": false, "ajax": { "url": 'app/getCoupons.php', "type": "POST", "dataType": "json", "dataSrc": function(jsonData) { return jsonData.data; } }, "language": { "paginate": { "previous": '<i class="angles fa fa-angle-left"></i>', "next": '<i class="angles fa fa-angle-right"></i>' } } }); }) $('#newCoupon').submit(function(event) { event.preventDefault(); formData = $('#newCoupon').serialize() + '&action=addCoupon'; $.ajax({ type: 'POST', url: 'app/coupon.php', data: formData, success: function(data) { if (data == 1) { toastr.success('Coupon Created'); dataTable.draw(); } else { toastr.warning('Coupon Exists Or Previously Added'); } $('#addCoupon').modal('toggle') document.getElementById("newCoupon").reset(); } }) }) function getcouponDetailsId(id) { $.ajax({ type: 'POST', url: 'app/coupon.php', data: { action: 'getCouponById', editCoupon: 'editCoupon', couponId: id }, success: function(response) { data = JSON.parse(response) $('#editCouponName').val(data.name); $('#editAmount').val(data.amount) $('#editMaxallocations').val(data.usercount) $('#editCouponId').val(data.coupon_id) $('#editminBillAmount').val(data.min_bill) } }) } $('#editCoupon').submit(function(event) { event.preventDefault(); formData = $('#editCoupon').serialize() + '&action=editCoupon'; $.ajax({ type: 'POST', url: 'app/coupon.php', data: formData, success: function(data) { if (data == 1) { toastr.success('Coupon Updated'); dataTable.draw(); } else { toastr.warning('Unable to update'); } $('#couponDetailsModal').modal('toggle') document.getElementById("editCoupon").reset(); } }) }) function getcouponId(Id) { $('.yes').val(Id) } function deleteCoupon(Id) { $.ajax({ type: 'POST', url: 'app/coupon.php', data: { status: 'deleteCoupon', couponId: Id }, success: function(data) { if (data == 1) { toastr.success('Coupon Deleted'); dataTable.draw(); } else { toastr.warning('Unable To Delete Coupon'); } $('#deleteModal').modal('toggle') } }) } </script>