Create and code styles of billing view.
This commit is contained in:
parent
e59761a709
commit
f3adc60424
44
musician/templates/musician/billing.html
Normal file
44
musician/templates/musician/billing.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
{% extends "musician/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1 class="service-name">{% trans "Billing" %}</h1>
|
||||
<p class="service-description">Little description of what to be expected...</p>
|
||||
|
||||
<table class="table service-list">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 15%;">
|
||||
<col span="1" style="width: 15%;">
|
||||
<col span="1" style="width: 40%;">
|
||||
<col span="1" style="width: 10%;">
|
||||
<col span="1" style="width: 10%;">
|
||||
<col span="1" style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th scope="col">Number</th>
|
||||
<th scope="col">Bill date</th>
|
||||
<th scope="col">Type</th>
|
||||
<th scope="col">Total</th>
|
||||
<th scope="col">Status</th>
|
||||
<th scope="col">Download PDF</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for bill in object_list %}
|
||||
<tr>
|
||||
<th scope="row">{{ bill.number }}</th>
|
||||
<td>{{ bill.date|date:"SHORT_DATE_FORMAT" }}</td>
|
||||
<td>{{ bill.type }}</td>
|
||||
<td>{{ bill.total_amount }}</td>
|
||||
<td class="font-weight-bold">{{ bill.status }}</td>
|
||||
<td><a class="text-dark" href="{{ bill.pdf_url }}" target="_blank" rel="noopener noreferrer"><i class="fas fa-file-pdf"></i></a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{# TODO: define proper colspan #}
|
||||
{% include "musician/components/table_paginator.html" %}
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
|
@ -15,6 +15,7 @@ urlpatterns = [
|
|||
path('auth/login/', views.LoginView.as_view(), name='login'),
|
||||
path('auth/logout/', views.LogoutView.as_view(), name='logout'),
|
||||
path('dashboard/', views.DashboardView.as_view(), name='dashboard'),
|
||||
path('billing/', views.BillingView.as_view(), name='billing'),
|
||||
path('profile/', views.ProfileView.as_view(), name='profile'),
|
||||
path('mails/', views.MailView.as_view(), name='mails'),
|
||||
path('mailing-lists/', views.MailingListsView.as_view(), name='mailing-lists'),
|
||||
|
|
|
@ -36,6 +36,24 @@ class DashboardView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
|
|||
return context
|
||||
|
||||
|
||||
class BillingView(CustomContextMixin, ExtendedPaginationMixin, UserTokenRequiredMixin, ListView):
|
||||
template_name = "musician/billing.html"
|
||||
|
||||
def get_queryset(self):
|
||||
# TODO (@slamora) retrieve user bills
|
||||
from django.utils import timezone
|
||||
return [
|
||||
{
|
||||
'number': 24,
|
||||
'date': timezone.now(),
|
||||
'type': 'subscription',
|
||||
'total_amount': '25,00 €',
|
||||
'status': 'paid',
|
||||
'pdf_url': 'https://example.org/bill.pdf'
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
class ProfileView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
|
||||
template_name = "musician/profile.html"
|
||||
|
||||
|
|
Loading…
Reference in a new issue