v0.5.6 - Fixed Guide when destroying.

Added accountable in Event table to see who is the accountable for the event. Changed description field to CKEditor
This commit is contained in:
Anders 2020-08-06 14:47:22 +02:00
parent 7ea2208b4a
commit 708313a4b3
11 changed files with 156 additions and 41 deletions

View File

@ -20,6 +20,6 @@ class Event extends Model
*/
//protected variable which contains name of database field(s) to be filled.
protected $fillable = [
"name", "description", "date"
"name", "accountable", "description", "date"
];
}

View File

@ -59,6 +59,7 @@ class EventController extends Controller
{
$requestBody = $request->validate([
"name" => "required|max:255",
"accountable" => "required|max:255",
"description" => "required|max:255",
"date" => "required"
]);

View File

@ -123,13 +123,14 @@ class GuideController extends Controller
/**
* Remove the specified resource from storage.
*
* @param \App\Guide $guide
* @param Guide $guide
* @return \Illuminate\Http\Response
*/
public function destroy(Guide $guide)
public function destroy($guide)
{
$guide = MenuPlan::find($guide);
$guide = Guide::find($guide);
$guide->delete();
return redirect()->route("guides.index");
}
}

View File

@ -18,6 +18,7 @@ class CreateEvents extends Migration
Schema::create('events', function (Blueprint $table) {
$table->id();
$table->string("name");
$table->string("accountable");
$table->string("description");
$table->dateTime("date");
$table->timestamps();

View File

@ -1008,6 +1008,103 @@
"to-fast-properties": "^2.0.0"
}
},
"@ckeditor/ckeditor5-alignment": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-21.0.0.tgz",
"integrity": "sha512-jtUc7g+9TKgNS819UD23tJSTJosp+VAk/fk+p1HJEgrq5YuH/F3djVwW4fyyJRuepbvYOObhOa2YHET1gtOuFw==",
"requires": {
"@ckeditor/ckeditor5-core": "^21.0.0",
"@ckeditor/ckeditor5-ui": "^21.0.0"
}
},
"@ckeditor/ckeditor5-build-classic": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-21.0.0.tgz",
"integrity": "sha512-IYPXmc5Np7SzJVJbGNZk3OZEHnZ/WylbN1aFyfYdKMch9Be8mrCB9QQOqfsAEKD4SjXujYvn1jL0mM/EPZ8ECw=="
},
"@ckeditor/ckeditor5-build-decoupled-document": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-decoupled-document/-/ckeditor5-build-decoupled-document-21.0.0.tgz",
"integrity": "sha512-JsZjOIDlRemRjvrvDwJEW2CoqBkzKD5d52nleGm+KmikBZiaAMxWYJfxDVcM7mn+iFMfYkF330+HrFnD2pPj3w=="
},
"@ckeditor/ckeditor5-core": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-21.0.0.tgz",
"integrity": "sha512-qoBLE0dGaxYHN6zetYe5ct/w9E3+iX9T2oCgHNbCD/zaYhxfNTQ9uHp7x6Hn4Zq0xyieUhNIeq+ZR9CJlBEMwA==",
"requires": {
"@ckeditor/ckeditor5-engine": "^21.0.0",
"@ckeditor/ckeditor5-utils": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-engine": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-21.0.0.tgz",
"integrity": "sha512-wa0Fmn62o1i4Jw0vHnCvtwqM2ARkIU2V2/6MUgWAez5gpAIFwSGu4kjUGeIbuHISAIGKIwtRIVAdL9EtqsTV/A==",
"requires": {
"@ckeditor/ckeditor5-utils": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-inspector": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-inspector/-/ckeditor5-inspector-2.2.0.tgz",
"integrity": "sha512-2Y24+im+FzMu2VD7KjGTLMxR3RjDn8KwPtkqp/1gZY1+OxnKzWFwiQLGd71CMQ/JDhH19N+AKRL8JEfDrrnD2g==",
"dev": true
},
"@ckeditor/ckeditor5-table": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-21.0.0.tgz",
"integrity": "sha512-JCoDuOtzq6MXHW2EV0ct6Dm/YLF2HRgJWPVJyc8O9oNGTt6IEXlV0p+mbVrDu/cdhKCAoYCxG7WScm4B7TX3vg==",
"requires": {
"@ckeditor/ckeditor5-core": "^21.0.0",
"@ckeditor/ckeditor5-ui": "^21.0.0",
"@ckeditor/ckeditor5-widget": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-typing": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-21.0.0.tgz",
"integrity": "sha512-E38YTfhXzlbdlFX5zm0bofZn7SJyMWOryagI3w/N93f+0OXnyIMk/9JM7OWYwv4DD4MyU1jx1eOZkywQTl7LSQ==",
"requires": {
"@ckeditor/ckeditor5-core": "^21.0.0",
"@ckeditor/ckeditor5-engine": "^21.0.0",
"@ckeditor/ckeditor5-utils": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-ui": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-21.0.0.tgz",
"integrity": "sha512-oACL96HUbHhQ5Me5WpOYq9qZ+zJw0Hfqe+f8/UtCfQ99zHcrfZ2odvNHSPdn16cZ5f8ED+zLJNHb8b8IMWwy2Q==",
"requires": {
"@ckeditor/ckeditor5-core": "^21.0.0",
"@ckeditor/ckeditor5-utils": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-utils": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-21.0.0.tgz",
"integrity": "sha512-JDEFO/bC8uP/K6xHEJdN/Pm1G7EO2WG363CY3qGZc49eNvYeXrluniLHIh7pL3kUSIr0yqLjJGGdPKc/sZYsHQ==",
"requires": {
"lodash-es": "^4.17.15"
}
},
"@ckeditor/ckeditor5-widget": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-21.0.0.tgz",
"integrity": "sha512-wS/msbkKYgOeJiMK3jxDTpbBJG9Nof0unTbc7rp4HMCLQ1OL9IZvGcowzpMwBDiVoXY+gwyWApeWAnrRwbNbnw==",
"requires": {
"@ckeditor/ckeditor5-core": "^21.0.0",
"@ckeditor/ckeditor5-engine": "^21.0.0",
"@ckeditor/ckeditor5-typing": "^21.0.0",
"@ckeditor/ckeditor5-ui": "^21.0.0",
"@ckeditor/ckeditor5-utils": "^21.0.0",
"lodash-es": "^4.17.15"
}
},
"@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@ -2223,6 +2320,10 @@
"safe-buffer": "^5.0.1"
}
},
"ckeditor": {
"version": "github:unisharp/laravel-ckeditor#e404f291734aef3ef049809e7be203de286920d2",
"from": "github:unisharp/laravel-ckeditor"
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@ -3257,9 +3358,9 @@
"dev": true
},
"elliptic": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
"integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
"integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
"dev": true,
"requires": {
"bn.js": "^4.4.0",
@ -5273,11 +5374,16 @@
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true
},
"lodash-es": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
"integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
},
"lodash._baseassign": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",

