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
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\ActionLog;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\ActionLog;
class ActionLogOverview extends Controller
class Overview extends Controller
{
/**
* @var ActionLog
@@ -20,6 +19,7 @@ class ActionLogOverview extends Controller
*/
public function __construct(ActionLog $log)
{
parent::__construct();
$this->log = $log;
}
@@ -1,7 +1,8 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content;
use App\Models\Module;
use Illuminate\Support\Facades\Input;
@@ -1,9 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\Events\CreateNewContent as CreateNewContentEvent;
use App\Http\Requests\CreateNewContentRequest;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content;
use App\Models\File;
use App\Models\Module;
@@ -1,14 +1,14 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\Enumerations\ModulesHandlerToId;
use App\Events\AttemptToEditInvalidContent;
use App\Events\DeleteContent;
use App\Events\EditContent as EditContentEvent;
use App\Events\MakeDraftFromContent;
use App\Events\PublishContent;
use App\Events\SetHomepage;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditContentRequest;
use App\Http\Requests\Request;
use App\Models\Content;
@@ -60,9 +60,10 @@ class EditContent extends Controller
$template = Module::where('is_template', true)
->where('enabled', true)
->first();
// 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
$templates = Template::where('module_id', $module->id)
@@ -81,7 +82,7 @@ class EditContent extends Controller
// modify data for edit form according to installed template
call_user_func_array([$template->handler, 'beforePopulatingEditForm'], [&$page]);
$history = $this->history->getStructuredHistoryOf($page);
// render view
@@ -142,7 +143,6 @@ class EditContent extends Controller
$request->titlePhotoFilename = $file ? $file['filename'] : null;
// array of fields in database and fields from request
$fields = [
'title' => 'title',
@@ -1,6 +1,7 @@
<?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\ContentHistory;
@@ -1,10 +1,11 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewCustomFieldRequest;
use App\Models\CustomField;
use Illuminate\Support\Facades\Event;
@@ -1,11 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\CustomField;
class CustomFieldsOverview extends Controller
@@ -1,13 +1,12 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\Events\DeleteCustomField;
use App\Events\EditCustomField as EditCustomFieldEvent;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditCustomFieldRequest;
use App\Models\CustomField;
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
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\Models\Directory;
@@ -30,8 +30,8 @@ class CreateNewDirectory extends Controller
} else {
return redirect()
->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
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\Models\Directory;
@@ -12,7 +12,7 @@ class EditDirectory extends Controller
* @param Requests\EditDirectoryRequest $request
* @param $directoryId
*
* @return $this|\Illuminate\Http\JsonResponse
* @return $this|\Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/
public function postEdit(Requests\EditDirectoryRequest $request, $directoryId)
{
@@ -34,8 +34,8 @@ class EditDirectory extends Controller
} else {
return redirect()
->route('upload.overview', ['id' => $directoryId])
->with('error', trans('admin/fileManager.subdirectoryExists'))
->withInput();
->withInput()
->with('error', trans('admin/fileManager.subdirectoryExists'));
}
}
@@ -1,10 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\FileManager;
use App\Events\EditFile;
use App\Helpers\FileManager;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditUploadedFileRequest;
use App\Models\File;
use Illuminate\Support\Facades\Event;
@@ -1,8 +1,9 @@
<?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\Models\File;
use Symfony\Component\HttpFoundation\File\Exception\FileException;
class UploadFile extends Controller
@@ -18,11 +19,12 @@ class UploadFile extends Controller
$this->file = $file;
}
/**
* Uploads any file
*
* @return \Illuminate\Http\RedirectResponse
* @param Request $request
*
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/
public function postFile(Request $request)
{
@@ -38,12 +40,6 @@ class UploadFile extends Controller
$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()
->route('upload.overview', ['directory' => $request->directoryId])
->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)
{
return redirect()
->route('upload.overview')
->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
namespace App\Http\Controllers\Admin\FileManager;
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\Directory;
use App\Models\File;
use Illuminate\Support\Facades\Input;
+27
View File
@@ -17,6 +17,16 @@ use Illuminate\Support\Facades\Hash;
*/
class Login extends Controller
{
/**
* Display login form
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function getLogin()
{
return view('admin.loginForm');
}
/**
* Login handler
*
@@ -51,6 +61,23 @@ class Login extends Controller
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()
{
return redirect()
@@ -1,12 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\CopyTemplateRequest;
use App\Models\Template;
use Illuminate\Http\Request;
class CopyTemplate extends Controller
{
@@ -28,11 +26,6 @@ class CopyTemplate extends Controller
// get template path
$template = Template::findOrFail($oldTemplateId);
// @todo add check for uniqueness of template_name
// get template path
$template = Template::findOrFail($oldTemplateId);
$namespace = null;
if (strpos($template->template_name, '::')) {
list($namespace) = explode('::', $template->template_name);
@@ -1,6 +1,6 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller;
use App\Http\Requests;
@@ -20,6 +20,9 @@ class EditTemplate extends Controller
*/
public function getEdit($template)
{
/**
* @var $template Template
*/
$template = Template::findOrFail($template);
$path = $template->getPath();
@@ -1,11 +1,9 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Templates;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\TemplatePath;
use Illuminate\Http\Request;
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
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles;
use App\Events\CreateNewUser as CreateNewUserEvent;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\CreateNewUserRequest;
use App\Models\User;
use Illuminate\Support\Facades\Event;
@@ -1,12 +1,11 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles;
use App\Enumerations\UserStates;
use App\Events\EditUser as EditUserEvent;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditUserRequest;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
@@ -22,8 +21,6 @@ class EditUser extends Controller
$id = Auth::user()->id;
}
// @todo add some authorization (e.g. via can/cannot methods)
// try to find given user
$user = User::findOrFail($id);
@@ -1,10 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles;
use App\Enumerations\UserStates;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\ActionLog;
use App\Models\User;
@@ -1,11 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Users;
use App\Enumerations\UserRoles;
use App\Enumerations\UserStates;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\User;
class UsersOverview extends Controller
@@ -27,9 +26,9 @@ class UsersOverview extends Controller
$users = $users->paginate($perPage);
return view('admin.userManagement.overview', [
'users' => $users,
'roles' => UserRoles::getWithTranslations(),
'statuses' => $statuses,
'users' => $users,
'roles' => UserRoles::getWithTranslations(),
'statuses' => $statuses,
'currentStatus' => $status
]);
}
@@ -1,9 +1,8 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Widgets\Areas;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewWidgetAreaRequest;
use App\Models\WidgetArea;
use Illuminate\Support\Facades\Event;
@@ -17,7 +16,7 @@ class CreateNewWidgetArea extends Controller
*/
public function getNew()
{
return view('admin.widgets.area.new');
return view('admin.widgets.area.new', ['area' => new WidgetArea()]);
}
/**
@@ -1,8 +1,8 @@
<?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\Models\WidgetArea;
use Illuminate\Database\Eloquent\ModelNotFoundException;
@@ -10,6 +10,13 @@ use Illuminate\Support\Facades\Event;
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)
{
$area = WidgetArea::findOrFail($id);
@@ -1,8 +1,8 @@
<?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\Models\WidgetArea;
@@ -1,11 +1,10 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Widgets;
use App\Events\AssignWidget;
use App\Events\RemoveWidgetFromArea;
use App\Http\Controllers\Controller;
use App\Http\Requests;
use App\Http\Controllers\Admin\Controller;
use App\Models\Widget;
use App\Models\WidgetArea;
use App\Models\WidgetInWidgetArea;
@@ -1,8 +1,8 @@
<?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\Models\Widget;
use App\Models\WidgetType;
@@ -1,6 +1,7 @@
<?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\Models\Widget;
use App\Widgets\Exceptions\MissingParameterException;
@@ -1,6 +1,7 @@
<?php
namespace App\Http\Controllers\Admin;
namespace App\Http\Controllers\Admin\Widgets;
use App\Http\Controllers\Admin\Controller;
use App\Models\Widget;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;