| Current Path : /home/emeraadmin/www/4d695/ |
| Current File : /home/emeraadmin/www/4d695/viewpublictasks.php.tar |
home/emeraadmin/public_html/pages/subcontractor/viewpublictasks.php 0000644 00000022441 15170147320 0022022 0 ustar 00 <?php
// Include head.php
$pageTitle = "View Public Tasks";
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();
// Create TaskService instance
$taskService = new TaskService();
$serviceService = new ServiceService();
$services = $serviceService->getAllServicesForDropdown();
// Fetch tasks from the database
$tasks = $taskService->getPublicTasks();
?>
<div class="main-content">
<div class="container-fluid">
<!-- Your existing HTML content -->
<div class="page-header">
<!-- Your existing header -->
</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">
<div class="form-group row">
<div class="col-sm-3">
<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-3">
<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">
<label for="filter_frequency" class="col-form-label">Filter Frequency:</label>
<select class="form-control" id="filter_frequency">
<option value="">All Frequencies</option>
<option value="daily">Daily</option>
<option value="3x/week">3x/week</option>
</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>
<table id="super_advanced_table" class="table">
<thead>
<tr>
<th>ID</th>
<th>Service Name</th>
<th>Region</th>
<th>Frequency</th>
<th>Created At</th>
<th>Public Status</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($tasks as $task): ?>
<tr>
<td><?php echo 'TSK-000'.$task->id; ?></td>
<td><?php echo $task->service_name; ?></td>
<td><?php echo $task->region; ?></td>
<td><?php echo $task->frequency; ?></td>
<td><?php echo date('F j, Y, g:i a', strtotime($task->created_at)); ?></td>
<td>
<label class="badge badge-<?php echo $task->isPublic ? 'yellow' : 'green'; ?>"><?php echo $task->isPublic ? 'Public' : 'Not Public'; ?></label>
</td>
<td>
<a href="viewunassignedtask.php?id=<?php echo $System->encryptData($task->id); ?>" class="btn btn-primary">View Details</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<script>
$(document).ready(function () {
// Initialize DataTable
var table = $('#super_advanced_table').DataTable({
// Configure initial settings if needed
});
// Function to save filters to localStorage
function saveFilters() {
var filters = {
service: $('#filter_service').val(),
region: $('#filter_region').val(),
frequency: $('#filter_frequency').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');
$('#filter_frequency').val(filters.frequency).trigger('change');
// Apply more filters as needed
}
}
// Function to reset filters
function resetFilters() {
$('#filter_service').val('').trigger('keyup');
$('#filter_region').val('').trigger('change');
$('#filter_frequency').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('viewunassignedtask.php')) {
resetFilters();
} else {
applyFilters();
}
}
checkPreviousPage();
// Add custom filters
$('#filter_service').on('keyup', function () {
table.column(1).search(this.value).draw();
saveFilters();
});
$('#filter_region').on('change', function () {
table.column(2).search($(this).val()).draw();
saveFilters();
});
$('#filter_frequency').on('change', function () {
table.column(3).search($(this).val()).draw();
saveFilters();
});
// Add reset filters button functionality
$('#reset_filters').on('click', function () {
resetFilters();
});
// Apply saved filters on initial load
applyFilters();
});
</script>
</div>
</div>
</div>
</div>
</div>
<?php include('footer.php'); ?>