v1.5.15a - Changes by Anders

This commit is contained in:
Neerholt 2021-04-27 12:27:46 +02:00
parent e5126ae5ae
commit cb690a470d
8 changed files with 180 additions and 35 deletions

View File

@ -151,8 +151,46 @@ class MultipleEventsController extends Controller
* @param \App\MultipleEvents $multipleeventsController * @param \App\MultipleEvents $multipleeventsController
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function destroy(MultipleeventsController $multipleeventsController) public function destroy(Request $request, MultipleeventsController $multipleeventsController)
{ {
// if ($request->signup != null) { // If input signup is not empty, which has been set when you look at the individuel signup, then delete the user who have signed up for the event
$UserEvent = UserEvent::query()->where('user_id', "=", $request->signup)->where('multiple_event_id', "=", $multipleeventsController);
$UserEvent->delete();
return redirect()->route("multiple-events.signups", [ "event" => $multipleeventsController ]);
} else { // Else if you are deleting an event. Then delete all the sign ups AND the event
$userEvents = UserEvent::where('multiple_event_id', "=", $multipleeventsController)->get();
$multiparent = MultipleEventsParent::where('id', '=', $multipleeventsController)->get();
$multievent = MultipleEvents::where('multiple_events_parent_id', '=', $multiparent->id)->get();
foreach ($userEvents as $userEvent) {
$userEvent->delete();
}
foreach ($multievent as $me) {
$me->delete();
}
$news = News::query()->join('news_types', 'news_types.id', '=', 'news.type_id')->where("type", "=", "MultipleEvent")->where("arrangement_id", "=", $multipleeventsController);
$news->delete();
$multiparent->delete();
return redirect()->route("multiple-events.index");
}
}
public function previewPages(Request $request){
/*if(!Resource::find($request->preview)){
$multipleEventsParent = MultipleEventsParent::find($request->preview);
$multipleEvents = MultipleEvents::where('multiple_events_parent_id', '=', $multipleEventsParent->id)->get();
} else {*/
//$multipleEventsParent = MultipleEventsParent::find($request->preview);
$multipleEventsParent = MultipleEventsParent::leftJoin('resources', 'resources.id', '=', 'multiple_events_parent.resource_id')->where('multiple_events_parent.id', '=', $request->preview)->first();
$multipleEvents = MultipleEvents::where('multiple_events_parent_id', '=', $multipleEventsParent->id)->get();
//}
return [$multipleEventsParent, $multipleEvents];
} }
} }

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Event; use App\Event;
use App\Guide; use App\Guide;
use App\MultipleEventsParent;
use App\News; use App\News;
use App\Resource; use App\Resource;
use App\User; use App\User;
@ -24,17 +25,18 @@ class RootController extends Controller
public function index() { public function index() {
if (File::exists(public_path('uploads'))) { if (File::exists(public_path('uploads'))) {
foreach (File::allFiles(public_path('uploads')) as $file) { foreach (File::allFiles(public_path('uploads')) as $file) {
$resource = Resource::query()->where('filename', '=', '/uploads/' . $file->getFilename())->get(); $resource = Resource::where('filename', '=', '/uploads/' . $file->getFilename())->get();
if(count($resource) < 1) if(count($resource) < 1)
unlink(public_path() . '/uploads/' . $file->getFilename()); unlink(public_path() . '/uploads/' . $file->getFilename());
else { else {
$events = Event::query()->where('resource_id', '=', $resource[0]->id)->get(); $events = Event::where('resource_id', '=', $resource[0]->id)->get();
$news = News::query()->where('resource_id', '=', $resource[0]->id)->get(); $multipleevent = MultipleEventsParent::where('resource_id', '=', $resource[0]->id)->get();
$guides = Guide::query()->where('resource_id', '=', $resource[0]->id)->get(); $news = News::where('resource_id', '=', $resource[0]->id)->get();
$users = User::query()->where('resource_id', '=', $resource[0]->id)->get(); $guides = Guide::where('resource_id', '=', $resource[0]->id)->get();
$users = User::where('resource_id', '=', $resource[0]->id)->get();
if(count($events) < 1 && count($news) < 1 && count($guides) < 1 && count($users) < 1) { if(count($events) < 1 && count($news) < 1 && count($guides) < 1 && count($users) < 1 && count($multipleevent) < 1) {
$resource[0]->delete(); $resource[0]->delete();
unlink(public_path() . '/uploads/' . $file->getFilename()); unlink(public_path() . '/uploads/' . $file->getFilename());
} }

View File

@ -19,7 +19,8 @@ class CreateUserEventsTable extends Migration
$table->timestamps(); $table->timestamps();
$table->foreignid("user_id")->constrained("users", "id"); $table->foreignid("user_id")->constrained("users", "id");
$table->foreignid("event_id")->constrained("events", "id"); $table->foreignid("event_id")->nullable()->constrained("events", "id");
$table->foreignid("multiple_event_id")->nullable()->constrained("multiple_events", "id");
}); });
} }

View File

@ -48,7 +48,7 @@
<td>{{ $event->accountable }}</td> <td>{{ $event->accountable }}</td>
<td>{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</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 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="modalNewsContent({{$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>
@if(auth()->user()->can('event.edit')) @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> <td><a href="{{ route("events.edit", [ "event" => $event ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@endif @endif
@ -64,7 +64,7 @@
</tbody> </tbody>
</table> </table>
<div id="newsModal" 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()">&times;</span> <span class="close" onclick="closeModal()">&times;</span>
<center> <center>
@ -83,9 +83,9 @@
@endsection @endsection
@section('scripts') @section('scripts')
<script> <script>
var modalNews = document.getElementById("newsModal"); var modalEvent = document.getElementById("eventModal");
function modalNewsContent(id) { function modalEventContent(id) {
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: '{{route('events.preview')}}', url: '{{route('events.preview')}}',
@ -93,7 +93,6 @@
success:function (data) { success:function (data) {
modalNews.style.display = "flex"; modalNews.style.display = "flex";
var l = JSON.parse(data); var l = JSON.parse(data);
console.log(l);
$("#name").html(l.name); $("#name").html(l.name);
$("#date").html(l.date); $("#date").html(l.date);
$("#accountable").html(l.accountable); $("#accountable").html(l.accountable);
@ -101,8 +100,6 @@
if (l.filename) if (l.filename)
$("#eventimg").attr('src', l.filename); $("#eventimg").attr('src', l.filename);
}, },
error:function (data) { error:function (data) {
console.log(data); console.log(data);
@ -111,7 +108,7 @@
} }
function closeModal() { function closeModal() {
modalNews.style.display = "none"; modalEvent.style.display = "none";
$("#name").html(''); $("#name").html('');
$("#date").html(''); $("#date").html('');
@ -121,8 +118,8 @@
} }
window.onmousedown = function(event) { window.onmousedown = function(event) {
if (event.target == modalNews) { if (event.target == modalEvent) {
modalNews.style.display = "none"; modalEvent.style.display = "none";
$("#name").html(''); $("#name").html('');
$("#date").html(''); $("#date").html('');

View File

@ -40,7 +40,7 @@
<tr id="guide_row_{{ $guide->id }}" data-id="guide_category_row{{ \App\GuidesCategory::query()->where('id', '=', $guide->guide_category_id)->first()->id }}"> <tr id="guide_row_{{ $guide->id }}" data-id="guide_category_row{{ \App\GuidesCategory::query()->where('id', '=', $guide->guide_category_id)->first()->id }}">
<td>{{$guide->name}}</td> <td>{{$guide->name}}</td>
<td>{{ \App\GuidesCategory::query()->where('id', '=', $guide->guide_category_id)->first()->guidesCategoryName }}</td> <td>{{ \App\GuidesCategory::query()->where('id', '=', $guide->guide_category_id)->first()->guidesCategoryName }}</td>
<td><a id="preview" onclick="modalNewsContent({{$guide->id}})" style="cursor: pointer" ><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td> <td><a id="preview" onclick="modalGuidesContent({{$guide->id}})" style="cursor: pointer" ><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td>
@if(auth()->user()->can('guides.edit')) @if(auth()->user()->can('guides.edit'))
<td><a href="{{ route("guides.edit", [ "guide" => $guide ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td> <td><a href="{{ route("guides.edit", [ "guide" => $guide ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@endif @endif
@ -89,7 +89,7 @@
</div> </div>
<div id="newsModal" class="modal zindex-100"> <div id="guidesModal" 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()">&times;</span> <span class="close" onclick="closeModal()">&times;</span>
<center> <center>
@ -104,9 +104,9 @@
@endsection @endsection
@section('scripts') @section('scripts')
<script> <script>
var modalNews = document.getElementById("newsModal"); var modalGuides = document.getElementById("guidesModal");
function modalNewsContent(id) { function modalGuidesContent(id) {
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: '{{route('guides.preview')}}', url: '{{route('guides.preview')}}',
@ -128,15 +128,15 @@
} }
function closeModal() { function closeModal() {
modalNews.style.display = "none"; modalGuides.style.display = "none";
$("#name").html(''); $("#name").html('');
$("#guide_articles").html(''); $("#guide_articles").html('');
$("#eventimg").attr('src', ''); $("#eventimg").attr('src', '');
} }
window.onmousedown = function(event) { window.onmousedown = function(event) {
if (event.target == modalNews) { if (event.target == modalGuides) {
modalNews.style.display = "none"; modalGuides.style.display = "none";
$("#name").html(''); $("#name").html('');
$("#guide_articles").html(''); $("#guide_articles").html('');
$("#eventimg").attr('src', ''); $("#eventimg").attr('src', '');

View File

@ -38,7 +38,7 @@
@foreach($menuPlans as $menuplan) @foreach($menuPlans as $menuplan)
<tr id="row_{{ $menuplan->id }}"> <tr id="row_{{ $menuplan->id }}">
<td>{{$menuplan->week}}</td> <td>{{$menuplan->week}}</td>
<td><a id="preview" onclick="modalNewsContent({{$menuplan->id}})" style="cursor: pointer" ><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td> <td><a id="preview" onclick="modalMenuContent({{$menuplan->id}})" style="cursor: pointer" ><img class="w-100" src="{{ asset('/images/icons/preview-dark.svg') }}" alt="preview"></a></td>
<td><a href="{{ route("pdf.genPDF", [ "menuPlan" => $menuplan ]) }}" target="_blank"><img class="w-100" src="{{ asset('/images/icons/print.svg') }}" alt="Print"></a></td> <td><a href="{{ route("pdf.genPDF", [ "menuPlan" => $menuplan ]) }}" target="_blank"><img class="w-100" src="{{ asset('/images/icons/print.svg') }}" alt="Print"></a></td>
@if(auth()->user()->can('menuplan.edit')) @if(auth()->user()->can('menuplan.edit'))
<td><a href="{{ route("menu-plans.edit", [ "menu_plan" => $menuplan ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td> <td><a href="{{ route("menu-plans.edit", [ "menu_plan" => $menuplan ]) }}"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@ -54,7 +54,7 @@
</tbody> </tbody>
</table> </table>
<div id="newsModal" class="modal zindex-100"> <div id="menuModal" 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()">&times;</span> <span class="close" onclick="closeModal()">&times;</span>
<center> <center>
@ -74,9 +74,9 @@
@endsection @endsection
@section('scripts') @section('scripts')
<script> <script>
var modalNews = document.getElementById("newsModal"); var modalMenu = document.getElementById("menuModal");
function modalNewsContent(id) { function modalMenuContent(id) {
$.ajax({ $.ajax({
type: 'get', type: 'get',
url: '{{route('menuplans.preview')}}', url: '{{route('menuplans.preview')}}',
@ -97,7 +97,7 @@
} }
function closeModal() { function closeModal() {
modalNews.style.display = "none"; modalMenu.style.display = "none";
$("#week").html(''); $("#week").html('');
$("#monday").html(''); $("#monday").html('');
$("#tuesday").html(''); $("#tuesday").html('');
@ -106,8 +106,13 @@
} }
window.onmousedown = function(event) { window.onmousedown = function(event) {
if (event.target == modalNews) { if (event.target == modalMenu) {
modalNews.style.display = "none"; modalMenu.style.display = "none";
$("#week").html('');
$("#monday").html('');
$("#tuesday").html('');
$("#wednesday").html('');
$("#thursday").html('');
} }
} }
</script> </script>

View File

@ -29,7 +29,7 @@
<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>
@if(auth()->user()->can('event.edit')) @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> <td><a href="#"><img class="w-100" src="{{ asset('/images/icons/pencil-dark.svg') }}" alt="Update"></a></td>
@endif @endif
@if(auth()->user()->can('event.delete')) @if(auth()->user()->can('event.delete'))
<td> <td>
@ -38,8 +38,109 @@
</td> </td>
@endif @endif
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </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="week"></h1>
<hr>
<strong><label>Aktiviteter</label></strong>
<hr>
<img id="eventimg">
<p id="description"></p>
</center>
</div>
</div>
@endsection
@section('scripts')
<script>
var modalEvent = document.getElementById("eventModal");
function modalEventContent(id) {
$.ajax({
type: 'get',
url: '{{route('multiple-events.preview')}}',
data: {'preview':id},
dataType: 'JSON',
success:function (data) {
modalEvent.style.display = "flex";
$("#week").html(data[0].week);
if (data[0].resource_id != null)
$("#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)
$("#eventimg").attr('src', l.filename);*/
},
error:function (data) {
console.log(data);
}
});
}
function closeModal() {
modalEvent.style.display = "none";
$("#name").html('');
$("#date").html('');
$("#accountable").html('');
$("#description").html('');
$("#eventimg").attr('src', '');
}
window.onmousedown = function(event) {
if (event.target == modalEvent) {
modalEvent.style.display = "none";
$("#name").html('');
$("#date").html('');
$("#accountable").html('');
$("#description").html('');
$("#eventimg").attr('src', '');
}
}
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: "multiple-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);
}
});
}
})
}
</script>
@endsection @endsection

View File

@ -65,6 +65,7 @@ Route::get("/pdf/{menuPlan}", "MenuPlanController@genPDF")->name("pdf.genPDF")->
Route::get("/newsPreview", "NewsController@previewPages")->name("news.preview"); Route::get("/newsPreview", "NewsController@previewPages")->name("news.preview");
Route::get("/menuplanPreview", "MenuPlanController@previewPages")->name("menuplans.preview"); Route::get("/menuplanPreview", "MenuPlanController@previewPages")->name("menuplans.preview");
Route::get("/eventPreview", "EventController@previewPages")->name("events.preview"); Route::get("/eventPreview", "EventController@previewPages")->name("events.preview");
Route::get("/multipleEventPreview", "MultipleEventsController@previewPages")->name('multiple-events.preview');
Route::get("/guidePreview", "GuideController@previewPages")->name("guides.preview"); Route::get("/guidePreview", "GuideController@previewPages")->name("guides.preview");