Ekapp/skolehjem/resources/views/admin/events/index.blade.php

306 lines
13 KiB
PHP

@extends("admin.layout.base")
@extends("admin.layout.header")
@section("title")
Aktiviteter - Vis
@endsection
@section("path")
<a href="" class="text-white">Vis Aktiviteter</a> /
@endsection
@section("content")
<?php
date_default_timezone_set('Europe/Copenhagen');
?>
<style>
.letterSpaceTable{
letter-spacing: 1.2px;
}
#table_id2_wrapper {
margin-top: 3rem;
}
</style>
<div class="row align-items-center">
@if(auth()->user()->can('event.show'))
<a class="btn btn-inline btn-sde-blue mb-0" href="{{ route('events.create') }}"><img src="{{ asset('/images/icons/plus.svg') }}" alt="Create">Opret Aktivitet</a>
<a class="btn btn-inline btn-sde-blue mb-0 ml-1" href="{{ route('multiple-events.create') }}"><img src="{{ asset('/images/icons/plus.svg') }}" alt="Create">Opret ugentligt aktivitet</a>
@endif
</div>
<table class="tbl mt-2 letterSpaceTable fixOverflow" id="table_id">
<thead>
<th>Aktivitets Navn</th>
<th>Aktivitets Ansvarlig</th>
<th>Aktivitets Dato</th>
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/eye.svg') }}" alt="Show"></th>
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/preview.svg') }}" alt="preview"></th>
@if(auth()->user()->can('event.edit'))
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/pencil.svg') }}" alt="Update"></th>
@endif
@if(auth()->user()->can('event.delete'))
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/trashcan.svg') }}" alt="Delete"></th>
@endif
</thead>
<tbody>
@foreach($events as $event)
@if (date('Y-m-d H:i', strtotime('-1 day')) < date('Y-m-d H:i', strtotime($event->date)))
<tr id="row_{{ $event->id }}">
<td>{{ $event->name }}</td>
<td>{{ $event->accountable }}</td>
<td>{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</td>
<td><a href="{{ route("events.signups", [ "event" => $event ]) }}"><img class="w-100" src="{{ asset('/images/icons/eye-dark.svg') }}" alt="Show"></a></td>
<td><a id="preview" onclick="modalEventContent({{$event->id}})" style="cursor: pointer" ><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td>
@if(auth()->user()->can('event.edit'))
<td><a href="{{ route("events.edit", [ "event" => $event ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@endif
@if(auth()->user()->can('event.delete'))
<td>
@csrf
<a class="w-100 nostyle" onclick="delete_event({{ $event->id }})"><img class="w-100 cursor-pointer" src="{{ asset('/images/icons/trashcan-dark.svg') }}" alt="Delete"></a>
</td>
@endif
</tr>
@endif
@endforeach
</tbody>
</table>
<table class="tbl mt-2 letterSpaceTable fixOverflow" id="table_id2">
<thead>
<th>Uge</th>
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/preview.svg') }}" alt="preview"></th>
@if(auth()->user()->can('event.edit'))
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/print-hvid.svg') }}" alt="Print"></th>
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/pencil.svg') }}" alt="Update"></th>
@endif
@if(auth()->user()->can('event.delete'))
<th class="w-1em"><img class="w-100" src="{{ asset('/images/icons/trashcan.svg') }}" alt="Delete"></th>
@endif
</thead>
<tbody>
@foreach(\App\MultipleEventsParent::query()->orderBY('id' , 'desc')->get() as $event)
<tr id="row2_{{ $event->id }}">
<td>{{ $event->week}}</td>
<td><a id="preview" onclick="modalMultiEventContent({{$event->id}})" style="cursor: pointer"><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td>
@if(auth()->user()->can('event.edit'))
<td><a href="{{ route("multiPdf.genPDF", [ "multiEvent" => $event ]) }}" target="_blank"><img class="w-100" src="{{ asset('/images/icons/print.svg') }}" alt="Print"></a></td>
<td><a href="#"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@endif
@if(auth()->user()->can('event.delete'))
<td>
@csrf
<a class="w-100 nostyle" onclick="delete_multievent({{ $event->id }})"><img class="w-100 cursor-pointer" src="{{ asset('/images/icons/trashcan-dark.svg') }}" alt="Delete"></a>
</td>
@endif
</tr>
@endforeach
</tbody>
</table>
<div id="eventModal" class="modal zindex-100">
<div id="modal-content" class="modal-content text-black d-block w-50">
<span class="close" onclick="closeModal()">&times;</span>
<center>
<h1 id="name"></h1>
<hr>
<strong><label for="date">Aktivitets dato</label></strong>
<p id="date"></p>
<strong><label for="accountable">Aktivitets ansvarlig</label></strong>
<p id="accountable"></p>
<hr>
<img id="eventimg">
<p id="description"></p>
</center>
</div>
</div>
<div id="eventMultiModal" class="modal zindex-100">
<div id="modal-content" class="modal-content text-black d-block w-50">
<span class="close" onclick="closeModal()">&times;</span>
<center>
<h1 id="week"></h1>
<hr>
<img id="eventmultiimg">
<p id="events"></p>
</center>
</div>
</div>
@endsection
@section('scripts')
<script>
var modalEvent = document.getElementById("eventModal");
var modalMultiEvent = document.getElementById("eventMultiModal");
function modalEventContent(id) {
$.ajax({
type: 'get',
url: '{{route('events.preview')}}',
data: {'preview':id},
success:function (data) {
modalEvent.style.display = "flex";
var l = JSON.parse(data);
$("#name").html(l.name);
$("#date").html(l.date);
$("#accountable").html(l.accountable);
$("#description").html(l.description);
console.log(l);
if (l.filename)
$("#eventimg").attr('src', l.filename);
},
error:function (data) {
console.log(data);
}
});
}
function modalMultiEventContent(id) {
$.ajax({
type: 'get',
url: '{{route('multiple-events.preview')}}',
data: {'preview':id},
dataType: 'JSON',
success:function (data) {
modalMultiEvent.style.display = "flex";
$("#week").html('Uge: '+data[0].week);
if (data[0].resource_id != null)
$("#eventmultiimg").attr('src', data[0].filename);
for (var i = 0; i < data[1].length; i++) {
$("#events").append("<div class='container text-center'><div class='row justify-content-center'><div class='col'><h1 class='mb-0'>"+data[1][i].name+"</h1>" +
"<h3 class='mt-0 mb-0'>"+data[1][i].date+" - "+data[1][i].event_end+"</h3>" +
"<h3 class='mt-0'>Tovholder: "+data[1][i].accountable+"</h3>" +
"<h3 class='mb-0'>Beskrivelse:</h3>" +
"<p class='mt-0'>"+data[1][i].description+"</p>" +
"</div>" +
"</div>" +
"</div><hr>");
}
},
error:function (data) {
console.log(data);
}
});
}
function closeModal() {
modalEvent.style.display = "none";
modalMultiEvent.style.display = "none";
$("#name").html('');
$("#date").html('');
$("#accountable").html('');
$("#description").html('');
$("#eventimg").attr('src', '');
$("#eventmultiimg").attr('src', '');
$("#week").html('');
$("#events").html('');
}
window.onmousedown = function(event) {
if (event.target == modalEvent || event.target == modalMultiEvent) {
modalEvent.style.display = "none";
modalMultiEvent.style.display = "none";
$("#name").html('');
$("#date").html('');
$("#accountable").html('');
$("#description").html('');
$("#eventimg").attr('src', '');
$("#eventmultiimg").attr('src', '');
$("#week").html('');
$("#events").html('');
}
}
</script>
<script>
$(document).ready( function () {
$('#table_id').DataTable({
columnDefs: [
{ orderable: false, targets: [-1, -2, -3, -4] }
]
});
$('#table_id2').DataTable({
columnDefs: [
{ orderable: false, targets: [-1, -2, -3, -4] }
]
});
});
function delete_event(id) {
var token = $("input[name='_token']").val();
Swal.fire({
title: 'Er du sikker?',
text: "Dette kan ikke blive ændret tilbage!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Slet Aktiviteten',
cancelButtonText: 'Annuller'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: "events/"+id,
data:{'_token':token, _method: 'DELETE'},
success: function () {
$('#table_id').DataTable().row($('#row_'+id)[0]).remove().draw();
Swal.fire(
'Aktiviteten er slettet!',
'',
'success'
)
},
error:function (data) {
console.log(data);
}
});
}
})
}
function delete_multievent(id) {
var token = $("input[name='_token']").val();
Swal.fire({
title: 'Er du sikker?',
text: "Dette kan ikke blive ændret tilbage!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Slet Ugentlig Aktivitet',
cancelButtonText: 'Annuller'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: "multiple-events/"+id,
data:{'_token':token, _method: 'DELETE'},
success: function () {
$('#table_id2').DataTable().row($('#row2_'+id)[0]).remove().draw();
Swal.fire(
'Den ugentlige aktivitet er slettet!',
'',
'success'
)
},
error:function (data) {
console.log(data);
}
});
}
})
}
</script>
@endsection