v1.5.17 - Added multiple events to event index
This commit is contained in:
parent
e1d6bd95f5
commit
7e5c1f8dbe
|
@ -0,0 +1,3 @@
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteRule ^/((?!\.well-known)(/.*)?)$ [L]
|
||||||
|
RewriteRule ^(.*)$ public/$1 [L]
|
|
@ -289,11 +289,11 @@ class EventController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
public function previewPages(Request $request){
|
public function previewPages(Request $request){
|
||||||
if(!Resource::find($request->preview)){
|
//if(!Resource::find($request->preview)){
|
||||||
$event = Event::find($request->preview);
|
// $event = Event::find($request->preview);
|
||||||
}else{
|
//}else{
|
||||||
$event = Event::where('events.id', '=', $request->preview)->join('resources', 'resources.id', '=', 'events.resource_id')->first();
|
$event = Event::where('events.id', '=', $request->preview)->leftJoin('resources', 'resources.id', '=', 'events.resource_id')->first();
|
||||||
}
|
//}
|
||||||
$convertToJsonArray = json_encode($event);
|
$convertToJsonArray = json_encode($event);
|
||||||
return $convertToJsonArray;
|
return $convertToJsonArray;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,8 +33,7 @@ class MultipleEventsController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$multiEvents = MultipleEventsParent::query()->orderBY('id' , 'desc')->get();
|
//
|
||||||
return Response::detect("multiple-events.index", [ "multiEvents" => $multiEvents]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,7 +64,6 @@ class MultipleEventsController extends Controller
|
||||||
"name.*" => "max:255",
|
"name.*" => "max:255",
|
||||||
"description.*" => "max:255",
|
"description.*" => "max:255",
|
||||||
"accountable.*" => "max:255",
|
"accountable.*" => "max:255",
|
||||||
"date.*" => "max:255"
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$multipleParent = new MultipleEventsParent();
|
$multipleParent = new MultipleEventsParent();
|
||||||
|
@ -86,7 +84,7 @@ class MultipleEventsController extends Controller
|
||||||
$multi_event->description = $requestBody['description'][$i];
|
$multi_event->description = $requestBody['description'][$i];
|
||||||
$multi_event->accountable = $requestBody['accountable'][$i];
|
$multi_event->accountable = $requestBody['accountable'][$i];
|
||||||
$multi_event->name = $requestBody['name'][$i];
|
$multi_event->name = $requestBody['name'][$i];
|
||||||
$multi_event->event_end = "2021-27-04 16:00:00";
|
$multi_event->event_end = "2021-04-04 16:00:00";
|
||||||
$multi_event->multiple_events_parent_id = $multipleParent->id;
|
$multi_event->multiple_events_parent_id = $multipleParent->id;
|
||||||
$multi_event->save();
|
$multi_event->save();
|
||||||
}
|
}
|
||||||
|
@ -107,7 +105,7 @@ class MultipleEventsController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('multiple-events.index', ['multiEvents' => $multiEvents]);
|
return redirect()->route('events.index');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
.letterSpaceTable{
|
.letterSpaceTable{
|
||||||
letter-spacing: 1.2px;
|
letter-spacing: 1.2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#table_id2_wrapper {
|
||||||
|
margin-top: 3rem;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="row align-items-center">
|
<div class="row align-items-center">
|
||||||
|
@ -64,6 +68,36 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</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/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="#"><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="eventModal" class="modal zindex-100">
|
||||||
<div id="modal-content" class="modal-content text-black d-block w-50">
|
<div id="modal-content" class="modal-content text-black d-block w-50">
|
||||||
<span class="close" onclick="closeModal()">×</span>
|
<span class="close" onclick="closeModal()">×</span>
|
||||||
|
@ -80,10 +114,23 @@
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
</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()">×</span>
|
||||||
|
<center>
|
||||||
|
<h1 id="week"></h1>
|
||||||
|
<hr>
|
||||||
|
<img id="eventmultiimg">
|
||||||
|
<p id="events"></p>
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
@section('scripts')
|
@section('scripts')
|
||||||
<script>
|
<script>
|
||||||
var modalEvent = document.getElementById("eventModal");
|
var modalEvent = document.getElementById("eventModal");
|
||||||
|
var modalMultiEvent = document.getElementById("eventMultiModal");
|
||||||
|
|
||||||
function modalEventContent(id) {
|
function modalEventContent(id) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
@ -91,13 +138,15 @@
|
||||||
url: '{{route('events.preview')}}',
|
url: '{{route('events.preview')}}',
|
||||||
data: {'preview':id},
|
data: {'preview':id},
|
||||||
success:function (data) {
|
success:function (data) {
|
||||||
modalNews.style.display = "flex";
|
modalEvent.style.display = "flex";
|
||||||
var l = JSON.parse(data);
|
var l = JSON.parse(data);
|
||||||
$("#name").html(l.name);
|
$("#name").html(l.name);
|
||||||
$("#date").html(l.date);
|
$("#date").html(l.date);
|
||||||
$("#accountable").html(l.accountable);
|
$("#accountable").html(l.accountable);
|
||||||
$("#description").html(l.description);
|
$("#description").html(l.description);
|
||||||
|
|
||||||
|
console.log(l);
|
||||||
|
|
||||||
if (l.filename)
|
if (l.filename)
|
||||||
$("#eventimg").attr('src', l.filename);
|
$("#eventimg").attr('src', l.filename);
|
||||||
},
|
},
|
||||||
|
@ -107,25 +156,62 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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() {
|
function closeModal() {
|
||||||
modalEvent.style.display = "none";
|
modalEvent.style.display = "none";
|
||||||
|
modalMultiEvent.style.display = "none";
|
||||||
|
|
||||||
$("#name").html('');
|
$("#name").html('');
|
||||||
$("#date").html('');
|
$("#date").html('');
|
||||||
$("#accountable").html('');
|
$("#accountable").html('');
|
||||||
$("#description").html('');
|
$("#description").html('');
|
||||||
$("#eventimg").attr('src', '');
|
$("#eventimg").attr('src', '');
|
||||||
|
$("#eventmultiimg").attr('src', '');
|
||||||
|
$("#week").html('');
|
||||||
|
$("#events").html('');
|
||||||
}
|
}
|
||||||
|
|
||||||
window.onmousedown = function(event) {
|
window.onmousedown = function(event) {
|
||||||
if (event.target == modalEvent) {
|
if (event.target == modalEvent || event.target == modalMultiEvent) {
|
||||||
modalEvent.style.display = "none";
|
modalEvent.style.display = "none";
|
||||||
|
modalMultiEvent.style.display = "none";
|
||||||
|
|
||||||
$("#name").html('');
|
$("#name").html('');
|
||||||
$("#date").html('');
|
$("#date").html('');
|
||||||
$("#accountable").html('');
|
$("#accountable").html('');
|
||||||
$("#description").html('');
|
$("#description").html('');
|
||||||
$("#eventimg").attr('src', '');
|
$("#eventimg").attr('src', '');
|
||||||
|
$("#eventmultiimg").attr('src', '');
|
||||||
|
$("#week").html('');
|
||||||
|
$("#events").html('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -136,6 +222,12 @@
|
||||||
{ orderable: false, targets: [-1, -2, -3, -4] }
|
{ orderable: false, targets: [-1, -2, -3, -4] }
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#table_id2').DataTable({
|
||||||
|
columnDefs: [
|
||||||
|
{ orderable: false, targets: [-1, -2, -3, -4] }
|
||||||
|
]
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function delete_event(id) {
|
function delete_event(id) {
|
||||||
|
@ -172,5 +264,40 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
@ -53,28 +53,28 @@
|
||||||
<td><input type="text" name="name[]" max="255" value="{{ old("name.0") }}"></td>
|
<td><input type="text" name="name[]" max="255" value="{{ old("name.0") }}"></td>
|
||||||
<td><input type="text" name="description[]" max="255" value="{{ old("description.0") }}"></td>
|
<td><input type="text" name="description[]" max="255" value="{{ old("description.0") }}"></td>
|
||||||
<td><input type="text" name="accountable[]" value="{{ old("accountable.0") }}"></td>
|
<td><input type="text" name="accountable[]" value="{{ old("accountable.0") }}"></td>
|
||||||
<td><input type="text" name="date[]" value="{{ old("date.0") }}"></td>
|
<td><input type="datetime-local" name="date[]" value="{{ old("date.0") }}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Tirsdag</td>
|
<td>Tirsdag</td>
|
||||||
<td><input type="text" name="name[]" max="255" value="{{ old("name.1") }}"></td>
|
<td><input type="text" name="name[]" max="255" value="{{ old("name.1") }}"></td>
|
||||||
<td><input type="text" name="description[]" max="255" value="{{ old("description.1") }}"></td>
|
<td><input type="text" name="description[]" max="255" value="{{ old("description.1") }}"></td>
|
||||||
<td><input type="text" name="accountable[]" value="{{ old("accountable.1") }}"></td>
|
<td><input type="text" name="accountable[]" value="{{ old("accountable.1") }}"></td>
|
||||||
<td><input type="text" name="date[]" value="{{ old("date.1") }}"></td>
|
<td><input type="datetime-local" name="date[]" value="{{ old("date.1") }}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Onsdag</td>
|
<td>Onsdag</td>
|
||||||
<td><input type="text" name="name[]" max="255" value="{{ old("name.2") }}"></td>
|
<td><input type="text" name="name[]" max="255" value="{{ old("name.2") }}"></td>
|
||||||
<td><input type="text" name="description[]" max="255" value="{{ old("description.2") }}"></td>
|
<td><input type="text" name="description[]" max="255" value="{{ old("description.2") }}"></td>
|
||||||
<td><input type="text" name="accountable[]" value="{{ old("accountable.2") }}"></td>
|
<td><input type="text" name="accountable[]" value="{{ old("accountable.2") }}"></td>
|
||||||
<td><input type="text" name="date[]" value="{{ old("date.2") }}"></td>
|
<td><input type="datetime-local" name="date[]" value="{{ old("date.2") }}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Torsdag</td>
|
<td>Torsdag</td>
|
||||||
<td><input type="text" name="name[]" max="255" value="{{ old("name.3") }}"></td>
|
<td><input type="text" name="name[]" max="255" value="{{ old("name.3") }}"></td>
|
||||||
<td><input type="text" name="description[]" max="255" value="{{ old("description.3") }}"></td>
|
<td><input type="text" name="description[]" max="255" value="{{ old("description.3") }}"></td>
|
||||||
<td><input type="text" name="accountable[]" value="{{ old("accountable.3") }}"></td>
|
<td><input type="text" name="accountable[]" value="{{ old("accountable.3") }}"></td>
|
||||||
<td><input type="text" name="date[]" value="{{ old("date.3") }}"></td>
|
<td><input type="datetime-local" name="date[]" value="{{ old("date.3") }}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($multiEvents as $event)
|
@foreach($multiEvents as $event)
|
||||||
|
|
||||||
<tr id="row_{{ $event->id }}">
|
<tr id="row_{{ $event->id }}">
|
||||||
<td>{{ $event->week}}</td>
|
<td>{{ $event->week}}</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>
|
<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>
|
||||||
|
@ -48,10 +47,8 @@
|
||||||
<center>
|
<center>
|
||||||
<h1 id="week"></h1>
|
<h1 id="week"></h1>
|
||||||
<hr>
|
<hr>
|
||||||
<strong><label>Aktiviteter</label></strong>
|
|
||||||
<hr>
|
|
||||||
<img id="eventimg">
|
<img id="eventimg">
|
||||||
<p id="description"></p>
|
<p id="events"></p>
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -68,17 +65,20 @@
|
||||||
dataType: 'JSON',
|
dataType: 'JSON',
|
||||||
success:function (data) {
|
success:function (data) {
|
||||||
modalEvent.style.display = "flex";
|
modalEvent.style.display = "flex";
|
||||||
$("#week").html(data[0].week);
|
$("#week").html('Uge: '+data[0].week);
|
||||||
if (data[0].resource_id != null)
|
if (data[0].resource_id != null)
|
||||||
$("#eventimg").attr('src', data[0].filename);
|
$("#eventimg").attr('src', data[0].filename);
|
||||||
/*var l = JSON.parse(data);
|
|
||||||
$("#name").html(l.name);
|
|
||||||
$("#date").html(l.date);
|
|
||||||
$("#accountable").html(l.accountable);
|
|
||||||
$("#description").html(l.description);
|
|
||||||
|
|
||||||
if (l.filename)
|
for (var i = 0; i < data[1].length; i++) {
|
||||||
$("#eventimg").attr('src', l.filename);*/
|
$("#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) {
|
error:function (data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
@ -89,22 +89,18 @@
|
||||||
function closeModal() {
|
function closeModal() {
|
||||||
modalEvent.style.display = "none";
|
modalEvent.style.display = "none";
|
||||||
|
|
||||||
$("#name").html('');
|
$("#week").html('');
|
||||||
$("#date").html('');
|
|
||||||
$("#accountable").html('');
|
|
||||||
$("#description").html('');
|
|
||||||
$("#eventimg").attr('src', '');
|
$("#eventimg").attr('src', '');
|
||||||
|
$("#events").html('');
|
||||||
}
|
}
|
||||||
|
|
||||||
window.onmousedown = function(event) {
|
window.onmousedown = function(event) {
|
||||||
if (event.target == modalEvent) {
|
if (event.target == modalEvent) {
|
||||||
modalEvent.style.display = "none";
|
modalEvent.style.display = "none";
|
||||||
|
|
||||||
$("#name").html('');
|
$("#week").html('');
|
||||||
$("#date").html('');
|
|
||||||
$("#accountable").html('');
|
|
||||||
$("#description").html('');
|
|
||||||
$("#eventimg").attr('src', '');
|
$("#eventimg").attr('src', '');
|
||||||
|
$("#events").html('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue