uawdijnntqw1x1x1
IP : 216.73.216.86
Hostname : 6.87.74.97.host.secureserver.net
Kernel : Linux 6.87.74.97.host.secureserver.net 4.18.0-553.83.1.el8_10.x86_64 #1 SMP Mon Nov 10 04:22:44 EST 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
emeraadmin
/
www
/
node_modules
/
raf
/
..
/
object.pick
/
..
/
jws
/
..
/
..
/
4d695
/
viewsubtasksdaywise.php.tar
/
/
home/emeraadmin/public_html/pages/subcontractor/viewsubtasksdaywise.php000064400000027316151701500460022730 0ustar00<?php include('head.php'); require_once '../../Classes/Database.php'; require_once '../../Service/TaskService.php'; require_once '../../Classes/System.php'; // Fetch assigned user ID from session or request $assignedUserId = $_SESSION['user_id'] ?? ($_GET['user_id'] ?? 1); // Default to 1 if not set // Create TaskService instance $taskService = new TaskService(); $System = new System(); // Assuming System class is correctly defined and used $SubContractorId = $_SESSION['user_id']; // Fetch all subtasks grouped by date $subtasks = $taskService->getAllSubtasksForSubContractorsGroupByDate($SubContractorId); ?> <!-- Include Bootstrap Datepicker CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" /> <div class="main-content"> <div class="container-fluid"> <div class="page-header"> <div class="row align-items-end"> <div class="col-lg-8"> <div class="page-header-title"> <i class="ik ik-layers bg-blue"></i> <div class="d-inline"> <h5>Tasks</h5> <span>Assign Tasks to Cleaner</span> </div> </div> </div> <div class="col-lg-4"> <nav class="breadcrumb-container" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="../../index.html"><i class="ik ik-home"></i></a> </li> <li class="breadcrumb-item"> <a href="#">Tasks</a> </li> <li class="breadcrumb-item active" aria-current="page">All Subtasks</li> </ol> </nav> </div> </div> </div> <!-- Date Filter and Today Checkbox --> <div class="row mb-4"> <div class="col-md-3"> <div class="form-group"> <label for="startDate">Start Date</label> <input type="text" id="startDate" class="form-control datepicker" placeholder="Select start date"> </div> </div> <div class="col-md-3"> <div class="form-group"> <label for="endDate">End Date</label> <input type="text" id="endDate" class="form-control datepicker" placeholder="Select end date"> </div> </div> <div class="col-md-3 d-flex align-items-center"> <div class="form-check"> <input type="checkbox" class="form-check-input" id="filterToday"> <label class="form-check-label" for="filterToday">Today</label> </div> </div> <div class="col-md-3 d-flex align-items-center"> <button id="applyFilter" class="btn btn-primary">Apply Filter</button> </div> </div> <div class="row mb-4"> <div class="col-md-12"> <a href="assigntasktoworkers.php" class="btn btn-outline-success"><i class="ik ik-layers"></i> Regional View</a> </div> </div> <!-- Assign tasks to cleaner button--> <div class="row mb-4"> <div class="col-md-12"> <button class="btn btn-primary" id="assignTasks">Assign Tasks to Cleaner</button> </div> </div> <?php foreach ($subtasks as $date => $subtaskList) { ?> <div class="row subtask-row" data-date="<?php echo $date; ?>"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3>Subtasks for <?php if ($date == date('Y-m-d')) { echo 'Today'; } else if ($date == date('Y-m-d', strtotime('tomorrow'))) { echo 'Tomorrow'; } else { echo date('l, F j, Y', strtotime($date)); } ?></h3> </div> <div class="card-body"> <div class="dt-responsive"> <table class="table" id="advanced_table_<?php echo strtotime($date); ?>"> <thead> <tr> <th>#</th> <th>ID</th> <th>Service Name</th> <th>Date</th> <th>Time</th> <th>Assigned</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($subtaskList as $subtask) { ?> <tr> <td> <input type="checkbox" class="select_all_child" id="selectall_<?php echo strtotime($date); ?>"> </td> <td>ST-000<?= $subtask['id']; ?></td> <td><?= $subtask['service_name']; ?></td> <td><?= $subtask['subtask_date']; ?></td> <td><?= $subtask['subtask_time'] ? date('h:i A', strtotime($subtask['subtask_time'])) : ''; ?></td> <td><?= $subtask['assigned'] ? '<span class="badge badge-success">Assigned</span>' : '<span class="badge badge-danger">Not Assigned</span>'; ?></td> <td> <a href="viewsubtask.php?id=<?= $System->encryptData($subtask['id']); ?>" class="btn btn-primary">View</a> </td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> </div> </div> <?php } ?> </div> </div> <?php include('footer.php'); ?> <!-- Include jQuery and Bootstrap Datepicker JS --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script> <script> $(document).ready(function() { // Initialize datepickers $('.datepicker').datepicker({ format: 'yyyy-mm-dd', autoclose: true, todayHighlight: true }); // Filter subtasks by date and today checkbox function filterSubtasks() { var startDate = $('#startDate').val(); var endDate = $('#endDate').val(); var filterToday = $('#filterToday').prop('checked'); var today = new Date().toISOString().split('T')[0]; $('.subtask-row').each(function() { var subtaskDate = $(this).data('date'); var showRow = true; if (filterToday && subtaskDate !== today) { showRow = false; } else if ((startDate && subtaskDate < startDate) || (endDate && subtaskDate > endDate)) { showRow = false; } if (showRow) { $(this).show(); } else { $(this).hide(); } }); } // Event listeners for date filters and today checkbox $('#applyFilter').on('click', function() { filterSubtasks(); }); // Initialize DataTables for each table $('table').each(function() { $(this).DataTable(); }); // Handle select all checkboxes for each table $(".select-all").change(function() { var tableId = $(this).attr("id").replace("selectall_", ""); $("#" + tableId + " .select_all_child").prop('checked', $(this).prop("checked")); }); }); // Assign tasks to cleaner //Swal2 pop up askin workr number $('#assignTasks').on('click', function() { // Collect checked subtasks, trimming 'ST-000' var checkedSubtasks = []; $('.select_all_child:checked').each(function() { var subtaskId = $(this).closest('tr').find('td:eq(1)').text().trim().replace('ST-000', ''); checkedSubtasks.push(subtaskId); }); if (checkedSubtasks.length === 0) { Swal.fire({ icon: 'error', title: 'No subtasks selected', text: 'Please select subtasks to assign to a cleaner' }); return; } console.log(checkedSubtasks); Swal.fire({ title: 'Enter Cleaner Email', input: 'email', inputLabel: 'Cleaner Email', inputPlaceholder: 'Enter cleaner email', showCancelButton: true, confirmButtonText: 'Assign Task', showLoaderOnConfirm: true, preConfirm: (email) => { const subtaskIds = checkedSubtasks; return fetch('../send_email_to_workers.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'bulk', // or 'single' depending on your logic worker_email: email, subtask_ids: subtaskIds }) }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { console.log('Response from PHP:', data); // Handle response data accordingly if (data.status === 'success') { Swal.fire({ title: 'Success!', text: 'Task has been assigned successfully', icon: 'success' }).then(() => location.reload()); } else { throw new Error(data.message || 'Unknown error'); } }) .catch(error => { console.error('Fetch error:', error); Swal.showValidationMessage( `Request failed: ${error.message}` ); }); }, allowOutsideClick: () => !Swal.isLoading() }); }); </script>
/home/emeraadmin/www/node_modules/raf/../object.pick/../jws/../../4d695/viewsubtasksdaywise.php.tar