diff --git a/src/backoffice/templates/includes/invoice_list_panel.html b/src/backoffice/templates/includes/invoice_list_panel.html
new file mode 100644
index 00000000..934fe65a
--- /dev/null
+++ b/src/backoffice/templates/includes/invoice_list_panel.html
@@ -0,0 +1,34 @@
+{% load bornhack %}
+{% if invoice_list %}
+
+
+
+ Invoice # |
+ Username |
+ Email |
+ Invoice Date |
+ Paid |
+ Order |
+ Actions |
+
+
+
+ {% for invoice in invoice_list %}
+
+ {{ invoice.id }} |
+ {{ invoice.user.username }} |
+ {{ invoice.user.email }} DKK |
+ {{ invoice.invoice_date }} |
+ {{ invoice.paid|truefalseicon }} |
+ {{ invoice.order }} |
+
+ n/a
+ |
+
+ {% endfor %}
+
+
+{% else %}
+ No invoices found.
+{% endif %}
+
diff --git a/src/backoffice/templates/index.html b/src/backoffice/templates/index.html
index 4dcacad2..9d9358a5 100644
--- a/src/backoffice/templates/index.html
+++ b/src/backoffice/templates/index.html
@@ -179,6 +179,10 @@
Revenues
Use this view to see and approve/reject revenues.
+
+ Invoices
+ Use this view to see a list of invoices in the system.
+
{% endif %}
{% if perms.camps.orgateam_permission or perms.camps.infoteam_permission or perms.camps.barteam_permission %}
diff --git a/src/backoffice/templates/invoice_list.html b/src/backoffice/templates/invoice_list.html
new file mode 100644
index 00000000..94a10bd6
--- /dev/null
+++ b/src/backoffice/templates/invoice_list.html
@@ -0,0 +1,17 @@
+{% extends 'base.html' %}
+{% load static %}
+
+{% block title %}
+Invoices | {{ block.super }}
+{% endblock %}
+
+{% block content %}
+Invoices
+
+
+ This table shows all invoices in the system.
+
+
+{% include 'includes/invoice_list_panel.html' %}
+
+{% endblock content %}
diff --git a/src/backoffice/urls.py b/src/backoffice/urls.py
index a669d26f..7e258059 100644
--- a/src/backoffice/urls.py
+++ b/src/backoffice/urls.py
@@ -57,6 +57,7 @@ from .views import (
FacilityTypeListView,
FacilityTypeUpdateView,
FacilityUpdateView,
+ InvoiceListView,
IrcOverView,
MerchandiseOrdersView,
MerchandiseToOrderView,
@@ -663,6 +664,15 @@ urlpatterns = [
]
),
),
+ # invoices
+ path(
+ "invoices/",
+ include(
+ [
+ path("", InvoiceListView.as_view(), name="invoice_list"),
+ ]
+ ),
+ ),
]
),
),
diff --git a/src/backoffice/views/economy.py b/src/backoffice/views/economy.py
index adf44720..86d64e9d 100644
--- a/src/backoffice/views/economy.py
+++ b/src/backoffice/views/economy.py
@@ -14,6 +14,7 @@ from django.views.generic.edit import CreateView, DeleteView, UpdateView
from camps.mixins import CampViewMixin
from economy.models import Chain, Credebtor, Expense, Reimbursement, Revenue
+from shop.models import Invoice
from teams.models import Team
from ..mixins import EconomyTeamPermissionMixin
@@ -441,3 +442,12 @@ class RevenueDetailView(CampViewMixin, EconomyTeamPermissionMixin, UpdateView):
return redirect(
reverse("backoffice:revenue_list", kwargs={"camp_slug": self.camp.slug})
)
+
+
+################################
+# ORDERS & INVOICES
+
+
+class InvoiceListView(CampViewMixin, EconomyTeamPermissionMixin, ListView):
+ model = Invoice
+ template_name = "invoice_list.html"