v1.5.20c Made pdf layout, added maxlength

This commit is contained in:
Neerholt 2021-05-05 15:27:51 +02:00
parent 87006ae54f
commit d636beaba5
20 changed files with 99 additions and 80 deletions

View File

@ -59,11 +59,11 @@ class MenuPlanController extends Controller
public function store(Request $request)
{
$requestMenuPlanCreate = $request->validate([
"week" => "required|max:255",
"monday" => "required|max:255",
"tuesday" => "required|max:255",
"wednesday" => "required|max:255",
"thursday" => "required|max:255",
"week" => "required",
"monday" => "required",
"tuesday" => "required",
"wednesday" => "required",
"thursday" => "required",
]);
$menuPlan = new MenuPlan($requestMenuPlanCreate);
@ -216,7 +216,7 @@ class MenuPlanController extends Controller
public function genPDF($Id){
$menuPlan = MenuPlan::query()->where("id", "=", $Id)->first();
$var = 149;
$var = 250;
$menuPlan->monday = substr($menuPlan->monday, 0, $var);
$menuPlan->tuesday = substr($menuPlan->tuesday, 0, $var);

View File

@ -203,19 +203,20 @@ class MultipleEventsController extends Controller
public function genPDF($Id){
$multiEvent = MultipleEventsParent::query()->join("multiple_events", "multiple_events.multiple_events_parent_id", "=", "multiple_events_parent.id")->where("multiple_events_parent.id", "=", $Id)->first();
$multiEvent = MultipleEventsParent::query()->join("multiple_events", "multiple_events.multiple_events_parent_id", "=", "multiple_events_parent.id")->where("multiple_events_parent.id", "=", $Id)->orderBy('multiple_events.date', 'asc')->get();
$var = 149;
$multiEvent->name = substr($multiEvent->name, 0, $var);
/*$multiEvent->name = substr($multiEvent->name, 0, $var);
$multiEvent->accountable = substr($multiEvent->accountable, 0, $var);
$multiEvent->description = substr($multiEvent->description, 0, $var);
$multiEvent->date = substr($multiEvent->date, 0, $var);
*/
$pdf = PDF::loadView('multipdf.multipleevent', ["multiEvent" => $multiEvent]);
$pdf->setPaper('A4', 'portrait');
$pdf->setPaper('A4', 'landscape');
return $pdf->stream("ugentligt_aktivitet_uge_".$multiEvent->week.".pdf");
return $pdf->stream("ugentligt_aktivitet_uge_".$multiEvent[0]->week.".pdf");
}

View File

@ -10,6 +10,7 @@
"require": {
"php": "^8.0.3",
"barryvdh/laravel-dompdf": "^0.9.0",
"dompdf/dompdf": "^1.0",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",

View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5c5e11e3ee756fd468ab123fa2a62904",
"content-hash": "63e59712c2f2f598190787e17c966739",
"packages": [
{
"name": "asm89/stack-cors",

View File

@ -18,10 +18,10 @@ class CreateMenuPlans extends Migration
Schema::create('menu_plans', function (Blueprint $table) {
$table->id();
$table->integer('week')->unique();
$table->string('monday', 255);
$table->string('tuesday', 255);
$table->string('wednesday', 255);
$table->string('thursday', 255);
$table->text('monday');
$table->text('tuesday');
$table->text('wednesday');
$table->text('thursday');
$table->timestamps();
//$table->longText('description');
});

View File

@ -21,13 +21,13 @@
<form name="contact" method="post" action="{{ route("contacts.store") }}">
@csrf
<label for="contactname">Kontakt Navn:</label>
<input type="text" name="contactname" id="contactname" placeholder="Navn" required>
<input type="text" name="contactname" id="contactname" placeholder="Navn" maxlength="255" required>
<label for="title">Titel:</label>
<input type="text" name="title" id="title" placeholder="Titel" required>
<input type="text" name="title" id="title" placeholder="Titel" maxlength="255" required>
<label for="email">Email:</label>
<input type="email" name="email" id="email" placeholder="x@y.z" required>
<input type="email" name="email" id="email" placeholder="x@y.z" maxlength="255" required>
<label for="tel">Telefon nr:</label>
<input type="tel" name="phone" id="tel" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}">
<input type="tel" name="phone" id="tel" placeholder="12345678" maxlength="8" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}">
<label for="teltimes">Telefon tider: (Forblives blank, hvis der ikke er nogen bestemte tider) - Brug Shift+Enter for at teksten vises lige neden under hinanden hjemmesiden</label>
<textarea name="phonetimes" id="editor"></textarea>
<input type="submit" class="btn btn-dark text-white" value="Opret">

View File

@ -28,9 +28,9 @@
@csrf
<label for="name">Aktivitet Navn:</label>
<label hidden id="error" for="errormesseages">Dette navn findes allerede</label>
<input type="text" name="name" id="name" max="60" required>
<input type="text" name="name" id="name" max="60" maxlength="255" required>
<label for="accountable">Aktivitet Ansvarlig:</label>
<input type="text" name="accountable" id="accountable" required>
<input type="text" name="accountable" id="accountable" maxlength="255" required>
<label for="description">Aktivitet Beskrivelse:</label>
<small class="form-text text-muted">For at kunne indsætte et link, skal du markere teksten du vil lave op til et link først.</small>
<div id="editor"></div>

View File

@ -15,7 +15,7 @@
@csrf
<label for="name">Kategoriens navn:</label>
<label hidden id="error" for="errormesseages">Kategorien findes allerede</label>
<input type="text" name="guidesCategoryName" id="name" placeholder="Ankomst" required>
<input type="text" name="guidesCategoryName" id="name" placeholder="Ankomst" maxlength="255" required>
<input type="submit" id="disable" class="btn btn-dark text-white" value="Opret kategori">
</form>
@endsection

View File

@ -29,7 +29,7 @@
@csrf
<label for="title">Titel guiden</label>
<label hidden id="error" for="errormesseages">Navn findes allerede</label>
<input type="text" name="name" id="title" required>
<input type="text" name="name" id="title" maxlength="255"required>
<div id="selectDiv">
<select name="guide_category_id" id="guidesCategory" required>
<option disabled selected value> -- Vælg en kategori -- </option>
@ -62,7 +62,7 @@
<span class="close" onclick="closeModal()">&times;</span>
<form id="modal-form" onsubmit="return createLocation()">
<label hidden id="errorModal" for="errormesseages">Kategori findes allerede</label>
<input type="text" name="category_name" id="category_name" placeholder="Bygning A" required>
<input type="text" name="category_name" id="category_name" placeholder="Bygning A" maxlength="255" required>
<input type="submit" id="disableModal" class="btn btn-dark text-white" value="Opret">
</form>
</div>

View File

@ -181,16 +181,16 @@
{{-- \App\MenuPlan::query()->where("week", "=", date('W'))->first() --}}
<tr>
<td class="letterSpaceTable"><label>Mandag </label></td>
<td class="letterSpaceTable">{!! (\App\MenuPlan::query()->where("week", "=", date('W'))->first()->monday) !!}</td>
<td class="letterSpaceTable">{!! \App\Helpers::closetags(substr(ucfirst(strtolower(\App\MenuPlan::query()->where("week", "=", date('W'))->first()->monday)), 0, 20) ) !!}</td>
</tr>
<td class="letterSpaceTable"><label>Tirsdag</label></td>
<td class="letterSpaceTable">{!! (\App\MenuPlan::query()->where("week", "=", date('W'))->first()->tuesday) !!}</td>
<td class="letterSpaceTable">{!! \App\Helpers::closetags(substr(ucfirst(strtolower(\App\MenuPlan::query()->where("week", "=", date('W'))->first()->tuesday)), 0, 20) ) !!}</td>
</tr>
<td class="letterSpaceTable"><label>Onsdag</label></td>
<td class="letterSpaceTable">{!! (\App\MenuPlan::query()->where("week", "=", date('W'))->first()->wednesday) !!}</td>
<td class="letterSpaceTable">{!! \App\Helpers::closetags(substr(ucfirst(strtolower(\App\MenuPlan::query()->where("week", "=", date('W'))->first()->wednesday)), 0, 20) ) !!}</td>
</tr>
<td class="letterSpaceTable"><label>Torsdag</label></td>
<td class="letterSpaceTable">{!! (\App\MenuPlan::query()->where("week", "=", date('W'))->first()->thursday) !!}</td>
<td class="letterSpaceTable">{!! \App\Helpers::closetags(substr(ucfirst(strtolower(\App\MenuPlan::query()->where("week", "=", date('W'))->first()->thursday)), 0, 20) ) !!}</td>
</tr>
<!--The code above is retarded, but it is what it is :) BigSmoke -->

View File

@ -15,7 +15,7 @@
@csrf
<label for="name">Lokationsnavn:</label>
<label hidden id="error" for="errormesseages">Lokation findes allerede</label>
<input type="text" name="name" id="name" placeholder="Bygning A" required>
<input type="text" name="name" id="name" placeholder="Bygning A" maxlength="255" required>
<input type="submit" id="disable" class="btn btn-dark text-white" value="Opret">
</form>
@endsection

View File

@ -27,15 +27,15 @@
@csrf
<label for="week">Uge nr.</label>
<label hidden id="error" for="errormesseages">Menuplan findes allerede</label>
<input type="number" name="week" id="week" min="1" max="53" placeholder="1" required>
<input type="number" name="week" id="week" min="1" max="53" placeholder="1" maxlength="2" required>
<label for="monday">Mandag:</label>
<input type="text" name="monday" id="monday" placeholder="Hawaii Pizza" required>
<input type="text" name="monday" id="monday" placeholder="Hawaii Pizza" maxlength="250" required>
<label for="tuesday">Tirsdag:</label>
<input type="text" name="tuesday" id="tuesday" placeholder="Pasta Bolognese" required>
<input type="text" name="tuesday" id="tuesday" placeholder="Pasta Bolognese" maxlength="250" required>
<label for="wednesday">Onsdag:</label>
<input type="text" name="wednesday" id="wednesday" placeholder="Pandekager" required>
<input type="text" name="wednesday" id="wednesday" placeholder="Pandekager" maxlength="250" required>
<label for="thursday">Torsdag:</label>
<input type="text" name="thursday" id="thursday" placeholder="Bøf med løg" required>
<input type="text" name="thursday" id="thursday" placeholder="Bøf med løg" maxlength="250" required>
<label class="toggle">
<input class="toggle__input" id="isNews" type="checkbox" name="newsoption" onclick="change()">
<span class="toggle__label">

View File

@ -37,7 +37,7 @@
<form method="post" action="{{ route("multiple-events.store") }}" enctype="multipart/form-data">
<!--datetime-local-->
@csrf
<input type="text" name="week" placeholder="Uge">
<input type="text" name="week" placeholder="Uge" maxlength="2">
<label id="fileuploadee"for="fileuploade">Baggrundsbillede til nyheden (Valgfri)</label>
<input id="fileuploade" type="file" name="resource" accept="image/*">
<table class="asd">
@ -48,9 +48,9 @@
<th>Tidsrum (Start)</th>
</tr>
<tr>
<td><input type="text" name="name[]"></td>
<td><input type="text" name="name[]" maxlength="255"></td>
<td><input type="text" name="description[]"></td>
<td><input type="text" name="accountable[]"></td>
<td><input type="text" name="accountable[]" maxlength="255"></td>
<td><input type="datetime-local" name="date[]"></td>
<td><button type="button" class="btn btn-inline btn-sde-blue" id="add2">Tilføj en kolonne</button></td>
</tr>

View File

@ -21,7 +21,7 @@
@csrf
<label for="title">Titel nyheden:</label>
<label hidden id="error" for="errormesseages">Dette navn findes allerede</label>
<input type="text" name="subname" id="title" placeholder="OBS: Menuplanen er ændret" required>
<input type="text" name="subname" id="title" placeholder="OBS: Menuplanen er ændret" maxlength="255" required>
<label for="date">Dato til når nyheden skal slettes (valgfri)</label>
<input type="datetime-local" 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>

View File

@ -70,9 +70,9 @@
@csrf
<label for="name">Navn:</label>
<label hidden id="error" for="errormesseages">Rolle navnet findes allerede</label>
<input type="text" name="name" id="name" pattern="[A-Za-z-æøåÆØÅ]+" title="Der må ikke være tal eller specialtegn i rollenavnet" placeholder="Admin" required>
<input type="text" name="name" id="name" pattern="[A-Za-z-æøåÆØÅ]+" maxlength="255" title="Der må ikke være tal eller specialtegn i rollenavnet" placeholder="Admin" required>
<label for="name">Beskrivelse:</label>
<input type="text" name="description" id="description" placeholder="Admin rollen bruges til administratorene" required>
<input type="text" name="description" id="description" maxlength="255" placeholder="Admin rollen bruges til administratorene" required>
<div class="mb-2 w-100">

View File

@ -32,26 +32,26 @@
<form method="post" action="{{ route("users.store") }}" onsubmit="return checkInputs()" enctype="multipart/form-data">
@csrf
<label for="name_first">Fornavn:</label>
<input type="text" name="name_first" id="name_first" placeholder="Fornavn" required>
<input type="text" name="name_first" id="name_first" placeholder="Fornavn" maxlength="255" required>
<label for="name_last">Efternavn:</label>
<input type="text" name="name_last" id="name_last" placeholder="Efternavn" required>
<input type="text" name="name_last" id="name_last" placeholder="Efternavn" maxlength="255" required>
<label for="email">Email:</label>
<label hidden id="erroremail">Der findes allerede en bruger med denne email!</label>
<input type="email" name="email" id="email" placeholder="x@y.z" required>
<label for="password1">Adgangskode:</label>
<label hidden id="errornotsamepass" for="errormesseages" >Der stod ikke det samme i Adgangskode & Bekræft Adgangskode!</label>
<div class="input-group text-left">
<input type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Adgangskoden skal indeholde mindst et tal, et lille bogstav, et stort bogstav og have en minimumslængde på 8 karakterer" class="form-control" name="password" id="password1" placeholder="******" required>
<input type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" maxlength="60" title="Adgangskoden skal indeholde mindst et tal, et lille bogstav, et stort bogstav og have en minimumslængde på 8 karakterer" class="form-control" name="password" id="password1" placeholder="******" required>
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-new" onclick="show('password1', 'fa-new')"></span>
</div>
<label for="password2">Bekræft Adgangskode:</label>
<div class="input-group text-left">
<input type="password" class="form-control" name="password2" id="password2" placeholder="******" required>
<input type="password" class="form-control" name="password2" id="password2" maxlength="60" placeholder="******" required>
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-confirm" onclick="show('password2', 'fa-confirm')"></span>
</div>
<label for="phone">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}" maxlength="8" required>
<label for="roles">Rolle:</label>
<select id="roles" class="js-example-basic-multiple mb-2" name="roles[]" multiple="multiple" required>
<optgroup label="Roller">

View File

@ -15,7 +15,7 @@
@csrf
<label for="name_first">Vaskemaskine Navn:</label>
<label hidden id="error" for="errormesseages">Vaskemaskinen med den lokation findes allerede</label>
<input type="text" name="name" id="name" max="60" placeholder="Vaskemaskine nr. 1" required>
<input type="text" name="name" id="name" max="60" placeholder="Vaskemaskine nr. 1" maxlength="255" required>
<label for="location_id">Lokation:</label>
<select name="location_id" id="location_id" class="mb-2" required>
<option disabled selected value> -- Vælg Lokation -- </option>

View File

@ -76,7 +76,7 @@
@foreach($multiEvents as $multiEvent)
<div class="card">
<div class="container" class="mt-1">
<h4 class="m-none">{{ date('l', strtotime($multiEvent->date)) }}</h4>
<h4 class="m-none">{{ ucfirst(\Carbon\Carbon::parse($multiEvent->date)->formatLocalized('%A')) }}</h4>
<h4 class="m-none">{{$multiEvent->name}}</h4>
<p class="mt-0">{{__('msg.af')}}: {{$multiEvent->accountable}}</p>
<p class="mt-0">{{$multiEvent->description}}</p>

View File

@ -1,7 +1,7 @@
<html style="padding: 0; margin: 0; width: 100%; height: 100%;" lang="">
<head style="padding: 0; margin: 0; width: 100%; height: 100%;">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>ugentligt_aktivitet_uge_{{$multiEvent->week}}</title>
<title>ugentligt_aktivitet_uge_{{$multiEvent[0]->week}}</title>
</head>
<style>
@page { margin: 0; }
@ -9,27 +9,48 @@
h2 { font-size: 48px; color: #00788a; }
p { font-size: 24px; z-index: 1; }
img { z-index: 0; opacity: 0.7; }
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 2px 20px 2px 5px ;
}
tr:nth-child(even) {
background-color: #dddddd;
}
mark {
background-color: lightcyan;
color: black;
}
</style>
<body style="padding: 0; width: 100%; height: 100%;">
<div style="background-color: #00788A; width: 100%; padding: 1rem 1rem;">
<h1 style="font-size: 36px; text-align: center; color: white;">Ugentligt aktivitet, Uge {{$multiEvent->week}}</h1>
<div style="background-color: #002D4E; width: 100%; padding: 2px 2px;">
<h1 style="font-size: 30px; text-align: center; color: white; letter-spacing: 1.5px;">Aktivitetsplan Uge {{$multiEvent[0]->week}}</h1>
</div>
<div style="text-align: center; margin: 0 16px;">
<h2 class="ql-align-center"><strong>name:</strong></h2>
<p class="ql-align-center">{{$multiEvent->name}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>accountable:</strong></h2>
<p class="ql-align-center">{{$multiEvent->accountable}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>description:</strong></h2>
<p class="ql-align-center">{{$multiEvent->description}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>date:</strong></h2>
<p class="ql-align-center">{{$multiEvent->date}}</p>
<div style="text-align: center;">
<table>
<tr style="color: whitesmoke">
<th style="background-color: #94A964; padding: 4px">Dag</th>
<th style="background-color: #6796B2">Tidsrum</th>
<th style="background-color: #6796B2">Aktivitet</th>
<th style="background-color: #6796B2">Tovholder</th>
</tr>
@foreach($multiEvent as $multi)
{{ setlocale(LC_ALL, 'da') }}
<tr>
<td style="background-color: #6796B2; color: whitesmoke">{{ date("d/m/y", strtotime($multi->date)) }}<br>[{{ ucfirst(\Carbon\Carbon::parse($multi->date)->formatLocalized('%A')) }}]</td>
<td>{{ date("H:i", strtotime($multi->date)) }}</td>
<td><strong>{{$multi->name}}</strong><br>{{$multi->description}}</td>
<td>{{$multi->accountable}}</td>
</tr>
@endforeach
</table>
</div>
</body>
</html>

View File

@ -6,34 +6,30 @@
<style>
@page { margin: 0; }
body { margin: 0; }
h2 { font-size: 48px; color: #00788a; }
h3 { font-size: 38px; color: #00788a; }
p { font-size: 24px; z-index: 1; }
img { z-index: 0; opacity: 0.7; }
</style>
<body style="padding: 0; width: 100%; height: 100%;">
<div style="background-color: #00788A; width: 100%; padding: 1rem 1rem;">
<h1 style="color: white; text-align: center">Erhverskollegiet - Odense</h1>
<h1 style="font-size: 36px; text-align: center; color: white;">Menuplan, Uge {{$menuPlan->week}}</h1>
<div style="background-color: #00788A; width: 100%; padding: 5px;">
<h1 style="font-size: 29px; text-align: center; color: white;">Menuplan Uge {{$menuPlan->week}}</h1>
</div>
<div style="text-align: center; margin: 0 16px;">
<h2 class="ql-align-center"><strong>Mandag:</strong></h2>
<h3 class="ql-align-center"><strong>Mandag:</strong></h3>
<p class="ql-align-center">{{$menuPlan->monday}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>Tirsdag:</strong></h2>
<h3 class="ql-align-center"><strong>Tirsdag:</strong></h3>
<p class="ql-align-center">{{$menuPlan->tuesday}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>Onsdag:</strong></h2>
<h3 class="ql-align-center"><strong>Onsdag:</strong></h3>
<p class="ql-align-center">{{$menuPlan->wednesday}}</p>
<p class="ql-align-center"><br></p>
<h2 class="ql-align-center"><strong>Torsdag:</strong></h2>
<h3 class="ql-align-center"><strong>Torsdag:</strong></h3>
<p class="ql-align-center">{{$menuPlan->thursday}}</p>
</div>
<img src="./images/icons/watermelon.svg" style="width: 8rem; position: absolute; right: 52px;" alt="watermelon">
<!--<img src="./images/icons/watermelon.svg" style="width: 8rem; position: absolute; right: 52px;" alt="watermelon">
<img src="./images/icons/coconut.svg" style="width: 6rem; position: absolute; left: 45px; top: 360px; transform: scaleX(-1);" alt="coconut">
<img src="./images/icons/dinner.svg" style="width: 6rem; position: absolute; right: 40px; top: 350px; transform: rotate(-20deg);" alt="plate">
<img src="./images/icons/food.svg" style="fill: black; width: 7rem; position: absolute; left: 32px; bottom: 150px; transform: rotate(30deg);" alt="plate">
<img src="./images/icons/food.svg" style="fill: black; width: 7rem; position: absolute; left: 32px; bottom: 150px; transform: rotate(30deg);" alt="plate">-->
</body>
</html>