EVOLUTION-NINJA
Edit File: instruction.php
<?php echo view('includes/sidebar'); ?> <script type="text/javascript" src="<?php echo base_url('public/assets/js/jquery-3.6.0.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> <style> .form{ width:900px; height:400px; background-color: #f9f9f9; margin:30px 10px 0px 20px; border-radius: 20px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } @media screen and (max-width: 768px) { .form{ width: 96%; margin: auto; height:auto; background-color: #f9f9f9; margin:5px; border-radius: 20px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .cancel{ margin-left:10px; } } @media only screen and (orientation: landscape) { @media screen and (max-width: 768px) { .form{ width:88%; height:auto; } } @media (min-width:768px) and (max-width:9600px){ .form{ width:88%; height:auto; } } } </style> <section class="home-section fullpage"> <div class="home-content"> <i class='bx bx-menu'></i> <!-- <span class="text">Drop Down Sidebar</span> --> </div> <div class="row m-0"> <div class="col-sm-12"> <h1 class="crt-pjt">Instruction</h1> </div> </div> <!-- forms --> <form id="notification-form" class="form"> <div class="row m-0"> <div class="constuency_page"> <div class="constuencydetails"> <div class="constuencydetail row"> <div class="col-sm-4"> <label for="roleSelect" class="form-label inpfieldname">Role</label><br> <select id="roleSelect" class="form-select form-control fieldsbox" aria-label="Select Role"> <option value="apm">APM</option> <option value="engineer">Engineer</option> <option value="supervisor">Supervisor</option> </select> </div> <div class="col-sm-4"> <label for="constituency" class="form-label inpfieldname">Sending To</label><br> <select class="form-select form-control fieldsbox" id="users" name="users[]" multiple> <option value=""></option> </select> </div> <div class="col-sm-4"> <label><input type="checkbox" id="selectAll"> Select All</label> </div> </div> </div> <div class="constuencydetail row"> <div class="col-sm-8"> <label for="message" class="form-label inpfieldname">Message</label><br> <textarea name="message" id="message" class="form-control textfields projectinputs" required style="resize:none"></textarea> </div> </div> <div class="col-sm-6 buttns-cnl"> <button type="submit" class="submit">Send</button> <button type="button" class="cancel" id="btn-cancel">Cancel</button> </div> </div> </div> </form> <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 () { $.ajax({ url: '<?php echo base_url("fetch-roles1"); ?>', method: 'GET', success: function (response) { if (response.length > 0) { var options = '<option value="">Select Role</option>'; $.each(response, function (key, value) { options += `<option value="${value.role}">${value.role_name}</option>`; }); $('#roleSelect').html(options); } else { console.log('No roles found'); } }, error: function (xhr, status, error) { console.error("Error fetching department:", error); } }); }); </script> <script> $(document).ready(function () { $('#btn-cancel').click(function (e) { e.preventDefault(); $('#notification-form')[0].reset(); }) }) </script> <script> $(document).ready(function() { $('#roleSelect').on('change', function() { let role = $(this).val(); $.ajax({ url: 'getUsersByRole', type: 'POST', data: {role: role}, dataType: 'json', success: function(response) { $('#users').empty(); $('#users').append('<option value="">Select User</option>'); $.each(response, function(index, user) { $('#users').append('<option value="' + user.id + '">' + user.username + '</option>'); }); } }); }); $('#selectAll').on('change', function() { if (this.checked) { $('#users option').prop('selected', true); // Select all options } else { $('#users option').prop('selected', false); // Deselect all options } }); populateUsers('all'); function populateUsers(role) { $.ajax({ url: 'getUsersByRole', type: 'POST', data: {role: role}, dataType: 'json', success: function(response) { $('#users').empty(); $('#users').append('<option value="">Select User</option>'); $.each(response, function(index, user) { $('#users').append('<option value="' + user.id + '">' + user.username + '</option>'); }); } }); } }); </script> <script> $(document).ready(function () { $('#notification-form').submit(function (e) { e.preventDefault(); var formdata = new FormData($(this)[0]); $('#app-btn').text('Sending...'); $('#app-btn').attr('disabled', 'disabled'); $.ajax({ type: 'post', url: '<?php echo base_url("send-notification");?>', data: formdata, contentType: false, processData: false, success: function (response) { if (response.result == 1) { Swal.fire({ icon: "success", title: response.message, showConfirmButton: false, timer: 2000 }); $('#notification-form')[0].reset(); window.location.href = '<?php echo base_url("instructions");?>'; } else { Swal.fire({ icon: "error", title: response.message, showConfirmButton: false, timer: 1000 }); } $('#app-btn').removeAttr('disabled').text("SUBMIT"); }, error: function (xhr, textStatus, errorThrown) { console.error(xhr.responseText); Swal.fire({ icon: "error", title: "An error occurred", showConfirmButton: false, timer: 1000 }); }, complete: function () { $('#app-btn').removeAttr('disabled').text("SUBMIT"); } }); }); }); </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> <?php echo view('includes/footer'); ?>