diff --git a/modules/Categories/Entities/.gitkeep b/modules/Categories/Entities/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/Categories/Entities/Category.php b/modules/Categories/Entities/Category.php new file mode 100644 index 00000000..f48fefde --- /dev/null +++ b/modules/Categories/Entities/Category.php @@ -0,0 +1,23 @@ +route('content.new', trans('staticpages::adminMenu.new'), ['moduleId' => self::getModuleId()], 10, ['icon' => 'fa fa-plus']); -// $menu->route('content.overview', trans('staticpages::adminMenu.overview'), ['moduleId' => self::getModuleId()], 20, ['icon' => 'fa fa-list']); + $menu->dropdown(trans('categories::categories.name'), function ($sub) { + $sub->route('categories.new', trans('categories::categories.new'), [], 10, ['icon' => 'fa fa-fw fa-plus']); + $sub->route('categories.overview', trans('categories::categories.overview'), [], 30, ['icon' => 'fa fa-fw fa-tags']); + }, 70, ['icon' => 'fa fa-fw fa-tags']); } /** diff --git a/modules/Categories/Http/Controllers/.gitkeep b/modules/Categories/Http/Controllers/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/Categories/Http/Controllers/CategoriesController.php b/modules/Categories/Http/Controllers/CategoriesController.php deleted file mode 100644 index 4bafb715..00000000 --- a/modules/Categories/Http/Controllers/CategoriesController.php +++ /dev/null @@ -1,12 +0,0 @@ -get(); + + + return view('categories::admin.new', [ + 'category' => $category, + 'categories' => $categories, + 'modules' => $modules + ]); + } + + /** + * Create new category + * + * @param Request $request + * + * @return \Illuminate\Http\RedirectResponse + */ + public function postNew(Request $request) + { + $category = new Category(); + $category->user_id = Auth::user()->id; + $category->module_id = $request->moduleId; + $category->name = $request->name; + $category->url = Str::slug($request->url); + $category->description = $request->description; + + if ((int)$request->parentCategory) { + $category->parent_id = $request->parentCategory; + } + + $category->save(); + + return redirect() + ->route('categories.overview') + ->with('success', trans('categories::categories.saveSuccessfull')); + } +} \ No newline at end of file diff --git a/modules/Categories/Http/routes.php b/modules/Categories/Http/routes.php index b50d95d9..6a7845df 100644 --- a/modules/Categories/Http/routes.php +++ b/modules/Categories/Http/routes.php @@ -1,6 +1,15 @@ 'web', 'prefix' => 'categories', 'namespace' => 'Modules\Categories\Http\Controllers'], function() -{ - Route::get('/', 'CategoriesController@index'); +Route::group([ + 'middleware' => ['web', 'auth', 'adminMenu'], + 'prefix' => 'admin/categories', + 'namespace' => 'Modules\Categories\Http\Controllers' + ], function () { + Route::get('/', 'CategoriesOverview@getOverview')->name('categories.overview'); + + Route::get('/new', 'CreateNewCategory@getNew')->name('categories.new'); + Route::post('/new', 'CreateNewCategory@postNew')->name('categories.postNew'); + + Route::get('/edit/{id}', 'EditCategory@getEdit')->name('categories.edit'); + Route::post('/edit/{id}', 'EditCategory@postEdit')->name('categories.postEdit'); }); \ No newline at end of file diff --git a/modules/Categories/Resources/lang/.gitkeep b/modules/Categories/Resources/lang/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/Categories/Resources/lang/en/categories.php b/modules/Categories/Resources/lang/en/categories.php new file mode 100644 index 00000000..ac7b0f92 --- /dev/null +++ b/modules/Categories/Resources/lang/en/categories.php @@ -0,0 +1,7 @@ + 'Categories', + 'description' => 'Module for category management and content categorization.', + 'new' => 'New category', + 'overview' => 'All categories', +]; \ No newline at end of file diff --git a/modules/Categories/Resources/views/.gitkeep b/modules/Categories/Resources/views/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/modules/Categories/Resources/views/admin/edit.blade.php b/modules/Categories/Resources/views/admin/edit.blade.php new file mode 100644 index 00000000..7e322823 --- /dev/null +++ b/modules/Categories/Resources/views/admin/edit.blade.php @@ -0,0 +1,7 @@ +@extends('admin.layout') + +@section('content') +

@lang('categories::categories.edit')

+ + @include('categories::admin.form', ['action' => route('categories.postEdit', ['id' => $category->id])]) +@endsection \ No newline at end of file diff --git a/modules/Categories/Resources/views/admin/form.blade.php b/modules/Categories/Resources/views/admin/form.blade.php new file mode 100644 index 00000000..5fa3c021 --- /dev/null +++ b/modules/Categories/Resources/views/admin/form.blade.php @@ -0,0 +1,46 @@ +
+ {!! csrf_field() !!} +
+ + + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/modules/Categories/Resources/views/admin/new.blade.php b/modules/Categories/Resources/views/admin/new.blade.php new file mode 100644 index 00000000..ffe2dd7d --- /dev/null +++ b/modules/Categories/Resources/views/admin/new.blade.php @@ -0,0 +1,7 @@ +@extends('admin.layout') + +@section('content') +

@lang('categories::categories.new')

+ + @include('categories::admin.form', ['action' => route('categories.postNew')]) +@endsection \ No newline at end of file diff --git a/modules/Categories/Resources/views/index.blade.php b/modules/Categories/Resources/views/admin/overview.blade.php similarity index 100% rename from modules/Categories/Resources/views/index.blade.php rename to modules/Categories/Resources/views/admin/overview.blade.php diff --git a/modules/Categories/Resources/views/layouts/master.blade.php b/modules/Categories/Resources/views/layouts/master.blade.php deleted file mode 100644 index fe1c090d..00000000 --- a/modules/Categories/Resources/views/layouts/master.blade.php +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Module Categories - - - @yield('content') - - \ No newline at end of file