diff options
-rw-r--r-- | app/Http/Controllers/SpecialCallsController.php | 26 | ||||
-rw-r--r-- | resources/views/pages/callsigns.blade.php | 2 | ||||
-rw-r--r-- | resources/views/pages/editsign.blade.php | 42 | ||||
-rw-r--r-- | routes/web.php | 5 |
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']); |