From 65da1d4949fec305bce9877d4ed5ff3928c4e04d 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 | 13 +++++++++++++ 3 files changed, 24 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 01c670f..c7c5ccb 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 }}{{ 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 fd9b54f..293d1e8 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-invoices-history'), url(r'^(?P[\w,-]+)/regie/(?P[\w,-]+)/invoices/$', InvoicesView.as_view(), name='teamnet-axel-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 88788d0..3368b9c 100644 --- a/passerelle/contrib/teamnet_axel/views.py +++ b/passerelle/contrib/teamnet_axel/views.py @@ -151,3 +151,16 @@ class HistoryInvoicesView(FamilyView): # exclude the active invoices from the past ones active = self.object.get_invoices(regie_id, family_id) return [p for p in past if p not in active] + + +class InvoiceView(DetailView): + + def get_data(self, request, *args, **kwargs): + family_id, invoice_id = kwargs['invoice_id'].split('-', 1) + + # get invoices history and pick the one matching invoice_id + invoices = self.object.get_invoices(kwargs['regie_id'], family_id, + months=12) + for invoice in invoices: + if invoice['id'] == kwargs['invoice_id']: + return invoice -- 2.5.1