v1.4.10 - Event, Guide & Menuplan pictures can now be updated and changed correctly (Menuplan is determined when creating, can't change picture later)

There is no longer a second news, when updating an event or such

Added Select2 when chosing roles for users

Removed guide button
This commit is contained in:
Anders 2020-11-26 15:22:59 +01:00
parent baaf0f954d
commit 3bf8329434
11 changed files with 71 additions and 28 deletions

View File

@ -172,6 +172,7 @@ class EventController extends Controller
*/ */
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
$data = $request->all(); $data = $request->all();
$event = Event::find($id); $event = Event::find($id);
@ -182,6 +183,11 @@ class EventController extends Controller
return redirect()->route("events.index", ['events' => $event]); return redirect()->route("events.index", ['events' => $event]);
}else{ }else{
$event->update($data); $event->update($data);
if($request->file("resource")) {
$event->resource_id = ResourceController::store($request)->id;
}
$event->save(); $event->save();
$events = Event::query()->get(); $events = Event::query()->get();
@ -196,9 +202,6 @@ class EventController extends Controller
$news->resource_id = $event->resource_id; $news->resource_id = $event->resource_id;
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)); $news->content = "<p>" . $this->closetags(substr($event->description, 0, 300));
if($request->file("resource")) {
$event->resource_id = ResourceController::store($request)->id;
}
NewsController::storeAndGet($news); NewsController::storeAndGet($news);

View File

