EVOLUTION-NINJA
Edit File: create_promoter.php
<!--<?//php echo view('includes/sidebar'); ?>--> <?php echo view('includes/headerSidebar'); ?> <script type="text/javascript" src="<?php echo base_url('public/assets/js/jquery-3.6.0.min.js'); ?>"></script> <script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script> <script src="<?php echo base_url('public/assets/toastr/toastr.min.js');?>"></script> <link rel="stylesheet" href="<?php echo base_url('public/assets/toastr/toastr.min.css');?>"> <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script> <!---- register> <!-- bootstrap end --> <link rel="stylesheet" href="<?php echo base_url('public/assets/css/font-awesome.min.css')?>"> <!-- all css of login page in loginpage.css --> <link rel="stylesheet" href="<?php echo base_url('public/assets/css/loginpage.css');?>"> <!-- poppins fonts --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <script type="text/javascript" src="<?php echo base_url('public/assets/js/jquery-3.6.0.min.js'); ?>"></script> <link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> <style> .mainheading { padding: 8px 17px; box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px; color: #15283C; font-size: 18px; font-weight: 500; } .prof_paras { font-size: 21px; font-weight: 500; color: #15283C; } .detail_prof {0.$_COOKIE padding: 50px; } @media only screen and (max-width:628px) { .detail_prof { padding: 20px; } } </style> <div id="main" class="p-4"> <section class="home-section fullpage"> <div class="home-content"> <i class='bx bx-menu'></i> </div> <section class="p-3 "> <div class="mainheading mb-3">Partners List</div> <br><br> <button class="btn btn-primary" data-toggle="modal" data-target="#promoterModal" style="float:right;">Create Partner</button> <br><br> <!-- Modal Structure --> <div class="modal fade" id="promoterModal" tabindex="-1" role="dialog" aria-labelledby="promoterModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document" style="max-width: 80%;"> <!-- You can adjust the width here --> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="promoterModalLabel">Create Partner</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <!-- Form starts here --> <form id="form2" class="profile_for"> <div class="row "> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="fname">First Name</label> <input type="text" class="form-control" id="fname" placeholder="name" name="name" required> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="email">Email</label> <input type="email" class="form-control" id="email" placeholder="Email" name="Email" required> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="mobile">Mobile</label> <input type="text" class="form-control" id="phone" placeholder="" name="phone" required> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="address">Address</label> <input type="text" class="form-control" id="address" placeholder="Address" name="address" required> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="city">City</label> <input type="text" class="form-control" id="city" placeholder="City" name="city" required> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="inputState">State</label> <select id="inputState" class="form-control" name="state" required> <option selected>Select State</option> <option value="karnataka">Karnataka</option> </select> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="pincode">Pin Code</label> <input type="text" class="form-control" id="pincode" placeholder="Pin Code" name="pincode" required> </div> </div> </div> <hr> <div class="row"> <div class="col-sm-4"> <div class="form-group"> <label for="newpassword"> Password</label> <input type="text" class="form-control" id="password" placeholder="New Password" name="password" required> </div> </div> </div> <hr> <p class="prof_paras">Bank Details</p> <div class="row"> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="accountNo">Account No</label> <input type="text" class="form-control" id="account_no" placeholder="Account No" name="account_no"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="holderName">Account Holder Name</label> <input type="text" class="form-control" id="account_holder_name" placeholder="Name" name="account_holder_name"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="bankName">Bank Name</label> <input type="text" class="form-control" id="bank_name" placeholder="Bank Name" name="bank_name"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="ifscCode">IFSC Code</label> <input type="text" class="form-control" id="ifsc_code" placeholder="IFSC Code" name="ifsc_code"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="branch">Branch</label> <input type="text" class="form-control" id="branch" placeholder="Branch" name="branch"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="upiId">UPI ID</label> <input type="text" class="form-control" id="upi_id" placeholder="UPI" name="upi_id"> </div> </div> <div class="col-sm-12 col-md-6 col-lg-4 mb-2"> <div class="form-group"> <label for="branchAddress">Branch Address</label> <input type="text" class="form-control" id="branch_address" placeholder="Branch Address" name="branch_address"> </div> </div> </div> </form> <!-- Form ends here --> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary" id="submitBtn">Submit</button> </div> </div> </div> </div> <br> <div class="container"> <h2>Partner List</h2> <table class="table table-bordered" id="promoterTable"> <thead> <tr> <th>SL no</th> <th>Name</th> <th>Email</th> <th>Phone</th> <th>Address</th> <th>City</th> <th>State</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </section> </div> </body> <script> $(document).ready(function() { fetchPromoters(); function fetchPromoters() { $.ajax({ url: '<?= base_url('get-Promoters'); ?>', type: 'GET', dataType: 'json', success: function(data) { var tableBody = $('#promoterTable tbody'); tableBody.empty(); $.each(data, function(index, promoter) { var serialNumber = index + 1; var row = '<tr>'; row += '<td>' + serialNumber + '</td>'; row += '<td>' + promoter.name + '</td>'; row += '<td>' + promoter.email + '</td>'; row += '<td>' + promoter.phone + '</td>'; row += '<td>' + promoter.address + '</td>'; row += '<td>' + promoter.city + '</td>'; row += '<td>' + promoter.state + '</td>'; row += '<td>'; var buttonClass = promoter.valid_user == 1 ? 'btn-success' : 'btn-danger'; var buttonText = promoter.valid_user == 0 ? 'Inactive' : 'Active'; var disabled = promoter.valid_user == 0 ? 'disabled' : ''; row += '<button class="btn ' + buttonClass + ' btn-sm status-btn" ' + disabled + ' data-id="' + promoter.id + '" onclick="toggleStatus(' + promoter.id + ')">' + buttonText + '</button>'; row += '</td>'; row += '</tr>'; tableBody.append(row); }); }, error: function() { alert('Error fetching promoters data'); } }); } window.toggleStatus = function(promoterId, buttonText) { var confirmMessage = buttonText == "Active" ? "Are you sure you want to activate this promoter?" : "Are you sure you want to In-Activate this promoter?"; Swal.fire({ title: 'Are you sure?', text: confirmMessage, icon: 'warning', showCancelButton: true, confirmButtonText: 'Yes, change it!', cancelButtonText: 'No, cancel!', reverseButtons: true }).then((result) => { if (result.isConfirmed) { $.ajax({ url: '<?= base_url('active'); ?>', type: 'POST', data: { id: promoterId }, dataType: 'json', success: function(response) { if (response.result === 1) { var button = $('button[data-id="' + promoterId + '"]'); if (response.status == 1) { button.text('Inactive'); button.removeClass('btn-success').addClass('btn-danger'); button.prop('disabled', false); // Enable the button again } else { button.text('Active'); button.removeClass('btn-danger').addClass('btn-success'); button.prop('disabled', true); } fetchPromoters(); } else { alert(response.message); } }, error: function() { alert('Error updating status'); } }); } }); }; }); </script> <script> let arrow = document.querySelectorAll(".arrow"); for (var i = 0; i < arrow.length; i++) { arrow[i].addEventListener("click", (e) => { let arrowParent = e.target.parentElement.parentElement; arrowParent.classList.toggle("showMenu"); }); } let sidebar = document.querySelector(".sidebar"); let sidebarBtn = document.querySelector(".bx-menu"); console.log(sidebarBtn); sidebarBtn.addEventListener("click", () => { sidebar.classList.toggle("close"); }); </script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.all.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.min.css" rel="stylesheet"> <!-- jQuery CDN (latest version) --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- Include SweetAlert --> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.all.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8/dist/sweetalert2.min.css" rel="stylesheet"> <script> $(document).ready(function() { $('#submitBtn').on('click', function(event) { event.preventDefault(); // Prevent default form submission // Gather the form data var formData = { 'name': $('#fname').val(), 'Email': $('#email').val(), 'phone': $('#phone').val(), 'address': $('#address').val(), 'city': $('#city').val(), 'state': $('#inputState').val(), 'pincode': $('#pincode').val(), 'password': $('#password').val(), 'account_no': $('#account_no').val(), 'account_holder_name': $('#account_holder_name').val(), 'bank_name': $('#bank_name').val(), 'ifsc_code': $('#ifsc_code').val(), 'branch': $('#branch').val(), 'upi_id': $('#upi_id').val(), 'branch_address': $('#branch_address').val() }; // // Ensure that the form data is not empty before sending // if (Object.values(formData).includes('')) { // Swal.fire({ // icon: 'error', // title: 'Please fill all the required fields', // showConfirmButton: true // }); // return; // } // Perform AJAX request $.ajax({ url: '<?= base_url('register'); ?>', method: 'POST', data: formData, dataType: 'json', success: function(response) { if (response.status === 'success') { Swal.fire({ icon: 'success', title: response.message, showConfirmButton: false, timer: 2000 }).then(() => { $('#promoterModal').modal('hide'); $('#form2')[0].reset(); }); } else { Swal.fire({ icon: 'error', title: response.message, showConfirmButton: true }); } }, error: function() { Swal.fire({ icon: 'error', title: 'There was an error submitting the form', showConfirmButton: true }); } }); }); }); </script> </html>