From 4ad62abf1e0c647748c9a2d065f7f30665408db9 Mon Sep 17 00:00:00 2001 From: Serghei Mihai Date: Mon, 10 Aug 2015 17:33:36 +0200 Subject: [PATCH 2/2] contrib.teamnet_axel: invoice details endpoint (#8035) --- .../templates/passerelle/contrib/teamnet_axel/detail.html | 9 +++++++++ passerelle/contrib/teamnet_axel/urls.py | 4 ++-- passerelle/contrib/teamnet_axel/views.py | 11 +++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/passerelle/contrib/teamnet_axel/templates/passerelle/contrib/teamnet_axel/detail.html b/passerelle/contrib/teamnet_axel/templates/passerelle/contrib/teamnet_axel/detail.html index 2028072..ed1e8c6 100644 --- a/passerelle/contrib/teamnet_axel/templates/passerelle/contrib/teamnet_axel/detail.html +++ b/passerelle/contrib/teamnet_axel/templates/passerelle/contrib/teamnet_axel/detail.html @@ -49,6 +49,15 @@ {{ site_base_uri }}{{ active_invoices_url }}?NameID=... 42 {% trans 'is regie identifier' %} +
  • {% trans 'Show invoice details:' %} + {% url 'teamnet-axel-invoice' slug=object.slug regie_id='42' invoice_id='2345-20150916' as invoice_details_url %} + + {{ site_base_uri }}{{ invoice_details_url }} + + 42 {% trans 'is regie identifier' %}, + 2345 {% trans 'is family identifier' %}, + 20150916 {% trans 'is invoice identifier' %} +
  • diff --git a/passerelle/contrib/teamnet_axel/urls.py b/passerelle/contrib/teamnet_axel/urls.py index 6b80204..29c31b7 100644 --- a/passerelle/contrib/teamnet_axel/urls.py +++ b/passerelle/contrib/teamnet_axel/urls.py @@ -39,8 +39,8 @@ public_urlpatterns = patterns('', name='teamnet-axel-past-invoices'), url(r'^(?P[\w,-]+)/regie/(?P[\w,-]+)/invoices/$', ActiveInvoicesView.as_view(), name='teamnet-axel-active-invoices'), - #url(r'^(?P[\w,-]+)/invoice/(?P[\w,-]+)/$', InvoiceView.as_view(), - # name='teamnet-axel-invoice'), + url(r'^(?P[\w,-]+)/regie/(?P[\w,-]+)/invoice/(?P[\w,-]+)/$', InvoiceView.as_view(), + name='teamnet-axel-invoice'), #url(r'^(?P[\w,-]+)/invoice-pdf/(?P[\w,-]+)/$', InvoicePDFView.as_view(), # name='teamnet-axel-unlink'), #url(r'^(?P[\w,-]+)/invoice-paid/(?P[\w,-]+)/$', InvoicePayView.as_view(), diff --git a/passerelle/contrib/teamnet_axel/views.py b/passerelle/contrib/teamnet_axel/views.py index 53cea2c..5fa1de8 100644 --- a/passerelle/contrib/teamnet_axel/views.py +++ b/passerelle/contrib/teamnet_axel/views.py @@ -159,3 +159,14 @@ class PastInvoicesView(InvoicesMixin, FamilyView): months, **kwargs) active = super(PastInvoicesView, self).get_data(request, regie_id, **kwargs) return [p for p in past if p not in active] + + +class InvoiceView(InvoicesMixin, FamilyView): + + def get_data(self, request, *args, **kwargs): + family_id, invoice_id = kwargs['invoice_id'].split('-', 1) + invoices = self.object.get_invoices(kwargs['regie_id'], family_id, + months=12) + for invoice in invoices: + if invoice['id'] == invoice_id: + return invoice -- 2.5.1