diff --git a/app/Http/Controllers/AttachmentController.php b/app/Http/Controllers/AttachmentController.php index 775df201fe..cbeee4d671 100644 --- a/app/Http/Controllers/AttachmentController.php +++ b/app/Http/Controllers/AttachmentController.php @@ -147,6 +147,24 @@ class AttachmentController extends Controller return view('attachments.edit', compact('attachment', 'subTitleIcon', 'subTitle')); } + /** + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + */ + public function index() + { + $set = $this->repository->get(); + $set = $set->each( + function (Attachment $attachment) { + $attachment->file_exists = $this->repository->exists($attachment); + + return $attachment; + } + ); + + + return view('attachments.index', compact('set')); + } + /** * @param AttachmentFormRequest $request * @param Attachment $attachment diff --git a/resources/views/attachments/index.twig b/resources/views/attachments/index.twig new file mode 100644 index 0000000000..120c2ddb08 --- /dev/null +++ b/resources/views/attachments/index.twig @@ -0,0 +1,64 @@ +{% extends "./layout/default" %} + +{% block breadcrumbs %} + {{ Breadcrumbs.render(Route.getCurrentRoute.getName) }} +{% endblock %} + +{% block content %} +
+
+
+
+

+ List of all attachments +

+
+
+ + + + + + + + + + + + {% for att in set %} + + + + + + + + + {% endfor %} + +
File nameSize of fileType of fileAttached toExists?
+ + {{ att.filename }}{{ att.size|filesize }}{{ att.mime }} + {% if att.attachable_type == 'FireflyIII\\Models\\TransactionJournal' %} + + {{ att.attachable.description }} + + {% endif %} + + {% if att.file_exists %} + + {% else %} + + {% endif %} +
+
+
+
+
+{% endblock %} + +{% block styles %} +{% endblock %} + +{% block scripts %} +{% endblock %} diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php index a8a498b0e2..78a2be3167 100644 --- a/routes/breadcrumbs.php +++ b/routes/breadcrumbs.php @@ -248,6 +248,14 @@ Breadcrumbs::register( ); // ATTACHMENTS +Breadcrumbs::register( + 'attachments.index', + function (BreadCrumbsGenerator $breadcrumbs) { + $breadcrumbs->parent('home'); + $breadcrumbs->push(trans('firefly.attachments'), route('attachments.index')); + } +); + Breadcrumbs::register( 'attachments.edit', function (BreadCrumbsGenerator $breadcrumbs, Attachment $attachment) { diff --git a/routes/web.php b/routes/web.php index d50b243549..53d0f5054e 100755 --- a/routes/web.php +++ b/routes/web.php @@ -140,6 +140,7 @@ Route::group( */ Route::group( ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'attachments', 'as' => 'attachments.'], function () { + Route::get('', ['uses' => 'AttachmentController@index', 'as' => 'index']); Route::get('edit/{attachment}', ['uses' => 'AttachmentController@edit', 'as' => 'edit']); Route::get('delete/{attachment}', ['uses' => 'AttachmentController@delete', 'as' => 'delete']); Route::get('download/{attachment}', ['uses' => 'AttachmentController@download', 'as' => 'download']);