All pages updated with all features including filters

This commit is contained in:
tanmaychinchore
2025-10-08 20:08:52 +05:30
parent e07ac3f604
commit 8fe0ef8112
20 changed files with 3194 additions and 175 deletions

View File

@@ -7,7 +7,7 @@
<div class="card shadow-sm">
<div class="card-header d-flex justify-content-between align-items-center">
<h3 class="page-title m-0">
<i class="fas fa-list-alt me-2 text-danger"></i>All Responses
<i class="fas fa-list-alt me-2 text-danger"></i>All Activities Attended
</h3>
<x-send-email />
@@ -18,12 +18,22 @@
<div class="col-md-4">
<div class="input-group">
<span class="input-group-text bg-light">Department</span>
<select id="department-filter" class="form-select">
<option value="">All Departments</option>
@foreach($departments as $department)
<option value="{{ $department->id }}">{{ $department->name }}</option>
@endforeach
</select>
@if(auth()->user()->role_id == 1)
{{-- Admin: can choose any department --}}
<select id="department-filter" class="form-select">
<option value="">All Departments</option>
@foreach($departments as $department)
<option value="{{ $department->id }}">{{ $department->name }}</option>
@endforeach
</select>
@else
{{-- Coordinator/Faculty: department is fixed --}}
<select id="department-filter" class="form-select" disabled>
<option value="{{ auth()->user()->department_id }}">
{{ auth()->user()->department->name }}
</option>
</select>
@endif
</div>
</div>
@@ -150,7 +160,7 @@
});
}
const sheetName = "Responses Report";
const sheetName = "Activities Attended Report";
let table; // Declare table variable in the outer scope
function exportOptions() {
@@ -206,83 +216,29 @@
d.dateTo = $('#date-to').val();
}
},
columns: [{
columns: [
{
data: null,
defaultContent: '',
orderable: false,
searchable: false
},
{
data: 'id',
name: 'id',
searchable: false
},
{
data: 'title',
name: 'title',
orderable: false
},
{
data: 'organising_institute',
name: 'organising_institute',
orderable: false
},
{
data: 'address',
name: 'address',
orderable: false
},
{
data: 'department_name',
name: 'department_name',
orderable: false,
searchable: false
},
{
data: 'user_name',
name: 'user_name',
orderable: false
},
{
data: 'start_date',
name: 'start_date',
orderable: false
},
{
data: 'end_date',
name: 'end_date',
orderable: false
},
{
data: 'num_days',
name: 'num_days',
orderable: false
},
{
data: 'activity_type',
name: 'activity_type',
orderable: false
},
{
data: 'category',
name: 'category',
orderable: false,
searchable: false
},
{
data: 'level',
name: 'level',
orderable: false
},
{
data: 'action',
name: 'proof',
orderable: false,
searchable: false
}
{ data: 'id', name: 'id', searchable: false },
{ data: 'title', name: 'title', orderable: false },
{ data: 'organising_institute', name: 'organising_institute', orderable: false },
{ data: 'address', name: 'address', orderable: false },
{ data: 'department_name', name: 'department_name', orderable: false, searchable: false },
{ data: 'user_name', name: 'user_name', orderable: false },
{ data: 'start_date', name: 'start_date', orderable: false },
{ data: 'end_date', name: 'end_date', orderable: false },
{ data: 'num_days', name: 'num_days', orderable: false },
{ data: 'activity_type', name: 'activity_type', orderable: false },
{ data: 'category', name: 'category', orderable: false, searchable: false },
{ data: 'level', name: 'level', orderable: false },
{ data: 'action', name: 'proof', orderable: false, searchable: false }
],
columnDefs: [{
columnDefs: [
{
targets: 0,
orderable: false,
className: 'select-checkbox',
@@ -306,7 +262,8 @@
}
],
dom: '<"d-flex justify-content-between align-items-center mb-3"<"d-flex align-items-center"l><"d-flex"f<"ms-2"B>>>rtip',
buttons: [{
buttons: [
{
extend: 'copy',
text: '<i class="fas fa-copy me-1"></i> Copy',
className: 'btn btn-sm btn-outline-white',
@@ -486,13 +443,13 @@
toastEl.setAttribute('aria-atomic', 'true');
toastEl.innerHTML = `
<div class="d-flex">
<div class="toast-body">
${message}
<div class="d-flex">
<div class="toast-body">
${message}
</div>
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
`;
`;
toastContainer.appendChild(toastEl);
document.body.appendChild(toastContainer);