View File

@ -10,17 +10,23 @@
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"@ckeditor/ckeditor5-inspector": "^2.2.0",
"axios": "^0.19",
"cross-env": "^7.0",
"jquery": "^3.5.1",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.13",
"lodash": "^4.17.19",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0",
"vue-template-compiler": "^2.6.11"
},
"dependencies": {
"@ckeditor/ckeditor5-alignment": "^21.0.0",
"@ckeditor/ckeditor5-build-classic": "^21.0.0",
"@ckeditor/ckeditor5-build-decoupled-document": "^21.0.0",
"@ckeditor/ckeditor5-table": "^21.0.0",
"ckeditor": "github:unisharp/laravel-ckeditor",
"moment": "^2.27.0"
}
}

View File

@ -10,36 +10,34 @@
@endsection
@section("content")
<style>
.ck-editor__main {
margin-bottom: 1rem;
}
</style>
<script src="https://cdn.ckeditor.com/ckeditor5/21.0.0/classic/ckeditor.js"></script>
<h1>Opret Aktivitet:</h1>
<form method="post" action="{{ route("events.store") }}">
@csrf
<label for="name">Navn:</label>
<label for="name">Event Navn:</label>
<input type="text" name="name" id="name" max="60" required>
<label for="description">Beskrivelse:</label>
<input type="text" name="description" id="description" max="500" required>
<label for="date">Aktivitet dato:</label>
<label for="accountable">Event Ansvarlig:</label>
<input type="text" name="accountable" id="accountable" required>
<label for="description">Event Beskrivelse:</label>
<textarea name="description" id="editor"></textarea>
<label for="date">Event dato:</label>
<input type="datetime-local" name="date" id="date" required>
<input type="submit" class="btn btn-dark text-white" value="Opret">
</form>
{{-- <table class="tbl">--}}
{{-- <tr>--}}
{{-- <th>ID</th>--}}
{{-- <th>Fornavn</th>--}}
{{-- <th>Efternavn</th>--}}
{{-- <th>Email</th>--}}
{{-- <th>Tlf nr</th>--}}
{{-- <th style="width: 1px;"><img class="w-100" src="{{ asset('/images/icons/pencil.svg') }}" alt="Update"></th>--}}
{{-- <th style="width: 1px;"><img class="w-100" src="{{ asset('/images/icons/trashcan.svg') }}" alt="Delete"></th>--}}
{{-- </tr>--}}
{{-- <tr>--}}
{{-- <td>{ID}</td>--}}
{{-- <td>{Fornavn}</td>--}}
{{-- <td>{Efternavn}</td>--}}
{{-- <td>{Email}</td>--}}
{{-- <td>{TLF}</td>--}}
{{-- <td><a href=""><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/trashcan-dark.svg') }}" alt="Delete"></a></td>--}}
{{-- </tr>--}}
{{-- </table>--}}
<script>
ClassicEditor
.create( document.querySelector( '#editor' ))
.then( editor => {
console.log( editor );
} )
.catch( error => {
console.error( error );
} );
</script>
@endsection

View File

@ -16,8 +16,10 @@
@method("PUT")
<label for="event_title">Event Titel:</label>
<input value="{{$event->name}}" type="text" name="name" id="event_title" required>
<label for="accountable">Event Ansvarlig:</label>
<input value="{{$event->accountable}}" type="text" name="accountable" id="accountable" required>
<label for="description">Beskrivelse</label>
<input value="{{$event->description}}" type="text" name="description" id="description" required>
<input value="{!! $event->description !!}" type="text" name="description" id="description" required>
<label for="date">Beskrivelse</label>
<input value="{{$event->date}}" type="datetime-local" name="date" id="date" required>

View File

@ -23,7 +23,7 @@
<table class="tbl mt-2">
<tr>
<th>Event Navn</th>
<th>Event Beskrivelse</th>
<th>Event Ansvarlig</th>
<th>Event Dato</th>
<th style="width: 1em;"><img class="w-100" src="{{ asset('/images/icons/eye.svg') }}" alt="Update"></th>
<th style="width: 1em;"><img class="w-100" src="{{ asset('/images/icons/pencil.svg') }}" alt="Update"></th>
@ -32,7 +32,7 @@
@foreach($events as $event)
<tr>
<td>{{ $event->name }}</td>
<td>{{ $event->description }}</td>
<td>{{ $event->accountable }}</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="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>

View File

@ -35,13 +35,12 @@
options: [
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
{ model: 'heading1', view: 'h3', title: 'Heading 1', class: 'sde-blue' },
{ model: 'heading2', view: 'h4', title: 'Heading 2', class: 'sde-blue' }
{ model: 'heading2', view: 'h4', title: 'Heading 2', class: 'sde-blue' },
]
}
} )
.catch( error => {
console.log( error );
} );
</script>
@endsection

View File

@ -10,8 +10,9 @@
@foreach($events as $event)
<form method="get" action="{{ route("userevents.create") }}">
<h3 class="sde-blue bold text-center mb-0">{{$event->name}}</h3>
<p class="text-center mt-0">Af: {{ $event->accountable }}</p>
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
<p class="text-center">{{$event->description}}</p>
{!! $event->description !!}
<input type="hidden" name="event_id" value="{{ $event->id }}">
{!! session()->get('error#' . $event->id) !!}
{!! session()->get('signup#' . $event->id) !!}