From 7faac22a20797677c772f0646612724121517564 Mon Sep 17 00:00:00 2001 From: Jordan Doyle Date: Sun, 19 Jun 2016 03:36:24 +0100 Subject: [PATCH] Add events types modification for management --- app/Http/Controllers/Management/EventTypeController.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/Http/routes.php | 5 ++++- app/Models/Event.php | 2 +- resources/views/layouts/nav.blade.php | 5 +++++ resources/views/management/event-types-form.blade.php | 37 +++++++++++++++++++++++++++++++++++++ resources/views/management/event-types.blade.php | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/Management/EventTypeController.php create mode 100644 resources/views/management/event-types-form.blade.php create mode 100644 resources/views/management/event-types.blade.php diff --git a/app/Http/Controllers/Management/EventTypeController.php b/app/Http/Controllers/Management/EventTypeController.php new file mode 100644 index 0000000..a6a9f80 --- /dev/null +++ b/app/Http/Controllers/Management/EventTypeController.php @@ -0,0 +1,74 @@ + + */ +class EventTypeController extends Controller +{ + /** + * Show the manager a list of types. + * + * @return mixed + */ + public function index() + { + return view('management.event-types', [ + 'types' => EventType::orderBy('id', 'desc')->paginate(15) + ]); + } + + /** + * Show the manager a form to add a new event type. + * + * @return mixed + */ + public function form() + { + return view('management.event-types-form'); + } + + /** + * Add an event type + * + * @param Request $request + * @return mixed + */ + public function add(Request $request) + { + $this->validate($request, [ + 'name' => 'required|min:3' + ]); + + $ban = new EventType(); + $ban->name = $request->get('name'); + $ban->save(); + + return redirect()->route('dashboard::management::event-type')->with('msg', [ + 'type' => 'success', + 'msg' => _('Successfully added a new event type.') + ]); + } + + /** + * Remove an event type. + * + * @param int $id id of the event type to delete. + * @return mixed + */ + public function delete(int $id) + { + EventType::findOrFail($id)->delete(); + + return redirect()->back()->with('msg', [ + 'type' => 'success', + 'msg' => _('Successfully removed the event type.') + ]); + } +} diff --git a/app/Http/routes.php b/app/Http/routes.php index 467d109..8f9f0bd 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -92,7 +92,10 @@ Route::group(['middleware' => 'auth', 'as' => 'dashboard::'], function () { 'namespace' => 'Management', 'middleware' => 'is:management' ], function () { - + Route::get('event-type', ['as' => 'event-type', 'uses' => 'EventTypeController@index']); + Route::get('event-type/add', ['as' => 'event-type.form', 'uses' => 'EventTypeController@form']); + Route::put('event-type', ['as' => 'event-type.add', 'uses' => 'EventTypeController@add']); + Route::delete('event-type/{id}', ['as' => 'event-type.delete', 'uses' => 'eventtypecontroller@delete']); }); Route::group([ diff --git a/app/Models/Event.php b/app/Models/Event.php index 31e1840..654a076 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -30,7 +30,7 @@ use Illuminate\Database\Query\Builder; * @method static Builder|Event whereYear($value) * @method static Builder|Event whereDay($value) * @method static Builder|Event whereHour($value) - * @method static Builder|Event whereEventTypesId($value) + * @method static Builder|Event whereEventTypeId($value) * @method static Builder|Event whereCreatedAt($value) * @method static Builder|Event whereUpdatedAt($value) * @method static Builder|Event whereDeletedAt($value) diff --git a/resources/views/layouts/nav.blade.php b/resources/views/layouts/nav.blade.php index 7b47ca4..878f9b8 100644 --- a/resources/views/layouts/nav.blade.php +++ b/resources/views/layouts/nav.blade.php @@ -79,6 +79,11 @@
Management + + + settings_applications Event Types + @endif @if(auth()->user()->isAdmin()) diff --git a/resources/views/management/event-types-form.blade.php b/resources/views/management/event-types-form.blade.php new file mode 100644 index 0000000..61cb1c9 --- /dev/null +++ b/resources/views/management/event-types-form.blade.php @@ -0,0 +1,37 @@ +@extends(Request::ajax() ? 'layouts.ajax-main' : 'layouts.main') + +@section('title'){{ _('Add Request Line Ban') }} @endsection +@section('page-title')Management chevron_right Event Types chevron_right Add @endsection + +@section('content') +
+
+

{{ _('Add Event Type') }}

+ +

{{ _('Here you can new event types for the events staff to use.') }}

+ +
+ {{ csrf_field() }} + {{ method_field('put') }} + +
+ + + @if ($errors->has('name')) + {{ $errors->first('name') }} + @endif +
+ +
+ +
+
+
+
+@endsection diff --git a/resources/views/management/event-types.blade.php b/resources/views/management/event-types.blade.php new file mode 100644 index 0000000..2a959e5 --- /dev/null +++ b/resources/views/management/event-types.blade.php @@ -0,0 +1,50 @@ +@extends(Request::ajax() ? 'layouts.ajax-main' : 'layouts.main') + +@section('title'){{ _('Event Types') }} @endsection +@section('page-title')Management chevron_right Event Types @endsection + +@section('content') +
+ {!! $types->links() !!} + + + + + + + + + + + + + + @foreach($types as $type) + + + + + + + + @endforeach + +
#NameAmount of EventsAdded
{{ $type->id }}{{ $type->name }}{{ App\Models\Event::whereEventTypeId($type->id)->count() }}{{ $type->created_at->diffForHumans() }} +
+ {{ csrf_field() }} + {{ method_field('delete') }} + + +
+
+ + {!! $types->links() !!} +
+ + + add + +@endsection -- libgit2 1.7.2