FEATURE #1508: merge files and directories overview.
This commit merges list of all uploaded files and created directories into one page. It also modifies way of uploading files. Special page for uploading files was removed (because of no support for directories) and files can be uploaded only via overview.
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\UploadFileRequest;
|
||||
use App\Http\Requests\UploadImageRequest;
|
||||
use App\Models\File;
|
||||
use Symfony\Component\HttpFoundation\File\Exception\FileException;
|
||||
|
||||
@@ -19,10 +18,6 @@ class UploadFile extends Controller
|
||||
$this->file = $file;
|
||||
}
|
||||
|
||||
public function getFile()
|
||||
{
|
||||
return view('admin/fileManager.newFile');
|
||||
}
|
||||
|
||||
/**
|
||||
* Uploads any file
|
||||
@@ -47,7 +42,7 @@ class UploadFile extends Controller
|
||||
|
||||
// upload was not performed via ajax, redirect user
|
||||
return redirect()
|
||||
->route('upload.file')
|
||||
->route('upload.overview', ['directory' => $request->directoryId])
|
||||
->with('success', trans('admin/fileManager.uploadSuccessfull'));
|
||||
} catch (FileException $e) {
|
||||
return $this->invalidUpload('invalidFile');
|
||||
|
||||
@@ -4,30 +4,46 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Models\Directory;
|
||||
use App\Models\File;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
|
||||
class UploadedFilesOverview extends Controller
|
||||
{
|
||||
public function getOverview($type = null, $subtype = null)
|
||||
/**
|
||||
* List of all files and directories
|
||||
*
|
||||
* @param null $directoryId
|
||||
* @param null $fileType
|
||||
* @param null $fileSubtype
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
public function getOverview($directoryId = null, $fileType = null, $fileSubtype = null)
|
||||
{
|
||||
$directories = [];
|
||||
// get directory information
|
||||
$directory = is_null($directoryId) ? new Directory() : Directory::findOrFail($directoryId);
|
||||
|
||||
$files = File::orderBy('updated_at', 'DESC');
|
||||
// get all files in this directory
|
||||
$files = File::orderBy('updated_at', 'DESC')
|
||||
->where('directory_id', $directory->id);
|
||||
|
||||
// try to filter by given type
|
||||
if (!is_null($type)) {
|
||||
if (is_null($subtype))
|
||||
$files = $files->where('mime_type', 'LIKE', $type.'%');
|
||||
else {
|
||||
$files = $files->where('mime_type', $type.'/'.$subtype);
|
||||
if (!is_null($fileType)) {
|
||||
if (is_null($fileSubtype)) {
|
||||
$files = $files->where('mime_type', 'LIKE', $fileType . '%');
|
||||
} else {
|
||||
$files = $files->where('mime_type', $fileType . '/' . $fileSubtype);
|
||||
}
|
||||
}
|
||||
|
||||
$files = $files->paginate(18);
|
||||
// include hidden directories?
|
||||
$includeHidden = Input::get('hidden');
|
||||
|
||||
return view('admin.fileManager.overview', [
|
||||
'direcories' => $directories,
|
||||
'files' => $files
|
||||
'directory' => $directory,
|
||||
'subdirectories' => $directory->subdirectories($includeHidden),
|
||||
'files' => $files->get()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,8 @@ abstract class UploadRequest extends Request
|
||||
{
|
||||
// some globaly defined rules
|
||||
$rules = [
|
||||
'keywords' => 'max:255'
|
||||
'keywords' => 'max:255',
|
||||
'directoryId' => 'exists:directories,id'
|
||||
];
|
||||
|
||||
// setup additional rules
|
||||
|
||||
@@ -184,8 +184,6 @@ Route::group([
|
||||
->name('widgets.makeAssociation');
|
||||
|
||||
// uploader methods
|
||||
Route::get('upload/file', 'UploadFile@getFile')
|
||||
->name('upload.file');
|
||||
Route::get('directories/new/{id?}', 'CreateNewDirectory@getNew')
|
||||
->name('upload.newDirectory');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user