add an invoice list view in backoffice in preparation for a CSV export of the same information
This commit is contained in:
parent
3e71a55a3a
commit
b85a1c8565
34
src/backoffice/templates/includes/invoice_list_panel.html
Normal file
34
src/backoffice/templates/includes/invoice_list_panel.html
Normal file
|
@ -0,0 +1,34 @@
|
|||
{% load bornhack %}
|
||||
{% if invoice_list %}
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Invoice #</th>
|
||||
<th>Username</th>
|
||||
<th>Email</th>
|
||||
<th>Invoice Date</th>
|
||||
<th>Paid</th>
|
||||
<th>Order</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for invoice in invoice_list %}
|
||||
<tr>
|
||||
<td>{{ invoice.id }}</td>
|
||||
<td>{{ invoice.user.username }}</td>
|
||||
<td>{{ invoice.user.email }} DKK</td>
|
||||
<td>{{ invoice.invoice_date }}</td>
|
||||
<td>{{ invoice.paid|truefalseicon }}</td>
|
||||
<td>{{ invoice.order }}</td>
|
||||
<td>
|
||||
n/a
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>No invoices found.</h4>
|
||||
{% endif %}
|
||||
|
|
@ -179,6 +179,10 @@
|
|||
<h4 class="list-group-item-heading">Revenues</h4>
|
||||
<p class="list-group-item-text">Use this view to see and approve/reject revenues.</p>
|
||||
</a>
|
||||
<a href="{% url 'backoffice:invoice_list' camp_slug=camp.slug %}" class="list-group-item">
|
||||
<h4 class="list-group-item-heading">Invoices</h4>
|
||||
<p class="list-group-item-text">Use this view to see a list of invoices in the system.</p>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if perms.camps.orgateam_permission or perms.camps.infoteam_permission or perms.camps.barteam_permission %}
|
||||
|
|
17
src/backoffice/templates/invoice_list.html
Normal file
17
src/backoffice/templates/invoice_list.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}
|
||||
Invoices | {{ block.super }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Invoices</h2>
|
||||
|
||||
<div class="lead">
|
||||
This table shows all invoices in the system.
|
||||
</div>
|
||||
|
||||
{% include 'includes/invoice_list_panel.html' %}
|
||||
|
||||
{% endblock content %}
|
|
@ -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"),
|
||||
]
|
||||
),
|
||||
),
|
||||
]
|
||||
),
|
||||
),
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue