From f468814a2f5f52bca2b88df110cccea2d30d7440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=BCnther?= Date: Fri, 13 Feb 2026 12:38:48 +0100 Subject: [PATCH] Managing own invoices --- .../Controllers/DashboardController.php | 5 +- app/Domains/Dashboard/Views/Dashboard.vue | 21 +- .../Views/Partials/Widgets/MyInvoices.vue | 4 +- .../ChangeStatus/ChangeStatusCommand.php | 6 +- .../Controllers/ListMyInvoicesController.php | 61 ++++ app/Domains/Invoice/Routes/api.php | 2 + app/Domains/Invoice/Routes/web.php | 10 +- app/Domains/Invoice/Views/ListMyInvoices.vue | 58 ++++ .../myInvoiceDetails/DistanceAllowance.vue | 78 ++++++ .../Partials/myInvoiceDetails/Header.vue | 100 +++++++ .../myInvoiceDetails/InvoiceDetails.vue | 264 ++++++++++++++++++ .../myInvoiceDetails/ListInvoices.vue | 80 ++++++ .../Partials/myInvoiceDetails/ShowInvoice.vue | 19 ++ app/Repositories/InvoiceRepository.php | 21 +- app/Views/Components/TabbedPage.vue | 7 +- 15 files changed, 715 insertions(+), 21 deletions(-) create mode 100644 app/Domains/Invoice/Controllers/ListMyInvoicesController.php create mode 100644 app/Domains/Invoice/Views/ListMyInvoices.vue create mode 100644 app/Domains/Invoice/Views/Partials/myInvoiceDetails/DistanceAllowance.vue create mode 100644 app/Domains/Invoice/Views/Partials/myInvoiceDetails/Header.vue create mode 100644 app/Domains/Invoice/Views/Partials/myInvoiceDetails/InvoiceDetails.vue create mode 100644 app/Domains/Invoice/Views/Partials/myInvoiceDetails/ListInvoices.vue create mode 100644 app/Domains/Invoice/Views/Partials/myInvoiceDetails/ShowInvoice.vue diff --git a/app/Domains/Dashboard/Controllers/DashboardController.php b/app/Domains/Dashboard/Controllers/DashboardController.php index 15875db..813dd63 100644 --- a/app/Domains/Dashboard/Controllers/DashboardController.php +++ b/app/Domains/Dashboard/Controllers/DashboardController.php @@ -21,7 +21,10 @@ class DashboardController extends CommonController { private function renderForLoggedInUser(Request $request) { $authCheckProvider = new AuthCheckProvider; - $inertiaProvider = new InertiaProvider('Dashboard/Dashboard', ['appName' => app('tenant')->name]); + $inertiaProvider = new InertiaProvider('Dashboard/Dashboard', [ + 'myInvoices' => $this->invoices->getMyInvoicesWidget() + + ]); return $inertiaProvider->render(); } diff --git a/app/Domains/Dashboard/Views/Dashboard.vue b/app/Domains/Dashboard/Views/Dashboard.vue index ee947b6..e59a5a3 100644 --- a/app/Domains/Dashboard/Views/Dashboard.vue +++ b/app/Domains/Dashboard/Views/Dashboard.vue @@ -1,8 +1,17 @@