@ -126,14 +126,16 @@ class GuideController extends Controller
*/ */
public function update(Request $request, Guide $guide) public function update(Request $request, Guide $guide)
{ {
$data = $request->validate([ $data = $request->all();
"name" => "required|max:255",
"guide_articles" => "required",
"guide_category_id" => "required",
]);
$guidee = Guide::query()->where("id", "=", $guide->id)->first(); $guidee = Guide::query()->where("id", "=", $guide->id)->first();
$guidee->update($data); $guidee->update($data);
//If an image has been uploaded, store the file
if($request->file("resource")) {
$guidee->resource_id = ResourceController::store($request)->id;
}
$saved = $guidee->save(); $saved = $guidee->save();
if(!$saved){ if(!$saved){

View File

@ -76,8 +76,6 @@ class MenuPlanController extends Controller
$menuPlan->save(); $menuPlan->save();
$menuPlans = MenuPlan::query()->get(); $menuPlans = MenuPlan::query()->get();
$menuArray = [];
if($request->newsoption == true){ if($request->newsoption == true){
$news = new News(); $news = new News();
@ -177,6 +175,10 @@ class MenuPlanController extends Controller
'<h2 class="ql-align-center"><strong>Torsdag:</strong></h2>'. '<h2 class="ql-align-center"><strong>Torsdag:</strong></h2>'.
'<p class="ql-align-center">'.$menuplan->thursday.'</p>'; '<p class="ql-align-center">'.$menuplan->thursday.'</p>';
$oldResourceID = News::query()->where('arrangement_id', '=', $menuplan->id)->first();
if ($oldResourceID != null)
$news->resource_id = $oldResourceID->resource_id;
NewsController::storeAndGet($news); NewsController::storeAndGet($news);
} }

View File

@ -84,6 +84,10 @@ class NewsController extends Controller
*/ */
public static function storeAndGet(News $news) public static function storeAndGet(News $news)
{ {
$OldNews = News::query()->where('arrangement_id', "=", $news->arrangement_id);
$OldNews->delete();
$news->save(); $news->save();
Helpers::sendNewsNotification($news, User::query()->where("wants_emails", "=", true)->get()); Helpers::sendNewsNotification($news, User::query()->where("wants_emails", "=", true)->get());

View File

@ -24,7 +24,7 @@
</style> </style>
<link href="{{ asset("/css/quill/quill.snow.css") }}" rel="stylesheet"> <link href="{{ asset("/css/quill/quill.snow.css") }}" rel="stylesheet">
<h1>Rediger Aktivitet:</h1> <h1>Rediger Aktivitet:</h1>
<form method="post" action="{{route("events.update", ["event" => $event])}}"> <form method="post" action="{{route("events.update", ["event" => $event])}}" enctype="multipart/form-data">
@csrf @csrf
@method("PUT") @method("PUT")
<label for="name">Aktivitet Navn:</label> <label for="name">Aktivitet Navn:</label>
@ -43,7 +43,7 @@
<label class="toggle"> <label class="toggle">
<input class="toggle__input" type="checkbox" name="newsoption"> <input class="toggle__input" type="checkbox" name="newsoption">
<span class="toggle__label"> <span class="toggle__label">
<span class="toggle__text">Opret som nyhed</span> <span class="toggle__text">Opdater / Opret som nyhed?</span>
</span> </span>
</label> </label>
<input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger"> <input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger">

View File

@ -24,7 +24,7 @@
</style> </style>
<link href="{{ asset("/css/quill/quill.snow.css") }}" rel="stylesheet"> <link href="{{ asset("/css/quill/quill.snow.css") }}" rel="stylesheet">
<h1>Rediger vejledning:</h1> <h1>Rediger vejledning:</h1>
<form method="post" action="{{route("guides.update", ["guide" => $guide])}}"> <form method="post" action="{{route("guides.update", ["guide" => $guide])}}" enctype="multipart/form-data">
@csrf @csrf
@method("PUT") @method("PUT")
<label for="title">Navn</label> <label for="title">Navn</label>
@ -52,7 +52,7 @@
<label class="toggle"> <label class="toggle">
<input class="toggle__input" type="checkbox" name="newsoption"> <input class="toggle__input" type="checkbox" name="newsoption">
<span class="toggle__label"> <span class="toggle__label">
<span class="toggle__text">Opret som nyhed</span> <span class="toggle__text">Opdater / Opret som nyhed?</span>
</span> </span>
</label> </label>
<input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger"> <input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger">

View File

@ -40,7 +40,7 @@
<label class="toggle"> <label class="toggle">
<input class="toggle__input" type="checkbox" name="newsoption"> <input class="toggle__input" type="checkbox" name="newsoption">
<span class="toggle__label"> <span class="toggle__label">
<span class="toggle__text">Opret som nyhed</span> <span class="toggle__text">Opdater / Opret som nyhed?</span>
</span> </span>
</label> </label>
<input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger Menuplan"> <input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger Menuplan">

View File

@ -23,9 +23,9 @@
<label for="title">Navn</label> <label for="title">Navn</label>
<label hidden id="error" for="errormesseages">Dette navn findes allerede</label> <label hidden id="error" for="errormesseages">Dette navn findes allerede</label>
<input value="{{$news->subname}}" type="text" name="subname" id="title" required> <input value="{{$news->subname}}" type="text" name="subname" id="title" required>
<small class="form-text text-muted">For at kunne indsætte et link, skal du markere den text du vil lave som et link først.</small>
<label for="date">Rediger datoen til når nyheden skal slettes (Hvis nyheden ikke skal slettes efter en bestemt dato, slet ALT i dato felete, det er tomt!)</label> <label for="date">Rediger datoen til når nyheden skal slettes (Hvis nyheden ikke skal slettes efter en bestemt dato, slet ALT i dato felete, det er tomt!)</label>
<input type="datetime-local" value="{{$news->news_expiration_date}}" name="news_expiration_date" id="date"> <input type="datetime-local" value="{{$news->news_expiration_date}}" name="news_expiration_date" id="date">
<small class="form-text text-muted">For at kunne indsætte et link, skal du markere den text du vil lave som et link først.</small>
<div id="editor">{!! $news->content !!}</div> <div id="editor">{!! $news->content !!}</div>
<textarea name="content" class="d-none" id="hiddenArea"></textarea> <textarea name="content" class="d-none" id="hiddenArea"></textarea>
<input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger"> <input id="disable" type="submit" class="btn btn-dark text-white" value="Rediger">

View File

@ -10,7 +10,24 @@
@endsection @endsection
@section("content") @section("content")
<style>
.select2-container--default .select2-results > .select2-results__options {
max-height: 120px !important;
}
.select2-results__option, .select2-search__field {
color: black;
}
</style>
<script src="toast.js"></script> <script src="toast.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>
<script>
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});
</script>
<h1 id="errormesseages" >Opret Bruger:</h1> <h1 id="errormesseages" >Opret Bruger:</h1>
<form method="post" action="{{ route("users.store") }}" onsubmit="return checkInputs()" enctype="multipart/form-data"> <form method="post" action="{{ route("users.store") }}" onsubmit="return checkInputs()" enctype="multipart/form-data">
@csrf @csrf
@ -36,12 +53,12 @@
<label hidden id="errorphone">Der findes allerede en bruger med dette telefon nr!</label> <label hidden id="errorphone">Der findes allerede en bruger med dette telefon nr!</label>
<input type="tel" name="phone" id="phone" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required> <input type="tel" name="phone" id="phone" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required>
<label for="roles">Rolle:</label> <label for="roles">Rolle:</label>
<select name="roles[]" id="roles" class="mb-2" multiple="multiple" required> <select id="roles" class="js-example-basic-multiple mb-2" name="roles[]" multiple="multiple" required>
<option disabled selected value> -- Vælg Rolle(r) -- </option> <optgroup label="Roller">
<option value="">Ingen Rolle</option> @foreach($roles as $role)
@foreach($roles as $role) <option value="{{ $role->name }}">{{ $role->name }}</option>
<option value="{{ $role->name }}">{{ $role->name }}</option> @endforeach
@endforeach </optgroup>
</select> </select>
<label for="fileuploade">Skift brugerens profile billede:</label> <label for="fileuploade">Skift brugerens profile billede:</label>
<input id="fileuploade" type="file" name="resource" accept="image/*"> <input id="fileuploade" type="file" name="resource" accept="image/*">

View File

@ -10,6 +10,23 @@
@endsection @endsection
@section("content") @section("content")
<style>
.select2-container--default .select2-results > .select2-results__options {
max-height: 120px !important;
}
.select2-results__option, .select2-search__field {
color: black;
}
</style>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>
<script>
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});
</script>
<h1>Rediger Bruger:</h1> <h1>Rediger Bruger:</h1>
<form method="post" action="{{ route("users.update", ['user' => $user]) }}" onsubmit="return checkInputs()" enctype="multipart/form-data"> <form method="post" action="{{ route("users.update", ['user' => $user]) }}" onsubmit="return checkInputs()" enctype="multipart/form-data">
@csrf @csrf
@ -36,16 +53,14 @@
<label hidden id="errorphone">Der findes allerede en bruger med dette telefon nr!</label> <label hidden id="errorphone">Der findes allerede en bruger med dette telefon nr!</label>
<input type="tel" name="phone" id="phone" value="{{ $user->phone }}" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required> <input type="tel" name="phone" id="phone" value="{{ $user->phone }}" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required>
<label for="role">Rolle: (Brug ctrl og shift til at vælge flere)</label> <label for="role">Rolle: (Brug ctrl og shift til at vælge flere)</label>
<select class="w-100" name="roles[]" id="roles" class="mb-2" multiple="multiple" required>
<select id="roles" class="js-example-basic-multiple mb-2" name="roles[]" multiple="multiple" required>
<optgroup label="Roller">
@if(count($user->roles) == 0) @if(count($user->roles) == 0)
<option disabled selected> -- Vælg Rolle(r) -- </option>
<option value>Ingen Rolle</option>
@foreach($roles as $role) @foreach($roles as $role)
<option value="{{ $role->name }}">{{ $role->name }}</option> <option value="{{ $role->name }}">{{ $role->name }}</option>
@endforeach @endforeach
@else @else
<option disabled> -- Vælg Rolle(r) -- </option>
<option value>Ingen Rolle</option>
@foreach($roles as $role) @foreach($roles as $role)
{{ $selected = "" }} {{ $selected = "" }}
@foreach($user->roles as $userRole) @foreach($user->roles as $userRole)
@ -56,6 +71,7 @@
<option {{ $selected }} value="{{ $role->name }}">{{ $role->name }}</option> <option {{ $selected }} value="{{ $role->name }}">{{ $role->name }}</option>
@endforeach @endforeach
@endif @endif
</optgroup>
</select> </select>
<label for="fileuploade">Skift brugerens profile billede:</label> <label for="fileuploade">Skift brugerens profile billede:</label>
<input id="fileuploade" type="file" name="resource" accept="image/*"> <input id="fileuploade" type="file" name="resource" accept="image/*">

View File

@ -90,7 +90,6 @@
@else @else
<p class="mb-auto text-center">{{__('msg.dereringenvejledninger')}}.</p> <p class="mb-auto text-center">{{__('msg.dereringenvejledninger')}}.</p>
@endif @endif
<button onclick="window.history.back()" class="btn btn-sde-blue text-white mb-1 mt-auto" >{{__('msg.tilbage')}}</button>
</main> </main>
<script> <script>