aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateja <mail@matejamaric.com>2020-11-01 18:38:02 +0100
committerMateja <mail@matejamaric.com>2020-11-01 18:38:02 +0100
commit8fee1d776d8f2f538968b1d761dfbbfd3e52ae27 (patch)
tree7c958ac82840a278236ec6dda81131e38a52a42e
parent0ce5bbcc443b9da12e5233a481f2ef15017ee891 (diff)
downloadyota-laravel-8fee1d776d8f2f538968b1d761dfbbfd3e52ae27.tar.gz
yota-laravel-8fee1d776d8f2f538968b1d761dfbbfd3e52ae27.zip
Editing signs buggy...
-rw-r--r--app/Http/Controllers/SpecialCallsController.php26
-rw-r--r--resources/views/pages/callsigns.blade.php2
-rw-r--r--resources/views/pages/editsign.blade.php42
-rw-r--r--routes/web.php5
4 files changed, 74 insertions, 1 deletions
diff --git a/app/Http/Controllers/SpecialCallsController.php b/app/Http/Controllers/SpecialCallsController.php
index 073bf6e..3d6f2b9 100644
--- a/app/Http/Controllers/SpecialCallsController.php
+++ b/app/Http/Controllers/SpecialCallsController.php
@@ -131,4 +131,30 @@ class SpecialCallsController extends Controller
{
return Redirect::back();
}
+
+ public function edit(Request $request, int $id)
+ {
+ $data = SpecialCall::findOrFail($id);
+ return view('pages.editsign', compact('data'));
+ }
+
+ public function editForm(Request $request, int $id)
+ {
+ $rules = [ 'sign' => 'required' ];
+ $messages = [ 'sign.required' => 'You need to provide a callsign!' ];
+ $validator = Validator::make($request->all(), $rules, $messages);
+
+ if ($validator->fails()) {
+ return Redirect::back()
+ ->withErrors($validator)
+ ->withInput();
+ }
+
+ $data = SpecialCall::findOrFail($id);
+ $data->sign = strtoupper($request->sign);
+ $data->description = $request->description;
+ $data->saveOrFail();
+
+ return Redirect::back()->with('statusE', 'Callsign edited.');
+ }
}
diff --git a/resources/views/pages/callsigns.blade.php b/resources/views/pages/callsigns.blade.php
index b4814bb..31d7ccf 100644
--- a/resources/views/pages/callsigns.blade.php
+++ b/resources/views/pages/callsigns.blade.php
@@ -12,7 +12,7 @@
@foreach ($data as $row)
<tr>
<td class="align-middle">{{ $row->sign }}</td>
- <td><button class="btn btn-warning">Edit</button></td>
+ <td><a href="{{ route('edit', $row->id) }}" class="btn btn-warning">Edit</a></td>
<td><button class="btn btn-danger">Delete</button></td>
</tr>
@endforeach
diff --git a/resources/views/pages/editsign.blade.php b/resources/views/pages/editsign.blade.php
new file mode 100644
index 0000000..9f1f5ee
--- /dev/null
+++ b/resources/views/pages/editsign.blade.php
@@ -0,0 +1,42 @@
+@extends('layouts.app')
+
+@section('title', 'Edit callsign')
+
+@section('navbar', View::make('inc.special_navbar'))
+
+@section('content')
+ <h3 class="mt-2">Edit Callsign:</h3>
+ @if (session('status'))
+ <div class="alert alert-success">
+ {{ session('status') }}
+ </div>
+ @endif
+ <form action="{{ route('editForm', 1) }}" method="POST">
+ @csrf
+ <div class="form-group">
+ <label for="Sign">Special Callsign:</label>
+ <input type="text" name="sign" value="{{ $data->sign }}" id="Sign" class="form-control">
+ @error('sign')
+ <div class="alert alert-danger mt-2">{{ $message }}</div>
+ @enderror
+ </div>
+ <div class="form-group">
+ <label for="editor">Description:</label>
+ <textarea name="description" id="editor" class="form-control">{{ $data->description }}</textarea>
+ </div>
+ <div class="form-group">
+ <input type="submit" name="submit" value="Edit callsign" class="btn btn-primary">
+ <input type="submit" name="submit" value="Cancel" class="btn btn-secondary">
+ </div>
+ </form>
+@endsection
+
+@section('scripts')
+<script src="https://cdn.ckeditor.com/ckeditor5/23.1.0/classic/ckeditor.js"></script>
+<script>
+ClassicEditor.create(document.querySelector('#editor'))
+ .catch(error => {
+ console.error( error );
+ });
+</script>
+@endsection
diff --git a/routes/web.php b/routes/web.php
index 1d04dbf..1f9f47f 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -46,6 +46,11 @@ Route::get('/special-calls/add', [SpecialCallsController::class, 'add'])->name('
Route::post('/special-calls/add', [SpecialCallsController::class, 'addForm'])->name('addSignForm')
->middleware(['auth']);
+Route::get('/special-calls/edit/{id}', [SpecialCallsController::class, 'edit'])->name('edit')
+ ->middleware(['auth']);
+Route::post('/special-calls/edit/{id}', [SpecialCallsController::class, 'editForm'])->name('editForm')
+ ->middleware(['auth']);
+
Route::get('/special-calls/reservations', [SpecialCallsController::class, 'reservations'])->name('reservations')
->middleware(['auth']);