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
/
4d695
/
..
/
ALFA_DATA
/
..
/
src
/
..
/
4d695
/
assigntasktoworkers.php.tar
/
/
home/emeraadmin/public_html/pages/subcontractor/assigntasktoworkers.php000064400000033743151701470370022746 0ustar00<?php include('head.php'); require_once '../../Classes/Database.php'; require_once '../../Service/TaskService.php'; require_once '../../Classes/System.php'; require_once '../../Service/ServiceService.php'; $System = new System(); $serviceService = new ServiceService(); $taskService = new TaskService(); // Fetch services for dropdown $services = $serviceService->getAllServicesForDropdown(); // Fetch tasks to display $tasks = $taskService->getTasksByAssignedandnotCompletedAndNotAssigned($companyId); // Make sure $companyId is defined ?> <div class="main-content"> <div class="container-fluid"> <!-- Page header --> <div class="page-header"> <!-- Breadcrumbs --> <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 a 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">View Assigned Tasks</li> </ol> </nav> </div> </div> </div> <!-- Task viewing section --> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header"><h3>View Tasks</h3></div> <div class="card-body"> <!-- Filter options --> <div class="form-group row"> <div class="col-sm-4"> <label for="filter_service" class="col-form-label">Filter Service Name:</label> <input type="text" class="form-control" id="filter_service"> </div> <div class="col-sm-4"> <label for="filter_region" class="col-form-label">Filter Region:</label> <select class="form-control" id="filter_region"> <option value="">All Regions</option> <?php // Collect unique regions $uniqueRegions = []; foreach ($services as $service) { if (!in_array($service->region, $uniqueRegions)) { $uniqueRegions[] = $service->region; ?> <option value="<?= htmlspecialchars($service->region) ?>"><?= htmlspecialchars($service->region) ?></option> <?php } } ?> </select> </div> <div class="col-sm-3"> <button type="button" id="reset_filters" class="btn btn-icon btn-outline-danger"><i class="ik ik-refresh-cw"></i></button> </div> </div> <!-- Task table --> <table id="super_advanced_table" class="table"> <thead> <tr> <th><input type="checkbox" id="select_all_tasks"></th> <th>ID</th> <th>Service Name</th> <th>Region</th> <th>Frequency</th> <th>Created At</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($tasks as $task): ?> <tr> <td><input type="checkbox" class="task_checkbox" value="<?= htmlspecialchars($task->id) ?>"></td> <td><?php echo 'TSK-000' . htmlspecialchars($task->id); ?></td> <td><?php echo htmlspecialchars($task->service_name); ?></td> <td><?php echo htmlspecialchars($task->region); ?></td> <td><?php echo htmlspecialchars($task->frequency); ?></td> <td><?php echo date('F j, Y, g:i a', strtotime($task->created_at)); ?></td> <td> <a href="viewtask.php?id=<?= htmlspecialchars($System->encryptData($task->id)) ?>" class="btn btn-primary">View Details</a> </td> </tr> <?php endforeach; ?> </tbody> </table> <!-- Assign tasks button --> <button class="btn btn-primary" id="assignTasks">Assign Tasks to Cleaner</button> </div> <!-- JavaScript for DataTable and actions --> <script> $(document).ready(function () { // Initialize DataTable var table = $('#super_advanced_table').DataTable(); // Function to save filters to localStorage function saveFilters() { var filters = { service: $('#filter_service').val(), region: $('#filter_region').val() // Add more filters as needed }; localStorage.setItem('advancedTableFilters', JSON.stringify(filters)); } // Function to apply saved filters function applyFilters() { var filters = JSON.parse(localStorage.getItem('advancedTableFilters')); if (filters) { $('#filter_service').val(filters.service).trigger('keyup'); $('#filter_region').val(filters.region).trigger('change'); // Apply more filters as needed } } // Function to reset filters function resetFilters() { $('#filter_service').val('').trigger('keyup'); $('#filter_region').val('').trigger('change'); // Remove more filters as needed localStorage.removeItem('advancedTableFilters'); table.search('').columns().search('').draw(); } // Check previous page and apply filters if necessary function checkPreviousPage() { var previousUrl = sessionStorage.getItem('previousUrl'); if (!previousUrl || !previousUrl.includes('viewtask.php')) { resetFilters(); } else { applyFilters(); } } checkPreviousPage(); // Add custom filters $('#filter_service').on('keyup', function () { table.column(2).search(this.value).draw(); saveFilters(); }); $('#filter_region').on('change', function () { table.column(3).search($(this).val()).draw(); saveFilters(); }); // Handle select all tasks $('#select_all_tasks').on('click', function () { var isChecked = $(this).prop('checked'); $('.task_checkbox').prop('checked', isChecked); }); // Add reset filters button functionality $('#reset_filters').on('click', function () { resetFilters(); }); // Apply saved filters on initial load applyFilters(); }); </script> <script> $(document).ready(function() { // Handle assign tasks button click $('#assignTasks').on('click', function() { var checkedTasks = []; $('.task_checkbox:checked').each(function() { var taskId = $(this).closest('tr').find('td:eq(1)').text().trim().replace('TSK-000', ''); checkedTasks.push(taskId); }); if (checkedTasks.length === 0) { Swal.fire({ icon: 'error', title: 'No Tasks selected', text: 'Please select tasks to assign to a cleaner' }); return; } Swal.fire({ title: 'Enter Cleaner Email', input: 'email', inputLabel: 'Cleaner Email', inputPlaceholder: 'Enter cleaner email', showCancelButton: true, confirmButtonText: 'Assign Task', showLoaderOnConfirm: true, preConfirm: (email) => { return fetch('../send_task_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, task_ids: checkedTasks }) }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { console.log('Response from PHP:', data); 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> </div> </div> </div> </div> </div> <?php include('footer.php'); ?>
/home/emeraadmin/www/4d695/../ALFA_DATA/../src/../4d695/assigntasktoworkers.php.tar