diff --git a/app/CMS/Repositories/FileManager/Directory.php b/app/CMS/Repositories/FileManager/Directory.php index 96083fab..0e6250ec 100644 --- a/app/CMS/Repositories/FileManager/Directory.php +++ b/app/CMS/Repositories/FileManager/Directory.php @@ -3,15 +3,32 @@ namespace App\CMS\Repositories\FileManager; use App\CMS\Helpers\RootDirectory; use App\Models\FileManager\Directory as DirectoryModel; -use App\Models\FileManager\File; class Directory { - public function checkIfNameExists($name, $directoryId) + /** + * Checks if directory with given name does not exist in current directory + * + * @param $name + * @param $parentDirectoryId + * @param bool $ignoredId + */ + public function checkIfNameExists($name, $parentDirectoryId, $ignoredId = false) { - return DirectoryModel::where('name', $name) - ->where('parent_id', $directoryId) - ->exists(); + $exists = DirectoryModel::where('name', $name) + ->where('parent_id', $parentDirectoryId); + + if ($ignoredId !== false) { + $exists = $exists->where('id', '!=', $ignoredId); + } + + return $exists->exists(); + } + + public function update(DirectoryModel $directory, $data) { + $directory->name = $data['name']; + $directory->description = $data['description']; + $directory->save(); } /** diff --git a/app/Http/Controllers/Admin/FileManager/EditDirectory.php b/app/Http/Controllers/Admin/FileManager/EditDirectory.php index fb19c5be..f9e5b12e 100644 --- a/app/Http/Controllers/Admin/FileManager/EditDirectory.php +++ b/app/Http/Controllers/Admin/FileManager/EditDirectory.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin\FileManager; +use App\CMS\Repositories\FileManager\Directory as DirectoryRepository; use App\Http\Controllers\Admin\Controller; use App\Http\Requests; use App\Models\FileManager\Directory; @@ -16,30 +17,21 @@ class EditDirectory extends Controller * @internal param $directoryId * */ - public function postEdit(Requests\EditDirectoryRequest $request, Directory $directory) + public function update(Requests\EditDirectoryRequest $request, Directory $directory) { - // check if given name is not used in parent directory - - $exists = Directory::where('parent_id', $directory->parent_id) - ->where('name', $request->name) - ->where('id', '!=', $directory->id) - ->exists(); - - if ($exists) { + $repository = app(DirectoryRepository::class); + if ($repository->checkIfNameExists($request->name, $directory->parent_id, $directory->id)) { return redirect() - ->route('upload.overview', ['id' => $directory->id]) + ->back() ->withInput() ->with('error', trans('admin/fileManager.subdirectoryExists')); } - $directory->name = $request->name; - $directory->description = $request->description; - - $directory->save(); + $repository->update($directory, $request->except('_token')); $message = trans('admin/fileManager.editDirectorySuccess'); return redirect() - ->route('upload.overview', ['id' => $directory->id]) + ->back() ->with('success', $message); } } diff --git a/modules/Blog/Article/Http/routes.php b/modules/Blog/Article/Http/routes.php index ef3ef17c..2a03f970 100644 --- a/modules/Blog/Article/Http/routes.php +++ b/modules/Blog/Article/Http/routes.php @@ -1,11 +1,10 @@ LaravelLocalization::setLocale(), - 'middleware' => ['localeSessionRedirect', 'localizationRedirect'], 'namespace' => 'Modules\Blog\Article\Http\Controllers' ], function () { Route::group([ - 'middleware' => ['web', 'auth', 'adminMenu'], + 'middleware' => ['admin'], 'prefix' => 'admin/comments', 'namespace' => 'Admin' ], function () { diff --git a/resources/views/admin/fileManager/directories/form.blade.php b/resources/views/admin/fileManager/directories/form.blade.php index 9ab1c3eb..30928dfc 100644 --- a/resources/views/admin/fileManager/directories/form.blade.php +++ b/resources/views/admin/fileManager/directories/form.blade.php @@ -1,14 +1,13 @@
\ No newline at end of file