FEATURE: split controllers/admin into more smaller directories

This commit is contained in:
Michal Kváček
2016-09-22 23:35:53 +02:00
parent 0357417163
commit 139373145a
41 changed files with 374 additions and 412 deletions
@@ -1,12 +1,11 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\ActionLog;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\ActionLog; use App\Models\ActionLog;
class ActionLogOverview extends Controller class Overview extends Controller
{ {
/** /**
* @var ActionLog * @var ActionLog
@@ -20,6 +19,7 @@ class ActionLogOverview extends Controller
*/ */
public function __construct(ActionLog $log) public function __construct(ActionLog $log)
{ {
parent::__construct();
$this->log = $log; $this->log = $log;
} }
@@ -1,7 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\Enumerations\ContentStatuses;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content; use App\Models\Content;
use App\Models\Module; use App\Models\Module;
use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Input;
@@ -1,9 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\Enumerations\ContentStatuses;
use App\Events\CreateNewContent as CreateNewContentEvent; use App\Events\CreateNewContent as CreateNewContentEvent;
use App\Http\Requests\CreateNewContentRequest; use App\Http\Requests\CreateNewContentRequest;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content; use App\Models\Content;
use App\Models\File; use App\Models\File;
use App\Models\Module; use App\Models\Module;
@@ -1,14 +1,14 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\Enumerations\ContentStatuses;
use App\Enumerations\ModulesHandlerToId;
use App\Events\AttemptToEditInvalidContent; use App\Events\AttemptToEditInvalidContent;
use App\Events\DeleteContent; use App\Events\DeleteContent;
use App\Events\EditContent as EditContentEvent; use App\Events\EditContent as EditContentEvent;
use App\Events\MakeDraftFromContent; use App\Events\MakeDraftFromContent;
use App\Events\PublishContent; use App\Events\PublishContent;
use App\Events\SetHomepage; use App\Events\SetHomepage;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditContentRequest; use App\Http\Requests\EditContentRequest;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Models\Content; use App\Models\Content;
@@ -62,7 +62,8 @@ class EditContent extends Controller
->first(); ->first();
// get module ID // get module ID
$module = Module::where('handler', $page->module_handler)->firstOrFail(); $module = Module::where('handler', $page->module_handler)
->firstOrFail();
// get all Blade templates for rendering page // get all Blade templates for rendering page
$templates = Template::where('module_id', $module->id) $templates = Template::where('module_id', $module->id)
@@ -142,7 +143,6 @@ class EditContent extends Controller
$request->titlePhotoFilename = $file ? $file['filename'] : null; $request->titlePhotoFilename = $file ? $file['filename'] : null;
// array of fields in database and fields from request // array of fields in database and fields from request
$fields = [ $fields = [
'title' => 'title', 'title' => 'title',
@@ -1,6 +1,7 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Contents;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content; use App\Models\Content;
use App\Models\ContentHistory; use App\Models\ContentHistory;
@@ -1,10 +1,11 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\Enumerations\CustomFieldTypes;
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent; use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewCustomFieldRequest; use App\Http\Requests\NewCustomFieldRequest;
use App\Models\CustomField; use App\Models\CustomField;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -1,11 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\Enumerations\CustomFieldTypes;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\CustomField; use App\Models\CustomField;
class CustomFieldsOverview extends Controller class CustomFieldsOverview extends Controller
@@ -1,13 +1,12 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\Enumerations\CustomFieldTypes;
use App\Events\DeleteCustomField; use App\Events\DeleteCustomField;
use App\Events\EditCustomField as EditCustomFieldEvent; use App\Events\EditCustomField as EditCustomFieldEvent;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Http\Requests\EditCustomFieldRequest; use App\Http\Requests\EditCustomFieldRequest;
use App\Models\CustomField; use App\Models\CustomField;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
-17
View File
@@ -1,17 +0,0 @@
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\Session;
class Dashboard extends Controller
{
public function getIndex(Request $request) {
return redirect()->route('content.overview');
// return view('admin.dashboard');
}
}
@@ -0,0 +1,14 @@
<?php
namespace App\Http\Controllers\Admin\Dashboard;
use App\Http\Controllers\Admin\Controller;
use Illuminate\Http\Request;
class Dashboard extends Controller
{
public function getIndex(Request $request)
{
return redirect()->route('content.overview');
}
}
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\FileManager;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\Directory; use App\Models\Directory;
@@ -30,8 +30,8 @@ class CreateNewDirectory extends Controller
} else { } else {
return redirect() return redirect()
->route('upload.overview', ['id' => $request->parentDirectory]) ->route('upload.overview', ['id' => $request->parentDirectory])
->with('error', trans('admin/fileManager.subdirectoryExists')) ->withInput()
->withInput(); ->with('error', trans('admin/fileManager.subdirectoryExists'));
} }
} }
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\FileManager;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\Directory; use App\Models\Directory;
@@ -12,7 +12,7 @@ class EditDirectory extends Controller
* @param Requests\EditDirectoryRequest $request * @param Requests\EditDirectoryRequest $request
* @param $directoryId * @param $directoryId
* *
* @return $this|\Illuminate\Http\JsonResponse * @return $this|\Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/ */
public function postEdit(Requests\EditDirectoryRequest $request, $directoryId) public function postEdit(Requests\EditDirectoryRequest $request, $directoryId)
{ {
@@ -34,8 +34,8 @@ class EditDirectory extends Controller
} else { } else {
return redirect() return redirect()
->route('upload.overview', ['id' => $directoryId]) ->route('upload.overview', ['id' => $directoryId])
->with('error', trans('admin/fileManager.subdirectoryExists')) ->withInput()
->withInput(); ->with('error', trans('admin/fileManager.subdirectoryExists'));
} }
} }
@@ -1,10 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\FileManager;
use App\Events\EditFile; use App\Events\EditFile;
use App\Helpers\FileManager; use App\Helpers\FileManager;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditUploadedFileRequest; use App\Http\Requests\EditUploadedFileRequest;
use App\Models\File; use App\Models\File;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -1,8 +1,9 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\FileManager;
use App\Models\File; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Models\File;
use Symfony\Component\HttpFoundation\File\Exception\FileException; use Symfony\Component\HttpFoundation\File\Exception\FileException;
class UploadFile extends Controller class UploadFile extends Controller
@@ -18,11 +19,12 @@ class UploadFile extends Controller
$this->file = $file; $this->file = $file;
} }
/** /**
* Uploads any file * Uploads any file
* *
* @return \Illuminate\Http\RedirectResponse * @param Request $request
*
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/ */
public function postFile(Request $request) public function postFile(Request $request)
{ {
@@ -38,12 +40,6 @@ class UploadFile extends Controller
$uploadedFiles[] = $uploadedFile; $uploadedFiles[] = $uploadedFile;
} }
// we do not want to redirect
if ($request->ajax()) {
return $this->jsonResponse($uploadedFiles);
}
// upload was not performed via ajax, redirect user
return redirect() return redirect()
->route('upload.overview', ['directory' => $request->directoryId]) ->route('upload.overview', ['directory' => $request->directoryId])
->with('success', trans_choice('admin/fileManager.uploadSuccessfull', $successfullUploads)); ->with('success', trans_choice('admin/fileManager.uploadSuccessfull', $successfullUploads));
@@ -52,31 +48,17 @@ class UploadFile extends Controller
} }
} }
/**
* Send message and redirect to upload.overview when upload failed
*
* @param $message
*
* @return \Illuminate\Http\RedirectResponse
*/
protected function invalidUpload($message) protected function invalidUpload($message)
{ {
return redirect() return redirect()
->route('upload.overview') ->route('upload.overview')
->with('error', trans('admin/fileManager.' . $message)); ->with('error', trans('admin/fileManager.' . $message));
} }
/**
* Send response about uploaded file as JSON
*
* @param $uploadedFile
*
* @return \Illuminate\Http\JsonResponse
*/
private function jsonResponse($uploadedFile)
{
$filename = $uploadedFile['file']->getFilename();
$url = config('app.upload_path') . DIRECTORY_SEPARATOR . $filename;
$data = [
'filename' => $filename,
'url' => $url,
'id' => $uploadedFile['id']
];
return response()->json($data);
}
} }
@@ -1,9 +1,7 @@
<?php <?php
namespace App\Http\Controllers\Admin\FileManager;
namespace App\Http\Controllers\Admin; use App\Http\Controllers\Admin\Controller;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Models\Directory; use App\Models\Directory;
use App\Models\File; use App\Models\File;
use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Input;
+27
View File
@@ -17,6 +17,16 @@ use Illuminate\Support\Facades\Hash;
*/ */
class Login extends Controller class Login extends Controller
{ {
/**
* Display login form
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getLogin()
{
return view('admin.loginForm');
}
/** /**
* Login handler * Login handler
* *
@@ -51,6 +61,23 @@ class Login extends Controller
return $this->loginFailed(); return $this->loginFailed();
} }
/**
* Logs out user
*
* @return \Illuminate\Http\RedirectResponse
*/
public function logout()
{
// remove user information
\Auth::logout();
// redirect to login form with info about successfull logout
return redirect()
->route('login')
->with('success', trans('admin/common.logoutSuccessfull'));
}
private function loginFailed() private function loginFailed()
{ {
return redirect() return redirect()
@@ -1,12 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Http\Requests\CopyTemplateRequest; use App\Http\Requests\CopyTemplateRequest;
use App\Models\Template; use App\Models\Template;
use Illuminate\Http\Request;
class CopyTemplate extends Controller class CopyTemplate extends Controller
{ {
@@ -28,11 +26,6 @@ class CopyTemplate extends Controller
// get template path // get template path
$template = Template::findOrFail($oldTemplateId); $template = Template::findOrFail($oldTemplateId);
// @todo add check for uniqueness of template_name
// get template path
$template = Template::findOrFail($oldTemplateId);
$namespace = null; $namespace = null;
if (strpos($template->template_name, '::')) { if (strpos($template->template_name, '::')) {
list($namespace) = explode('::', $template->template_name); list($namespace) = explode('::', $template->template_name);
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests; use App\Http\Requests;
@@ -20,6 +20,9 @@ class EditTemplate extends Controller
*/ */
public function getEdit($template) public function getEdit($template)
{ {
/**
* @var $template Template
*/
$template = Template::findOrFail($template); $template = Template::findOrFail($template);
$path = $template->getPath(); $path = $template->getPath();
@@ -1,11 +1,9 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\TemplatePath; use App\Models\TemplatePath;
use Illuminate\Http\Request;
class TemplateOverview extends Controller class TemplateOverview extends Controller
{ {
@@ -1,14 +0,0 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Requests\CreateNewUserRequest;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class UserProfile extends Controller {
}
@@ -1,11 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles; use App\Enumerations\UserRoles;
use App\Events\CreateNewUser as CreateNewUserEvent; use App\Events\CreateNewUser as CreateNewUserEvent;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Http\Requests\CreateNewUserRequest; use App\Http\Requests\CreateNewUserRequest;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -1,12 +1,11 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles; use App\Enumerations\UserRoles;
use App\Enumerations\UserStates; use App\Enumerations\UserStates;
use App\Events\EditUser as EditUserEvent; use App\Events\EditUser as EditUserEvent;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Http\Requests\EditUserRequest; use App\Http\Requests\EditUserRequest;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
@@ -22,8 +21,6 @@ class EditUser extends Controller
$id = Auth::user()->id; $id = Auth::user()->id;
} }
// @todo add some authorization (e.g. via can/cannot methods)
// try to find given user // try to find given user
$user = User::findOrFail($id); $user = User::findOrFail($id);
@@ -1,10 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles; use App\Enumerations\UserRoles;
use App\Enumerations\UserStates; use App\Enumerations\UserStates;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\ActionLog; use App\Models\ActionLog;
use App\Models\User; use App\Models\User;
@@ -1,11 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles; use App\Enumerations\UserRoles;
use App\Enumerations\UserStates; use App\Enumerations\UserStates;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\User; use App\Models\User;
class UsersOverview extends Controller class UsersOverview extends Controller
@@ -27,9 +26,9 @@ class UsersOverview extends Controller
$users = $users->paginate($perPage); $users = $users->paginate($perPage);
return view('admin.userManagement.overview', [ return view('admin.userManagement.overview', [
'users' => $users, 'users' => $users,
'roles' => UserRoles::getWithTranslations(), 'roles' => UserRoles::getWithTranslations(),
'statuses' => $statuses, 'statuses' => $statuses,
'currentStatus' => $status 'currentStatus' => $status
]); ]);
} }
@@ -1,9 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets\Areas;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Http\Requests\NewWidgetAreaRequest; use App\Http\Requests\NewWidgetAreaRequest;
use App\Models\WidgetArea; use App\Models\WidgetArea;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -17,7 +16,7 @@ class CreateNewWidgetArea extends Controller
*/ */
public function getNew() public function getNew()
{ {
return view('admin.widgets.area.new'); return view('admin.widgets.area.new', ['area' => new WidgetArea()]);
} }
/** /**
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets\Areas;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditWidgetAreaRequest; use App\Http\Requests\EditWidgetAreaRequest;
use App\Models\WidgetArea; use App\Models\WidgetArea;
use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Database\Eloquent\ModelNotFoundException;
@@ -10,6 +10,13 @@ use Illuminate\Support\Facades\Event;
class EditWidgetArea extends Controller class EditWidgetArea extends Controller
{ {
/**
* Display form for editing given widget area
*
* @param $id
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getEdit($id) public function getEdit($id)
{ {
$area = WidgetArea::findOrFail($id); $area = WidgetArea::findOrFail($id);
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets\Areas;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\WidgetArea; use App\Models\WidgetArea;
@@ -1,11 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets;
use App\Events\AssignWidget; use App\Events\AssignWidget;
use App\Events\RemoveWidgetFromArea; use App\Events\RemoveWidgetFromArea;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\Widget; use App\Models\Widget;
use App\Models\WidgetArea; use App\Models\WidgetArea;
use App\Models\WidgetInWidgetArea; use App\Models\WidgetInWidgetArea;
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets;
use App\Http\Controllers\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewWidgetRequest; use App\Http\Requests\NewWidgetRequest;
use App\Models\Widget; use App\Models\Widget;
use App\Models\WidgetType; use App\Models\WidgetType;
@@ -1,6 +1,7 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditWidgetRequest; use App\Http\Requests\EditWidgetRequest;
use App\Models\Widget; use App\Models\Widget;
use App\Widgets\Exceptions\MissingParameterException; use App\Widgets\Exceptions\MissingParameterException;
@@ -1,6 +1,7 @@
<?php <?php
namespace App\Http\Controllers\Admin; namespace App\Http\Controllers\Admin\Widgets;
use App\Http\Controllers\Admin\Controller;
use App\Models\Widget; use App\Models\Widget;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization; use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
+10 -220
View File
@@ -24,235 +24,26 @@ Route::group([
'prefix' => 'admin' 'prefix' => 'admin'
], function () { ], function () {
// these routes are available only for user with role admin // include all routes in routes/admin subfolder
Route::group(['middleware' => 'onlyAdmin'], function () { $files = ['contents', 'fileManager', 'settings', 'templates', 'users', 'widgets'];
// display form for creating new user foreach ($files as $file) {
Route::get('users/new', 'CreateNewUser@getNewUser') require_once __DIR__ . DIRECTORY_SEPARATOR . 'routes' . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARATOR . $file . '.php';
->name('users.new'); }
// POST methods
// display form for creating new user
Route::post('users/new', 'CreateNewUser@postRegistration')
->name('users.newPost');
// display form for edit of existing user
Route::get('users/edit/{id}', 'EditUser@getEditUser')
->name('users.edit');
// form for adding new custom field
Route::get('customfields/new', 'CreateNewCustomField@getNew')
->name('customfields.new');
// form for editing custom field
Route::get('customfields/edit/{id}', 'EditCustomField@getEditCustomField')
->name('customfields.edit');
// form for adding new custom field
Route::post('customfields/new', 'CreateNewCustomField@postNew')
->name('customfields.newPost');
// form for editing custom field
Route::post('customfields/edit/{id}', 'EditCustomField@postEditCustomField')
->name('customfields.editPost');
Route::get('customfields/delete/{id}', 'EditCustomField@deleteCustomField')
->name('customfields.delete');
Route::get('templates/overview/path/{id}', 'TemplateOverview@getPath')
->name('templates.overview');
Route::post('templates/copy', 'CopyTemplate@createCopy')
->name('templates.postCopy');
// Route::get('templates/new/{pathId}', 'TemplateOverview@getPath')
// ->name('templates.new');
Route::get('templates/edit/{id}', 'EditTemplate@getEdit')
->name('templates.edit');
Route::post('templates/edit/{id}', 'EditTemplate@postEdit')
->name('templates.postEdit');
});
// list of all static pages
Route::get('content/overview/{moduleId?}/{status?}', 'ContentOverview@getOverview')
->name('content.overview');
// form for creating new static page
Route::get('content/new/{moduleId}', 'CreateNewContent@getNew')
->name('content.new');
// form for editing existing static page
Route::get('content/edit/{id}', 'EditContent@getEdit')
->name('content.edit');
// post method for creating new static page
Route::post('content/new/{moduleId}', 'CreateNewContent@postNew')
->name('content.newPost');
// post method for creating new static page
Route::post('content/edit/{id}', 'EditContent@postEdit')
->name('content.editPost');
// routes for quick actions
// change status of page (protected, public or draft)
Route::get('content/status/{id}/{status}', 'EditContent@changeStatus')
->name('content.changeStatus');
// set homepage
Route::get('content/homepage/{id}', 'EditContent@setHomepage')
->name('content.setHomepage');
// delete page
Route::get('content/delete/{id}', 'EditContent@deletePage')
->name('content.delete');
// these routes are available for all logged (authenticated) users
// display dashboard with some usefull information // display dashboard with some usefull information
Route::get('/', 'Dashboard@getIndex') Route::get('/', 'Dashboard@getIndex')
->name('admin.dashboard'); ->name('admin.dashboard');
// display user detail in admin
Route::get('users/detail/{id?}', 'UserDetail@getDetail')
->name('users.detail');
// method for saving edited data of user
Route::post('users/edit/{id}', 'EditUser@postEdit')
->name('users.editPost');
// display list of all users registered into our system
Route::get('users/overview/{state?}/{perPage?}', 'UsersOverview@getOverview')
->name('users.overview');
// history of changes for specified page
Route::get('history/{id}', 'History@getOverview')
->name('content.history');
// history of changes for specified page
Route::get('history/{revision}/{id}', 'History@getDiff')
->name('history.diff');
// list of all actions // list of all actions
Route::get('actions', 'ActionLogOverview@getOverview') Route::get('actions', 'ActionLog\Overview@getOverview')
->name('log.overview'); ->name('log.overview');
// routes for widget areas // search form with results
Route::get('widgets/areas/overview', 'WidgetAreaOverview@getOverview')
->name('widgetareas.overview');
// form for new widget area
Route::get('widgets/areas/new', 'CreateNewWidgetArea@getNew')
->name('widgetareas.new');
// form for new widget area
Route::post('widgets/areas/new', 'CreateNewWidgetArea@postNew')
->name('widgetareas.postNew');
// edit form for widget area
Route::get('widgets/areas/edit/{id}', 'EditWidgetArea@getEdit')
->name('widgetareas.edit');
Route::post('widgets/areas/edit/{id}', 'EditWidgetArea@postEdit')
->name('widgetareas.postEdit');
// edit form for widget area
Route::get('widgets/areas/delete/{id}', 'EditWidgetArea@deleteArea')
->name('widgetareas.delete');
// list of all installed widget types
Route::get('widgets/overview', 'WidgetsOverview@getOverview')
->name('widgets.overview');
// create new instance of widget of given type
Route::get('widgets/new/{type}', 'CreateNewWidget@getNew')
->name('widgets.new');
Route::post('widgets/new/{type}', 'CreateNewWidget@postNew')
->name('widgets.postNew');
// edit widget settings
Route::get('widgets/edit/{id}', 'EditWidget@getEdit')
->name('widgets.edit');
// delete widget settings
Route::get('widgets/delete/{id}', 'EditWidget@deleteWidget')
->name('widgets.delete');
Route::post('widgets/edit/{id}', 'EditWidget@postEdit')
->name('widgets.postEdit');
// display form for association of widget and widget area
Route::get('widgets/associate/{widgetArea}', 'AssociateWidget@getList')
->name('widgets.associate');
Route::get('widgets/deassociate/{widgetId}/{widgetArea}', 'AssociateWidget@deleteAssociation')
->name('widgets.deleteAssociation');
Route::get('widgets/associate/{widgetId}/{widgetArea}', 'AssociateWidget@makeAssociation')
->name('widgets.makeAssociation');
// uploader methods
Route::get('directories/new/{id?}', 'CreateNewDirectory@getNew')
->name('upload.newDirectory');
Route::get('directories/edit/{id}', 'EditDirectory@getEdit')
->name('upload.editDirectory');
Route::post('directories/edit/{id}', 'EditDirectory@postEdit')
->name('upload.postEditDirectory');
Route::get('files/overview/{id?}/{type?}/{subtype?}', 'UploadedFilesOverview@getOverview')
->name('upload.overview');
route::post('directories/new', 'CreateNewDirectory@postNew')
->name('upload.postNewDirectory');
Route::get('upload/detail/{id}', 'EditUploadedFile@getDetail')
->name('upload.detail');
Route::post('upload/detail/{id}', 'EditUploadedFile@postEdit')
->name('upload.postEdit');
Route::get('upload/delete/{id}', 'EditUploadedFile@deleteFile')
->name('upload.delete');
// uploader methods
Route::post('upload/file', 'UploadFile@postFile')
->name('upload.postFile');
Route::post('upload/image', 'UploadFile@postImage')
->name('upload.postImage');
// form with settings
Route::get('settings', 'Settings@getOverview')
->name('settings.overview');
Route::post('settings', 'Settings@saveSettings')
->name('settings.save');
Route::get('search', 'Search@getSearch') Route::get('search', 'Search@getSearch')
->name('search'); ->name('search');
// custom fields
// ------------------------------
// list of all custom fields
Route::get('customfields/overview', 'CustomFieldsOverview@getOverview')
->name('customfields.overview');
// logout method // logout method
Route::get('logout', function () { Route::get('logout', 'Login@logout')
// remove user information
\Auth::logout();
// redirect to login form with info about successfull logout
return redirect()
->route('login')
->with('success', trans('admin/common.logoutSuccessfull'));
})
->name('logout'); ->name('logout');
}); });
@@ -264,13 +55,12 @@ Route::group([
Route::group(['middleware' => ['web']], function () { Route::group(['middleware' => ['web']], function () {
// Homepage
Route::get('/', 'Visitor\Homepage@getIndex') Route::get('/', 'Visitor\Homepage@getIndex')
->name('page.index'); ->name('page.index');
// display login form // display login form
Route::get('admin/login', function () { Route::get('admin/login', 'Admin\Login@getLogin')
return view('admin.loginForm');
})
->name('loginForm'); ->name('loginForm');
// handle login // handle login
+42
View File
@@ -0,0 +1,42 @@
<?php
Route::group(['namespace' => 'Contents'], function () {
// list of all static pages
Route::get('content/overview/{moduleId?}/{status?}', 'ContentOverview@getOverview')
->name('content.overview');
// form for creating new static page
Route::get('content/new/{moduleId}', 'CreateNewContent@getNew')
->name('content.new');
// form for editing existing static page
Route::get('content/edit/{id}', 'EditContent@getEdit')
->name('content.edit');
// post method for creating new static page
Route::post('content/new/{moduleId}', 'CreateNewContent@postNew')
->name('content.newPost');
// post method for creating new static page
Route::post('content/edit/{id}', 'EditContent@postEdit')
->name('content.editPost');
// change status of page (protected, public or draft)
Route::get('content/status/{id}/{status}', 'EditContent@changeStatus')
->name('content.changeStatus');
// set homepage
Route::get('content/homepage/{id}', 'EditContent@setHomepage')
->name('content.setHomepage');
// delete page
Route::get('content/delete/{id}', 'EditContent@deletePage')
->name('content.delete');
// history of changes for specified page
Route::get('history/{id}', 'History@getOverview')
->name('content.history');
// history of changes for specified page
Route::get('history/{revision}/{id}', 'History@getDiff')
->name('history.diff');
});
+32
View File
@@ -0,0 +1,32 @@
<?php
Route::group(['namespace' => 'FileManager'], function () {
Route::get('files/overview/{id?}/{type?}/{subtype?}', 'UploadedFilesOverview@getOverview')
->name('upload.overview');
// uploader methods
Route::get('directories/new/{id?}', 'CreateNewDirectory@getNew')
->name('upload.newDirectory');
Route::get('directories/edit/{id}', 'EditDirectory@getEdit')
->name('upload.editDirectory');
Route::post('directories/edit/{id}', 'EditDirectory@postEdit')
->name('upload.postEditDirectory');
route::post('directories/new', 'CreateNewDirectory@postNew')
->name('upload.postNewDirectory');
Route::get('upload/detail/{id}', 'EditUploadedFile@getDetail')
->name('upload.detail');
Route::post('upload/detail/{id}', 'EditUploadedFile@postEdit')
->name('upload.postEdit');
Route::get('upload/delete/{id}', 'EditUploadedFile@deleteFile')
->name('upload.delete');
// uploader methods
Route::post('upload', 'UploadFile@postFile')
->name('upload.postFile');
});
+7
View File
@@ -0,0 +1,7 @@
<?php
// form with settings
Route::get('settings', 'Settings@getOverview')
->name('settings.overview');
Route::post('settings', 'Settings@saveSettings')
->name('settings.save');
+15
View File
@@ -0,0 +1,15 @@
<?php
// these routes are available only for user with role admin
Route::group(['middleware' => 'onlyAdmin', 'namespace' => 'Templates'], function () {
Route::get('templates/overview/path/{id}', 'TemplateOverview@getPath')
->name('templates.overview');
Route::post('templates/copy', 'CopyTemplate@createCopy')
->name('templates.postCopy');
Route::get('templates/edit/{id}', 'EditTemplate@getEdit')
->name('templates.edit');
Route::post('templates/edit/{id}', 'EditTemplate@postEdit')
->name('templates.postEdit');
});
+27
View File
@@ -0,0 +1,27 @@
<?php
Route::group(['namespace' => 'Users'], function () {
// display form for creating new user
Route::get('users/new', 'CreateNewUser@getNewUser')
->name('users.new');
// POST methods
// display form for creating new user
Route::post('users/new', 'CreateNewUser@postRegistration')
->name('users.newPost');
// display form for edit of existing user
Route::get('users/edit/{id}', 'EditUser@getEditUser')
->name('users.edit');
// display user detail in admin
Route::get('users/detail/{id?}', 'UserDetail@getDetail')
->name('users.detail');
// method for saving edited data of user
Route::post('users/edit/{id}', 'EditUser@postEdit')
->name('users.editPost');
// display list of all users registered into our system
Route::get('users/overview/{state?}/{perPage?}', 'UsersOverview@getOverview')
->name('users.overview');
});
+60
View File
@@ -0,0 +1,60 @@
<?php
// routes for widget areas
Route::group(['namespace' => 'Widgets'], function () {
// list of all installed widget types
Route::get('widgets/overview', 'WidgetsOverview@getOverview')
->name('widgets.overview');
// create new instance of widget of given type
Route::get('widgets/new/{type}', 'CreateNewWidget@getNew')
->name('widgets.new');
Route::post('widgets/new/{type}', 'CreateNewWidget@postNew')
->name('widgets.postNew');
// edit widget settings
Route::get('widgets/edit/{id}', 'EditWidget@getEdit')
->name('widgets.edit');
// delete widget settings
Route::get('widgets/delete/{id}', 'EditWidget@deleteWidget')
->name('widgets.delete');
Route::post('widgets/edit/{id}', 'EditWidget@postEdit')
->name('widgets.postEdit');
// display form for association of widget and widget area
Route::get('widgets/associate/{widgetArea}', 'AssociateWidget@getList')
->name('widgets.associate');
Route::get('widgets/deassociate/{widgetId}/{widgetArea}', 'AssociateWidget@deleteAssociation')
->name('widgets.deleteAssociation');
Route::get('widgets/associate/{widgetId}/{widgetArea}', 'AssociateWidget@makeAssociation')
->name('widgets.makeAssociation');
Route::group(['namespace' => 'Areas'], function () {
Route::get('widgets/areas/overview', 'WidgetAreaOverview@getOverview')
->name('widgetareas.overview');
// form for new widget area
Route::get('widgets/areas/new', 'CreateNewWidgetArea@getNew')
->name('widgetareas.new');
// form for new widget area
Route::post('widgets/areas/new', 'CreateNewWidgetArea@postNew')
->name('widgetareas.postNew');
// edit form for widget area
Route::get('widgets/areas/edit/{id}', 'EditWidgetArea@getEdit')
->name('widgetareas.edit');
Route::post('widgets/areas/edit/{id}', 'EditWidgetArea@postEdit')
->name('widgetareas.postEdit');
// edit form for widget area
Route::get('widgets/areas/delete/{id}', 'EditWidgetArea@deleteArea')
->name('widgetareas.delete');
});
});
+27 -27
View File
@@ -1,30 +1,30 @@
<?php <?php
return [ return [
"actionLog" => "Záznam událostí", "actionLog" => "Záznam událostí",
"assignWidgets" => "Přidat widget", "assignWidgets" => "Přidat widget",
"contentPageOverview" => "Přehled", "contentPageOverview" => "Přehled",
"contentPages" => "Stránky", "contentPages" => "Stránky",
"customFields" => "Uživatelská pole", "customFields" => "Uživatelská pole",
"customFieldsNew" => "Nové pole", "customFieldsNew" => "Nové pole",
"customFieldsOverview" => "Přehled", "customFieldsOverview" => "Přehled",
"dashboard" => "Nástěnka", "dashboard" => "Nástěnka",
"directories" => "Adresáře", "directories" => "Adresáře",
"fileManager" => "Správce souborů", "fileManager" => "Správce souborů",
"newContentPage" => "Nová stránka", "newContentPage" => "Nová stránka",
"newUser" => "Nový uživatel", "newUser" => "Nový uživatel",
"newWidget" => "Nový widget", "newWidget" => "Nový widget",
"newWidgetArea" => "Nová plocha", "newWidgetArea" => "Nová plocha",
"settings" => "Nastavení", "settings" => "Nastavení",
"system" => "Systém", "system" => "Systém",
"templates" => "Šablony", "templates" => "Šablony",
"uploadFile" => "Nový soubor", "uploadFile" => "Nový soubor",
"uploadImage" => "Nový obrázek", "uploadImage" => "Nový obrázek",
"uploadedFiles" => "Přehled", "uploadedFiles" => "Přehled",
"userDetail" => "Můj profil", "userDetail" => "Můj profil",
"userManagement" => "Uživatelé", "userManagement" => "Uživatelé",
"usersOverview" => "Přehled", "usersOverview" => "Přehled",
"widgetAreaOverview" => "Seznam všech ploch pro widgety", "widgetAreaOverview" => "Všechny plochy",
"widgetAreas" => "Plochy pro widgety", "widgetAreas" => "Plochy pro widgety",
"widgets" => "Widgety", "widgets" => "Widgety",
"widgetsOverview" => "Všechny widgety", "widgetsOverview" => "Všechny widgety",
]; ];
+20 -20
View File
@@ -1,23 +1,23 @@
<?php <?php
return [ return [
"actions" => "Akce", "actions" => "Akce",
"associateWidgets" => "Přiřadit widgety do této plochy", "associateWidgets" => "Přiřadit widgety do této plochy",
"code" => "Unikátní kód (používá se v šablonách pro vykreslení)", "code" => "Unikátní kód (používá se v šablonách pro vykreslení)",
"createNew" => "Vytvořit novou plochu", "createNew" => "Vytvořit novou plochu",
"delete" => "Smazat", "delete" => "Smazat",
"description" => "Popis", "description" => "Popis",
"edit" => "Upravuji plochu :name", "edit" => "Upravuji plochu :name",
"editButton" => "Upravit", "editButton" => "Upravit",
"editSuccessfull" => "Změny úspěšně uloženy", "editSuccessfull" => "Změny úspěšně uloženy",
"editTooltip" => "Upravit plochu pro widgety", "editTooltip" => "Upravit plochu pro widgety",
"invalidArea" => "Zvolená plocha pro widgety není platná. Vyberte prosím nějakou jinou.", "invalidArea" => "Zvolená plocha pro widgety není platná. Vyberte prosím nějakou jinou.",
"name" => "Jméno", "name" => "Jméno",
"new" => "Nová plocha pro widgety", "new" => "Nová plocha pro widgety",
"noEntries" => "Zatím nebyla definována žádná plocha pro widgety.", "noEntries" => "Zatím nebyla definována žádná plocha pro widgety.",
"notDeletableArea" => "Nelze smazat požadovanou plochu. Tato plocha je nezbytnou součástí nainstalované šablony a její odstranění by znefunkčnilo celou šablonu.", "notDeletableArea" => "Nelze smazat požadovanou plochu. Tato plocha je nezbytnou součástí nainstalované šablony a její odstranění by znefunkčnilo celou šablonu.",
"overview" => "Seznam všech ploch pro widgety", "overview" => "Všechny plochy",
"save" => "Uložit", "save" => "Uložit",
"successfullyCreated" => "Plocha pro widgety úspěšně vytvořena", "successfullyCreated" => "Plocha pro widgety úspěšně vytvořena",
"successfullyDeleted" => "Úspěšně smazáno", "successfullyDeleted" => "Úspěšně smazáno",
"uniqueCode" => "Unikátní kód", "uniqueCode" => "Unikátní kód",
]; ];
@@ -5,14 +5,15 @@
@lang('admin/widgetAreas.name') @lang('admin/widgetAreas.name')
</label> </label>
<input type="text" class="form-control" name="name" value="{{$area->name}}" <input type="text" class="form-control" name="name" value="{{old('name', $area->name)}}"
placeholder="@lang('admin/widgetAreas.name')" /> placeholder="@lang('admin/widgetAreas.name')" />
<label class="control-label"> <label class="control-label">
@lang('admin/widgetAreas.code') @lang('admin/widgetAreas.code')
</label> </label>
<input type="text" class="form-control" name="code" @if($area->code) disabled @endif value="{{$area->code}}" <input type="text" class="form-control" name="code" @if($area->code) disabled
@endif value="{{old('code', $area->code)}}"
placeholder="@lang('admin/widgetAreas.code')" /> placeholder="@lang('admin/widgetAreas.code')" />
<label class="control-label"> <label class="control-label">
@@ -20,7 +21,7 @@
</label> </label>
<textarea rows="3" class="form-control" name="description" <textarea rows="3" class="form-control" name="description"
placeholder="@lang('admin/widgetAreas.description')">{{$area->description}}</textarea> placeholder="@lang('admin/widgetAreas.description')">{{old('description', $area->description)}}</textarea>
<button type="submit" class="btn btn-primary">@lang('admin/widgetAreas.save')</button> <button type="submit" class="btn btn-primary">@lang('admin/widgetAreas.save')</button>
</form> </form>