Feat: Edit and Delete for admin
This commit is contained in:
@@ -58,13 +58,10 @@
|
||||
<script src="https://cdn.datatables.net/1.12.1/js/jquery.dataTables.min.js"></script> -->
|
||||
<!-- <script src="https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap5.min.js"></script> -->
|
||||
<script>
|
||||
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
// let selectedDepartment = "";
|
||||
const sheetName = "Provisional Sheet";
|
||||
// let selectedDepartment = "";
|
||||
const sheetName = "Provisional Sheet";
|
||||
|
||||
|
||||
var initAjaxRoute = function(route) {
|
||||
@@ -79,110 +76,201 @@
|
||||
// d.department = selectedDepartment;
|
||||
// }
|
||||
},
|
||||
columns: [
|
||||
{ data: 'id', name: 'id', },
|
||||
{ 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' , orderable: false},
|
||||
{ data: 'user_name', name: 'user_name', orderable: false },
|
||||
{ data: 'start_date', name: 'start_date', orderable: false },
|
||||
columns: [{
|
||||
data: 'id',
|
||||
name: 'id',
|
||||
},
|
||||
{
|
||||
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',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'user_name',
|
||||
name: 'user_name',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'start_date',
|
||||
name: 'start_date',
|
||||
orderable: false
|
||||
},
|
||||
// { data: 'start_time', name: 'start_time', orderable: false },
|
||||
{ data: 'end_date', name: 'end_date', orderable: false },
|
||||
{
|
||||
data: 'end_date',
|
||||
name: 'end_date',
|
||||
orderable: false
|
||||
},
|
||||
// { data: 'end_time', name: 'end_time', orderable: false },
|
||||
{ data: 'num_days', name: 'num_days', orderable: false },
|
||||
{ data: 'activity_type', name: 'activity_type', orderable: false },
|
||||
{ data: 'category', name: 'category', orderable: false },
|
||||
{ data: 'level', name: 'level', orderable: false },
|
||||
{ data: 'action', name: 'proof', orderable: false, searchable: false }, // View button for proof
|
||||
{
|
||||
data: 'num_days',
|
||||
name: 'num_days',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'activity_type',
|
||||
name: 'activity_type',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'category',
|
||||
name: 'category',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'level',
|
||||
name: 'level',
|
||||
orderable: false
|
||||
},
|
||||
{
|
||||
data: 'action',
|
||||
name: 'proof',
|
||||
orderable: false,
|
||||
searchable: false
|
||||
}, // View button for proof
|
||||
],
|
||||
columnDefs: [
|
||||
{
|
||||
targets: 0,
|
||||
// width: '170px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 1,
|
||||
// width: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 2,
|
||||
// maxWidth: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 3,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 4,
|
||||
// maxWidth: '300px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 5,
|
||||
// maxWidth: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 6,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 7,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 8,
|
||||
// width: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 9,
|
||||
// width: '50px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 10,
|
||||
// width: '120px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 11,
|
||||
// width: '120px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
],
|
||||
dom: 'Bfrtip',
|
||||
buttons: [
|
||||
{ extend: 'copy', title: sheetName, exportOptions: exportOptions() },
|
||||
{ extend: 'csv', title: sheetName, exportOptions: exportOptions() },
|
||||
{ extend: 'excel', title: sheetName, exportOptions: exportOptions() },
|
||||
{ extend: 'pdf', title: sheetName, exportOptions: exportOptions() },
|
||||
{ extend: 'print', title: sheetName, exportOptions: exportOptions() }
|
||||
]
|
||||
columnDefs: [{
|
||||
targets: 0,
|
||||
// width: '170px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 1,
|
||||
// width: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 2,
|
||||
// maxWidth: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 3,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 4,
|
||||
// maxWidth: '300px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 5,
|
||||
// maxWidth: '150px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 6,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 7,
|
||||
// maxWidth: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 8,
|
||||
// width: '100px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 9,
|
||||
// width: '50px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 10,
|
||||
// width: '120px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
{
|
||||
targets: 11,
|
||||
// width: '120px',
|
||||
className: 'text-center wrap-text',
|
||||
},
|
||||
],
|
||||
dom: 'Bfrtip',
|
||||
buttons: [{
|
||||
extend: 'copy',
|
||||
title: sheetName,
|
||||
exportOptions: exportOptions()
|
||||
},
|
||||
{
|
||||
extend: 'csv',
|
||||
title: sheetName,
|
||||
exportOptions: exportOptions()
|
||||
},
|
||||
{
|
||||
extend: 'excel',
|
||||
title: sheetName,
|
||||
exportOptions: exportOptions()
|
||||
},
|
||||
{
|
||||
extend: 'pdf',
|
||||
title: sheetName,
|
||||
exportOptions: exportOptions()
|
||||
},
|
||||
{
|
||||
extend: 'print',
|
||||
title: sheetName,
|
||||
exportOptions: exportOptions()
|
||||
}
|
||||
]
|
||||
// order: [[4, 'asc']],
|
||||
});
|
||||
};
|
||||
// Add this after your datatable initialization
|
||||
$('#responses-table').on('click', '.delete-btn', function() {
|
||||
if (confirm('Are you sure you want to delete this record?')) {
|
||||
const id = $(this).data('id');
|
||||
|
||||
$.ajax({
|
||||
url: `/admin/activities-attended/${id}`,
|
||||
type: 'DELETE',
|
||||
data: {
|
||||
"_token": "{{ csrf_token() }}"
|
||||
},
|
||||
success: function(result) {
|
||||
table.ajax.reload();
|
||||
alert('Record deleted successfully');
|
||||
},
|
||||
error: function(error) {
|
||||
console.error(error);
|
||||
alert('Error deleting record');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function exportOptions() {
|
||||
return {
|
||||
columns: ':visible',
|
||||
format: {
|
||||
body: function(data, row, column, node) {
|
||||
if ($(node).find('select').length) {
|
||||
return $(node).find("select option:selected").text();
|
||||
return {
|
||||
columns: ':visible',
|
||||
format: {
|
||||
body: function(data, row, column, node) {
|
||||
if ($(node).find('select').length) {
|
||||
return $(node).find("select option:selected").text();
|
||||
}
|
||||
return $(node).text();
|
||||
}
|
||||
return $(node).text();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
initAjaxRoute("{{ route('admin.ActivitiesAttendedResponses.data') }}");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user