namespace BookStack\Http\Controllers\Images;
use BookStack\Exceptions\ImageUploadException;
+use BookStack\Http\Controllers\Controller;
use BookStack\Uploads\ImageRepo;
use Illuminate\Http\Request;
-use BookStack\Http\Controllers\Controller;
+use Illuminate\Validation\ValidationException;
class GalleryImageController extends Controller
{
- protected $imageRepo;
-
- /**
- * GalleryImageController constructor.
- * @param ImageRepo $imageRepo
- */
- public function __construct(ImageRepo $imageRepo)
- {
- $this->imageRepo = $imageRepo;
- parent::__construct();
+ public function __construct(
+ protected ImageRepo $imageRepo
+ ) {
}
/**
* Get a list of gallery images, in a list.
* Can be paged and filtered by entity.
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse
*/
public function list(Request $request)
{
$parentTypeFilter = $request->get('filter_type', null);
$imgData = $this->imageRepo->getEntityFiltered('gallery', $parentTypeFilter, $page, 24, $uploadedToFilter, $searchTerm);
- return response()->json($imgData);
+
+ return view('pages.parts.image-manager-list', [
+ 'images' => $imgData['images'],
+ 'hasMore' => $imgData['has_more'],
+ ]);
}
/**
* Store a new gallery image in the system.
- * @param Request $request
- * @return Illuminate\Http\JsonResponse
- * @throws \Exception
+ *
+ * @throws ValidationException
*/
public function create(Request $request)
{
$this->checkPermission('image-create-all');
- $this->validate($request, [
- 'file' => $this->getImageValidationRules()
- ]);
+
+ try {
+ $this->validate($request, [
+ 'file' => $this->getImageValidationRules(),
+ ]);
+ } catch (ValidationException $exception) {
+ return $this->jsonError(implode("\n", $exception->errors()['file']));
+ }
try {
$imageUpload = $request->file('file');