Merge pull request #3 from sebathefox/Multi-language

v.0.5.8 - Multi language
This commit is contained in:
Neerholt 2020-08-07 08:53:29 +02:00 committed by GitHub
commit b5fb505eaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 295 additions and 74 deletions

View File

@ -13,6 +13,7 @@ class ContactController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:contact.list" ])->only("index");
$this->middleware([ "check.auth:contact.show" ])->only("show");

View File

@ -15,6 +15,7 @@ class EventController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:event.list" ])->only("index");
$this->middleware([ "check.auth:event.show" ])->only("show");

View File

@ -13,6 +13,7 @@ class FeedbackController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:feedback.list" ])->only("index");
$this->middleware([ "check.auth:feedback.show" ])->only("show");

View File

@ -13,6 +13,7 @@ class GuideController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:guides.list" ])->only("index");
$this->middleware([ "check.auth:guides.show" ])->only("show");

View File

@ -11,6 +11,7 @@ class LocationController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:locations.list" ])->only("index");
$this->middleware([ "check.auth:locations.show" ])->only("show");

View File

@ -17,6 +17,7 @@ class MenuPlanController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:menuplan.list" ])->only("index");
$this->middleware([ "check.auth:menuplan.show" ])->only("show");

View File

@ -8,6 +8,12 @@ use Spatie\Permission\Models\Permission;
class PermissionController extends Controller
{
public function __construct()
{
$this->middleware(["auth"]);
$this->middleware(["lang"]);
}
/**
* Display a listing of the resource.
*

View File

@ -7,6 +7,12 @@ use Illuminate\Http\Response;
class PhoneController extends Controller
{
public function __construct()
{
$this->middleware(["auth"]);
$this->middleware(["lang"]);
}
function index() {
return Response::detect("vagttelefons.index");
}

View File

@ -11,6 +11,7 @@ class ResourceCategoryController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:resource.category.list" ])->only("index");
$this->middleware([ "check.auth:resource.category.show" ])->only("show");

View File

@ -12,6 +12,7 @@ class ResourceController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:resource.list" ])->only("index");
$this->middleware([ "check.auth:resource.show" ])->only("show");

View File

@ -11,6 +11,7 @@ class ResourceExtensionController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:resource.extension.list" ])->only("index");
$this->middleware([ "check.auth:resource.extension.show" ])->only("show");

View File

@ -12,6 +12,7 @@ class rolesController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:roles.list" ])->only("index");
$this->middleware([ "check.auth:roles.show" ])->only("show");

View File

@ -10,6 +10,7 @@ class RootController extends Controller
function __construct()
{
$this->middleware("auth");
$this->middleware([ "lang" ]);
}
public function index() {

View File

@ -6,6 +6,7 @@ use App\Helpers\Detector;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\User;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
@ -20,6 +21,7 @@ class UserController extends Controller
{
$this->middleware([ "auth" ])->only("logout");
$this->middleware([ "guest" ])->only("login");
$this->middleware([ "lang" ])->except(["login", "showLogin", "showForgot", "forgot"]);
$this->middleware([ "check.auth:user.list" ])->only("index");
$this->middleware([ "check.auth:user.show" ])->only("show");
@ -457,4 +459,23 @@ class UserController extends Controller
return Response($output);
}
}
public function setLanguages(Request $request){
if($request->ajax()){
if($request->lang === "en"){
$response = new Response('Set Cookie');
$response->withCookie(cookie('languagesSetting', $request->lang, 5259488));
return $response;
}elseif($request->lang === "dk"){
$response = new Response('Set Cookie');
$response->withCookie(cookie('languagesSetting', $request->lang, 5259488));
return $response;
}
}
}
}

View File

@ -8,6 +8,11 @@ use Illuminate\Http\Response;
class UserEventController extends Controller
{
public function __construct()
{
$this->middleware(["auth"]);
$this->middleware(["lang"]);
}
/**
* Update the specified resource in storage.
*

View File

@ -17,6 +17,7 @@ class WashingMachineController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:washing.machine.list" ])->only("index");
$this->middleware([ "check.auth:washing.machine.show" ])->only("show");

View File

@ -20,6 +20,7 @@ class WashingReservationController extends Controller
public function __construct()
{
$this->middleware([ "auth" ]);
$this->middleware([ "lang" ]);
$this->middleware([ "check.auth:washing.machine.reservation.list" ])->only(["index", "appindex"]);
$this->middleware([ "check.auth:washing.machine.reservation.show" ])->only("show");

View File

@ -2,6 +2,7 @@
namespace App\Http;
use App\Http\Middleware\SetLocale;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
@ -67,7 +68,7 @@ class Kernel extends HttpKernel
'role' => \Spatie\Permission\Middlewares\RoleMiddleware::class,
'permission' => \Spatie\Permission\Middlewares\PermissionMiddleware::class,
'role_or_permission' => \Spatie\Permission\Middlewares\RoleOrPermissionMiddleware::class,
'lang' => \App\Http\Middleware\SetLocale::class,
"check.auth" => \App\Http\Middleware\CheckAuth::class
];
}

View File

@ -0,0 +1,21 @@
<?php
namespace App\Http\Middleware;
use Closure;
class SetLocale
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
app()->setLocale($request->user()->getLocale($request));
return $next($request);
}
}

View File

@ -7,6 +7,7 @@
namespace App;
//allows the use of many libraries.
use http\Env\Request;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
@ -52,4 +53,8 @@ class User extends Authenticatable
public function setPasswordAttribute($password) {
$this->attributes["password"] = Hash::make($password);
}
public function getLocale(\Illuminate\Http\Request $request) {
return $request->cookie('languagesSetting');
}
}

View File

@ -80,7 +80,7 @@ return [
|
*/
'locale' => 'en',
'locale' => 'dk',
/*
|--------------------------------------------------------------------------
@ -93,7 +93,7 @@ return [
|
*/
'fallback_locale' => 'en',
'fallback_locale' => 'dk',
/*
|--------------------------------------------------------------------------

View File

@ -0,0 +1,47 @@
<?php
return[
"menuplan" => "Menuplan",
"aktiviteter" => "Aktiviteter",
"Home" => "Home",
"reservationer" => "Reservationer",
"kontoret" => "Kontoret",
"vagttelefon" => "Vagttelefon",
"vejledning" => "Vejledninger",
"konto" => "Konto",
"logud" => "Log ud",
"dereringenmenuplanerdenneuge" => "Der er ingen menuplaner denne uge",
"dereringenaktiviteter" => "Der er ingen aktiviteter",
"setilmeldteaktiviteter" => "Se tilmeldte aktiviteter",
"dinereservationer" => "Dine reservationer",
"duharingenreservationer" => "Du har ingen reservationer",
"reservervaskemaskine" => "Reserver vaskemaskine",
"kontakt" => "Kontakt",
"navn" => "Navn",
"email"=> "E-mail",
"ring" => "Ring",
"givfeedback" => "Giv feedback",
"sendfeedback" => "Send feedback omkring hvem el. hvad som helst",
"accepterer" => "Accepterer",
"dereringenvejledninger" => "Der er ingen vejledninger",
"telefon" => "Telefon",
"redigeroplysninger" => "Rediger Oplysninger",
"ændrepassword" => "Ænder Password",
"tilmeldteaktiviteter" => "Tilmeldte aktiviteter",
"duharikketilmeldtdignogenaktiviteter" => "Du har ikke tilmeldt dig nogen aktiviteter",
"tilbage" => "Tilbage",
"bookingliste" => "Bokking Liste",
"ugestor" => "Uge",
"maskiner" => "Maskiner",
"tilgængeligetider" => "Tilgængelige tider",
"reserver" => "Reserver",
"rediger" => "Rediger",
"nuværendepassword" => "Nuværende Password",
"nytpassword" => "Nyt password",
"confirmpassword" => "Gentag adgangskode",
];

View File

@ -0,0 +1,55 @@
<?php
return[
"menuplan" => "Menu",
"aktiviteter" => "Activities",
"reservationer" => "Reservations",
"kontoret" => "The office",
"vagttelefon" => "Emergency phone",
"vejledning" => "Guide",
"home" => "Home",
"logud" => "Log out",
"konto" => "Account",
"mandag" => "Monday",
"trisdag" => "Tuesday",
"onsdag" => "Wednesday",
"torsdag" => "Thursday",
"dereringenmenuplanerdenneuge" => "There is no menu for this week",
"uge" => "week",
"ugestor" => "Week",
"dereringenaktiviteter" => "There is no activity this week",
"setilmeldteaktiviteter" => "See Registered Activities",
"tilmeld" => "Register Activities ",
"tilmeldteaktiviteter" => "Your Registered Activities",
"duharikketilmeldtdignogenaktiviteter" => "You have not signed up for any activities",
"tilbage" => "Go Back",
"dinereservationer" => "Your reservations",
"fjern" => "Remove",
"tid" => "Time",
"reservervaskemaskine" => "Reserve washing machine",
"duharingenreservationer" => "You have no reservations",
"bookingliste" => "Booking List",
"dereringenvaskemaskiner" => "There are no washing machines",
"tilgængeligetider" => "Available times",
"maskiner" => "Washing machine",
"reserver" => "Reserves",
"kontakt" => "Contacts",
"navn" => "Name",
"email" => "E-mail",
"telefontid" => "Telephone hours",
"ring" => "Call",
"givfeedback" => "Feedback",
"sendfeedback" => "Send us feedback about what you like and what you don't like",
"dereringenkontakter" => "There are no contacts",
"accepterer" => "Accept",
"dereringenvejledninger" => "There are no guides",
"tilmelde" => "Participating",
"telefon" => "Phone",
"redigeroplysninger" => "Edit information",
"ændrepassword" => "Change Password",
"rediger" => "Edit",
"nuværendepassword" => "Current password",
"nytpassword" => "New password",
"confirmpassword" => "Confirm password",
];

View File

@ -5,25 +5,25 @@
@section("content")
<main>
<h1 class="text-center sde-blue mt-0 mb-0">Kontakt</h1>
<h1 class="text-center sde-blue mt-0 mb-0">{{__('msg.kontakt')}}</h1>
@if(!$contacts->isEmpty())
@foreach($contacts as $contact)
<h4 class="mt-2">Navn: {{ $contact->contactname }}</h4>
<h4 class="mt-0">Email: {{ $contact->email }}</h4>
<h4 class="mt-2">{{__('msg.navn')}}: {{ $contact->contactname }}</h4>
<h4 class="mt-0">{{__('msg.email')}}: {{ $contact->email }}</h4>
<h4 class="mt-0">{{ $contact->title }}</h4>
@if($contact->phonetimes)
<h4 class="mt-0 mb-0">Telefontid:</h4>
<h4 class="mt-0 mb-0">{{__('msg.telefontid')}}:</h4>
{!! $contact->phonetimes !!}
@endif
@if($contact->phone)
<span class="text-center sde-black-20 mt-1">+45 {{ chunk_split($contact->phone, 2, ' ') }}</span>
<a class="btn text-center btn-sde-blue mt-1" href="tel:+45{{ $contact->phone }}">Ring</a>
<a class="btn text-center btn-sde-blue mt-1" href="tel:+45{{ $contact->phone }}">{{__('msg.ring')}}</a>
@endif
@endforeach
@else
<p class="text-center">Der er ingen kontakter!</p>
<p class="text-center">{{__('msg.dereringenkontakter')}}!</p>
@endif
<span class="text-center sde-black-20 mt-1">Send feedback omkring hvem el. hvad som helst</span>
<a class="btn text-center btn-sde-blue mt-1" href="{{ route('feedbacks.create') }}">Giv Feedback</a>
<span class="text-center sde-black-20 mt-1">{{__('msg.sendfeedback')}}</span>
<a class="btn text-center btn-sde-blue mt-1" href="{{ route('feedbacks.create') }}">{{__('msg.givfeedback')}}</a>
</main>
@endsection

View File

@ -5,7 +5,7 @@
@section("content")
<main>
<h1 class="text-center sde-blue mb-0">Aktiviteter</h1>
<h1 class="text-center sde-blue mb-0">{{ __('msg.aktiviteter') }}</h1>
@if(!$events->isEmpty())
@foreach($events as $event)
<form method="get" action="{{ route("userevents.create") }}">
@ -16,12 +16,12 @@
<input type="hidden" name="event_id" value="{{ $event->id }}">
{!! session()->get('error#' . $event->id) !!}
{!! session()->get('signup#' . $event->id) !!}
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">Tilmeld</button>
<button type="submit" class="btn text-center btn-sde-blue" id="tilmeld">{{__('msg.tilmelde')}}</button>
</form>
@endforeach
@else
<p class="text-center">Der er ingen aktiviteter!</p>
<p class="text-center">{{__('msg.dereringenaktiviteter')}}!</p>
@endif
<a href="{{ route("userevents.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue" id="tilmeld">Se Tilmeldte Aktiviteter</a>
<a href="{{ route("userevents.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue" id="tilmeld">{{__('msg.setilmeldteaktiviteter')}}</a>
</main>
@endsection

View File

@ -5,7 +5,7 @@
@section("content")
<main>
<h1 class="text-center sde-blue mb-0">Tilmeldte Aktiviteter</h1>
<h1 class="text-center sde-blue mb-0">{{__('msg.tilmeldteaktiviteter')}}</h1>
{!! session()->get('eventunsubscribed') !!}
@if(!$userevents->isEmpty())
@foreach($userevents as $userevent)
@ -19,8 +19,8 @@
</form>
@endforeach
@else
<p class="text-center">Du har ikke tilmeldt dig nogen aktiviteter!</p>
<p class="text-center">{{__('msg.duharikketilmeldtdignogenaktiviteter')}}!</p>
@endif
<a href="{{ route("events.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue">Tilbage</a>
<a href="{{ route("events.index") }}" type="submit" class="mt-2 btn text-center btn-sde-blue">{{__('msg.tilbage')}}</a>
</main>
@endsection

View File

@ -11,7 +11,7 @@
}
</style>
<main>
<h1 class="text-center sde-blue mt-0">Vejledninger</h1>
<h1 class="text-center sde-blue mt-0">{{__('msg.vejledning')}}</h1>
@if(!$guides->isEmpty())
@foreach($guides as $guide)
<h2 class="text-center sde-blue mt-0">{{ $guide->name }}</h2>
@ -19,7 +19,7 @@
<hr class="w-100">
@endforeach
@else
<p style="margin: 0 18px;">Der er ingen vejledninger.</p>
<p style="margin: 0 18px;">{{__('msg.dereringenvejledninger')}}.</p>
@endif
</main>
@endsection

View File

@ -20,15 +20,15 @@
<a href="{{ route("menu-plans.index") }}">
<img src="{{URL::asset('/images/icons/Menuplan.svg')}}" alt="Menuplan">
Menuplan
{{ __('msg.menuplan') }}
</a>
<a href="{{ route("events.index") }}">
<img src="{{URL::asset('/images/icons/Aktiviteter.svg')}}" alt="Aktiviteter">
Aktiviteter
{{ __('msg.aktiviteter') }}
</a>
<a href="{{ route("washing-reservations.appindex") }}">
<img src="{{URL::asset('/images/icons/Vaske booking liste.svg')}}" alt="Reservationer">
Reservationer
{{ __('msg.reservationer') }}
</a>
{{-- IKKE SLETTES!!!! --}}
{{-- <a href="# ">--}}
@ -37,23 +37,23 @@
{{-- </a>--}}
<a href="{{ route("contacts.index") }}">
<img src="{{URL::asset('/images/icons/Kontoret.svg')}}" alt="Kontoret">
Kontoret
{{ __('msg.kontoret') }}
</a>
<a href="{{ route("phones.index") }}">
<img src="{{URL::asset('/images/icons/Vagttelefon-hvid.svg')}}" alt="Vagttelefon">
Vagttelefon
{{ __('msg.vagttelefon') }}
</a>
<a href="{{ route("guides.index") }}">
<img src="{{URL::asset('/images/icons/Vejledninger.svg')}}" alt="Guide">
Vejledninger
{{ __('msg.vejledning') }}
</a>
<a href="{{ route("users.account") }}">
<img src="{{URL::asset('/images/icons/user-hvid.svg')}}" alt="Konto">
Konto
{{ __('msg.konto') }}
</a>
<a href="{{ route('users.logout') }}">
<img src="{{URL::asset('/images/icons/Logout.svg')}}" alt="Logud">
Log Ud
{{ __('msg.logud') }}
</a>
</div>

View File

@ -11,31 +11,31 @@
@if($menuPlans->contains('week', $Week)) {{-- If any of the menues in the menu table has the number of the week in the 'week' column, do this --}}
@foreach($menuPlans as $menuplan)
@if($menuplan->week == $Week)
<h1 class="text-center sde-blue mb-0">Menuplan</h1>
<span class="text-center sde-black-80 bold">Uge: {{$menuplan->week}}</span>
<h1 class="text-center sde-blue mb-0">{{ __('msg.menuplan') }}</h1>
<span class="text-center sde-black-80 bold">{{ __('msg.uge') }}: {{$menuplan->week}}</span>
<div class="col w-100 mt-auto text-center">
<div class="w-100" id="mandag">
<h3 class="sde-blue bold mb-0">Mandag</h3>
<h3 class="sde-blue bold mb-0">{{ __('msg.mandag') }}</h3>
<p>{{$menuplan->monday}}</p>
</div>
<div class="w-100" id="tirsdag">
<h3 class="sde-blue bold mb-0">Tirsdag</h3>
<h3 class="sde-blue bold mb-0">{{ __('msg.tirsdag') }}</h3>
<p>{{$menuplan->tuesday}}</p>
</div>
<div class="w-100" id="onsdag">
<h3 class="sde-blue bold mb-0">Onsdag</h3>
<h3 class="sde-blue bold mb-0">{{ __('msg.onsdag') }}</h3>
<p>{{$menuplan->wednesday}}</p>
</div>
<div class="w-100" id="torsdag">
<h3 class="sde-blue bold mb-0">Torsdag</h3>
<h3 class="sde-blue bold mb-0">{{ __('msg.torsdag') }}</h3>
<p>{{$menuplan->thursday}}</p>
</div>
</div>
@endif
@endforeach
@else
<h1 class="text-center sde-blue mb-0">Menuplan</h1>
<p class="text-center">Der er ingen menuplaner denne uge!</p>
<h1 class="text-center sde-blue mb-0">{{ __('msg.menuplan') }}</h1>
<p class="text-center">{{__('msg.dereringenmenuplanerdenneuge')}}!</p>
@endif
</main>
{{ $menuPlans->links() }}

View File

@ -5,13 +5,50 @@
@endsection
@section("content")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<main>
<h1 class="text-center sde-blue mt-0">Konto</h1>
<h4 class="mt-0">Navn: {{ Auth::user()->name_first . " " . Auth::user()->name_last }}</h4>
<h4 class="mt-0">Email: {{ Auth::user()->email }}</h4>
<h4 class="mt-0">Telefon Nr.: {{ Auth::user()->phone }}</h4>
<h1 class="text-center sde-blue mt-0">{{__('msg.konto')}}</h1>
<h4 class="mt-0">{{__('msg.navn')}}: {{ Auth::user()->name_first . " " . Auth::user()->name_last }}</h4>
<h4 class="mt-0">{{__('msg.email')}}: {{ Auth::user()->email }}</h4>
<h4 class="mt-0">{{__('msg.telefon')}} Nr.: {{ Auth::user()->phone }}</h4>
{!! session()->get('success#credentialschanged') !!}
<a class="btn text-center btn-sde-blue mt-1" href="{{ route("users.accountedit") }}">Rediger Oplysninger</a>
<a class="btn text-center btn-sde-blue mt-1" href="{{ route("users.accounteditpass") }}">Ændre Password</a>
<a class="btn text-center btn-sde-blue mt-1" href="{{ route("users.accountedit") }}">{{__('msg.redigeroplysninger')}}</a>
<a class="btn text-center btn-sde-blue mt-1" href="{{ route("users.accounteditpass") }}">{{__('msg.ændrepassword')}}</a>
<label for="langu">Sprog / Languages:</label>
<select name="langName" id="lang">
@if(request()->cookie('languagesSetting') == "dk")
<option selected name="langDK" value="dk">Dansk</option>
@else
<option name="langDK" value="dk">Dansk</option>
@endif
@if(request()->cookie('languagesSetting') == "en")
<option selected name="langEN" value="en">English</option>
@else
<option name="langEN" value="en">English</option>
@endif
</select>
</main>
<script>
$(document).ready(function (){
$('#lang').change(function () {
$value = $('#lang').find(":selected").val();
$.ajax({
type: 'get',
url: '{{route('users.setLanguages')}}',
data: {'lang':$value},
success:function (data) {
console.log($value);
location.reload();
},
error:function (data) {
console.log(data);
}
});
})
})
</script>
@endsection

View File

@ -6,18 +6,18 @@
@section("content")
<main>
<h1 class="text-center sde-blue mt-0">Konto</h1>
<h1 class="text-center sde-blue mt-0">{{__('msg.konto')}}</h1>
<form method="post" action="{{ route("users.accountupdate", ['user' => Auth::user()]) }}">
@csrf
@method("put")
<span>Navn:</span>
<span>{{__('msg.navn')}}:</span>
<input type="text" value="{{ Auth::user()->name_first . " " . Auth::user()->name_last }}" disabled>
<span>Email:</span>
<span>{{__('msg.email')}}:</span>
<input type="email" name="email" id="email" value="{{ Auth::user()->email }}" required>
<span>Telefon Nr.:</span>
<span>{{__('msg.telefon')}} Nr.:</span>
<input type="text" name="phone" id="phone" value="{{ Auth::user()->phone }}" required>
<button type="submit" class="btn text-center btn-sde-blue mt-1">Rediger</button>
<a href="{{ route('users.account') }}" class="btn text-center btn-sde-blue mt-1">Tilbage</a>
<button type="submit" class="btn text-center btn-sde-blue mt-1">{{__('msg.rediger')}}</button>
<button onclick="window.location.href = '{{ route('users.account') }}';" class="btn text-center btn-sde-blue mt-1">{{__('msg.tilbage')}}</button>
</form>
</main>
@endsection

View File

@ -6,29 +6,31 @@
@section("content")
<main>
<h1 class="text-center sde-blue mt-0">Konto</h1>
<h1 class="text-center sde-blue mt-0">{{__('msg.konto')}}</h1>
<form method="post" action="{{ route("users.accountupdate", ['user' => Auth::user()]) }}">
@csrf
@method("put")
<span>Nuværende Password:</span>
<span>{{__('msg.nuværendepassword')}}:</span>
<div class="input-group text-left">
<input type="password" class="form-control" name="oldpassword" id="old" placeholder="******">
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-old" onclick="show('old', 'fa-old')"></span>
</div>
<span>Nyt Password:</span>
<span>{{__('msg.nytpassword')}}:</span>
<div class="input-group text-left">
<input type="password" class="form-control" name="password" id="new" placeholder="******" required>
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-new" onclick="show('new', 'fa-new')"></span>
</div>
<span>Confirm Password:</span>
<span>{{__('msg.confirmpassword')}}:</span>
<div class="input-group text-left">
<input type="password" class="form-control" name="confirmpassword" id="confirm" placeholder="******" required>
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-confirm" onclick="show('confirm', 'fa-confirm')"></span>
</div>
{!! session()->get('error#notsamepass') !!}
{!! session()->get('error#oldpass') !!}
<button type="submit" class="btn text-center btn-sde-blue mt-1">Rediger</button>
<button type="submit" class="btn text-center btn-sde-blue mt-1">{{__('msg.rediger')}}</button>
<a href="{{ route('users.account') }}" class="btn text-center btn-sde-blue mt-1">{{__('msg.tilbage')}}</a>
</form>
</main>
<style>
input {

View File

@ -3,12 +3,12 @@
@section('content')
<main id="main" style="justify-content: space-between;">
<div class="d-flex col block-container mt-2">
<a href="{{ route('menu-plans.index') }}" class="block text-center mb-1">Menuplan</a>
<a href="{{ route('events.index') }}" class="block text-center mb-1">Aktiviteter</a>
<a href="{{ route('washing-reservations.appindex') }}" class="block text-center mb-1">Reservationer</a>
<a href="{{ route('contacts.index') }}" class="block text-center mb-1">Kontoret</a>
<a href="{{ route('phones.index') }}" class="block text-center mb-1">Vagttelefon</a>
<a href="{{ route('guides.index') }}" class="block text-center mb-1">Vejledninger</a>
<a href="{{ route('menu-plans.index') }}" class="block text-center mb-1">{{ __('msg.menuplan') }}</a>
<a href="{{ route('events.index') }}" class="block text-center mb-1">{{ __('msg.aktiviteter') }}</a>
<a href="{{ route('washing-reservations.appindex') }}" class="block text-center mb-1">{{ __('msg.reservationer') }}</a>
<a href="{{ route('contacts.index') }}" class="block text-center mb-1">{{ __('msg.kontoret') }}</a>
<a href="{{ route('phones.index') }}" class="block text-center mb-1">{{ __('msg.vagttelefon') }}</a>
<a href="{{ route('guides.index') }}" class="block text-center mb-1">{{ __('msg.vejledning') }}</a>
</div>
<div class="row" style="align-self: center; margin: 8px 0 8px 0;">
<a href="https://www.facebook.com" target="_blank" class="link">

View File

@ -6,16 +6,16 @@
@section("content")
<main>
<img class="mt-3" src="{{ URL::asset('/images/icons/Vagttelefon-normal.svg') }}" alt="Vagttelefon" style="height: 16vw;">
<h1 class="text-center sde-blue mt-0">Vagttelefon</h1>
<h1 class="text-center sde-blue mt-0">{{__('msg.vagttelefon')}}</h1>
<p class="mt-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sodales pulvinar congue aenean suspendisse.</p>
<label class="toggle">
<input class="toggle__input" type="checkbox" name="accept" id="input" onclick="check()">
<span class="toggle__label sde-blue">
<span class="toggle__text sde-blue semi-bold">Accepterer</span>
<span class="toggle__text sde-blue semi-bold">{{__('msg.accepterer')}}</span>
</span>
</label>
<span class="text-center sde-black-20 mt-2">+45 56 30 45 66</span>
<a class="btn text-center btn-sde-blue btn-disabled" id="call">Tilkald</a>
<span class="text-center sde-black-20 mt-2">+45 24 62 94 50</span>
<a class="btn text-center btn-sde-blue btn-disabled" id="call">{{__('msg.ring')}}</a>
</main>
@endsection

View File

@ -6,7 +6,7 @@
@section("content")
<main>
<h1 class="text-center sde-blue mb-0">Booking Liste</h1>
<h1 class="text-center sde-blue mb-0">{{__('msg.bookingliste')}}</h1>
{!! session()->get('ReservationExists') !!}
<div class="col w-100 mt-auto">
<div class="calendar-container">
@ -30,7 +30,7 @@
@csrf
</form>
@if(count(\App\WashingMachine::all()) < 1)
<p style="margin: 0 18px;">Der er ingen vaskemaskiner.</p>
<p style="margin: 0 18px;">{{__('msg.dereringenvaskemaskiner')}}.</p>
@endif
</div>
</main>
@ -47,7 +47,7 @@
return moment(index, "e").locale("da").startOf("week").weekday(index).format("ddd");
});
document.getElementById("title").innerHTML = 'Uge ' + moment().locale("da").day(weekDays[0]).week(week).isoWeek().toString();
document.getElementById("title").innerHTML = '{{__('msg.ugestor')}} ' + moment().locale("da").day(weekDays[0]).week(week).isoWeek().toString();
const calendar = document.getElementById("calendar");
@ -160,7 +160,7 @@
else {
let span = document.createElement("span");
span.classList.add("events__title");
span.innerText = "Maskiner";
span.innerText = "{{__('msg.maskiner')}}";
let select = document.createElement("select");
select.classList.add("events__title");
@ -181,7 +181,7 @@
else {
let span = document.createElement("span");
span.classList.add("events__title");
span.innerText = "Tilgængelige tider";
span.innerText = "{{__('msg.tilgængeligetider')}}";
let select = document.createElement("select");
select.classList.add("events__title");
@ -199,7 +199,7 @@
let button = document.createElement("button");
button.id = "create-reservation";
button.innerText = "Reserver";
button.innerText = "{{__('msg.reserver')}}";
button.type = "submit";
container.appendChild(button);

View File

@ -5,25 +5,25 @@
@section("content")
<main style="min-height: calc(100% - 61.34px);">
<h2 class="text-center sde-blue mb-0">Dine reservationer</h2>
<h2 class="text-center sde-blue mb-0">{{__('msg.dinereservationer')}}</h2>
@foreach($reservations as $reservation)
<div class="reservation" style="margin: 0 32px 1.75rem 32px;">
<h3>{{ \App\WashingMachine::query()->find($reservation->machine_id)->name }}</h3>
<div class="row align-items-center">
<span style="font-size: 4vw"><b>Tid:</b> {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('d/m/Y \k\l\. H:i') }}</span>
<span style="font-size: 4vw"><b>{{__('msg.tid')}}:</b> {{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($reservation->time))->format('d/m/Y \k\l\. H:i') }}</span>
<form class="ml-auto" method="post" action="{{ route("washing-reservations.destroy", [ "washing_reservation" => $reservation ]) }}">
@csrf
@method("delete")
<input type="hidden" name="id" value="{{ $reservation->id }}">
<button class="btn btn-sde-blue mb-0" type="submit" onclick="return confirm('Are you sure you want to remove this reservation?');">Fjern</button>
<button class="btn btn-sde-blue mb-0" type="submit" onclick="return confirm('Are you sure you want to remove this reservation?');">{{__('msg.fjern')}}</button>
</form>
</div>
</div>
@endforeach
@if(count($reservations) < 1)
<p style="margin: 0 18px;">Du har ingen reservationer.</p>
<p style="margin: 0 18px;">{{__('msg.duharingenreservationer')}}.</p>
@endif
<a href="{{ route("washing-reservations.create") }}" class="btn btn-sde-blue mt-auto mb-1">Reserver vaskemaskine</a>
<a href="{{ route("washing-reservations.create") }}" class="btn btn-sde-blue mt-auto mb-1">{{__('msg.reservervaskemaskine')}}</a>
</main>
@endsection

View File

@ -39,6 +39,8 @@ Route::get("/userapi", "UserController@search")->name("users.search");
Route::get("/vaskeapi", "WashingReservationController@search")->name("washing-reservations.search");
Route::get("/risrosapi", "FeedbackController@search")->name("feedbacks.search");
//languages
Route::get("/languages", "UserController@setLanguages")->name("users.setLanguages");
Route::resource("contacts", "ContactController");