diff --git a/club/templates/club/club_sellings.jinja b/club/templates/club/club_sellings.jinja
index 7be82f37..6e4848df 100644
--- a/club/templates/club/club_sellings.jinja
+++ b/club/templates/club/club_sellings.jinja
@@ -30,8 +30,16 @@
{{ s.date|localtime|date(DATETIME_FORMAT) }} {{ s.date|localtime|time(DATETIME_FORMAT) }} |
{{ s.counter }} |
+ {% if s.seller %}
{{ s.seller.get_display_name() }} |
+ {% else %}
+ |
+ {% endif %}
+ {% if s.customer %}
{{ s.customer.user.get_display_name() }} |
+ {% else %}
+ |
+ {% endif %}
{{ s.label }} |
{{ s.quantity }} |
{{ s.quantity * s.unit_price }} € |
diff --git a/counter/templates/counter/invoices_call.jinja b/counter/templates/counter/invoices_call.jinja
new file mode 100644
index 00000000..6d83e0e5
--- /dev/null
+++ b/counter/templates/counter/invoices_call.jinja
@@ -0,0 +1,34 @@
+{% extends "core/base.jinja" %}
+
+{% block title %}
+{% trans %}Invoices call{% endtrans %}
+{% endblock %}
+
+{% block content %}
+{% trans %}Invoices call{% endtrans %}
+
+
+
+ {% trans %}Club{% endtrans %} |
+ {% trans %}Sum{% endtrans %} |
+
+
+ {% for i in sums %}
+
+ {{ i['club__name'] }} |
+ {{ i['selling_sum'] }} € |
+
+ {% endfor %}
+
+
+{% endblock %}
+
+
+
diff --git a/counter/urls.py b/counter/urls.py
index effd82f8..83b735df 100644
--- a/counter/urls.py
+++ b/counter/urls.py
@@ -16,6 +16,7 @@ urlpatterns = [
url(r'^admin$', CounterListView.as_view(), name='admin_list'),
url(r'^admin/new$', CounterCreateView.as_view(), name='new'),
url(r'^admin/delete/(?P[0-9]+)$', CounterDeleteView.as_view(), name='delete'),
+ url(r'^admin/invoices_call$', InvoiceCallView.as_view(), name='invoices_call'),
url(r'^admin/cash_summary/list$', CashSummaryListView.as_view(), name='cash_summary_list'),
url(r'^admin/cash_summary/(?P[0-9]+)$', CashSummaryEditView.as_view(), name='cash_summary_edit'),
url(r'^admin/product/list$', ProductListView.as_view(), name='product_list'),
diff --git a/counter/views.py b/counter/views.py
index 52681065..227782c6 100644
--- a/counter/views.py
+++ b/counter/views.py
@@ -1,6 +1,6 @@
from django.shortcuts import render
from django.core.exceptions import PermissionDenied
-from django.views.generic import ListView, DetailView, RedirectView
+from django.views.generic import ListView, DetailView, RedirectView, TemplateView
from django.views.generic.edit import UpdateView, CreateView, DeleteView, ProcessFormView, FormMixin
from django.forms.models import modelform_factory
from django.forms import CheckboxSelectMultiple
@@ -459,6 +459,11 @@ class CounterAdminTabsMixin(TabedViewMixin):
'slug': 'cash_summary',
'name': _("Cash register summaries"),
},
+ {
+ 'url': reverse_lazy('counter:invoices_call'),
+ 'slug': 'invoices_call',
+ 'name': _("Invoices call"),
+ },
]
class CounterListView(CounterAdminTabsMixin, CanViewMixin, ListView):
@@ -908,3 +913,29 @@ class CashSummaryListView(CanEditPropMixin, CounterAdminTabsMixin, ListView):
kwargs['refilling_sums'][c.name] = sum([s.amount for s in Refilling.objects.filter(counter=c, date__gt=last_date).all()])
return kwargs
+class InvoiceCallView(CounterAdminTabsMixin, TemplateView):
+ template_name = 'counter/invoices_call.jinja'
+ current_tab = 'invoices_call'
+
+ def get_context_data(self, **kwargs):
+ """ Add sums to the context """
+ kwargs = super(InvoiceCallView, self).get_context_data(**kwargs)
+ kwargs['months'] = Selling.objects.datetimes('date', 'month', order='DESC')
+ start_date = None
+ end_date = None
+ try:
+ start_date = datetime.strptime(self.request.GET['month'], '%Y-%m')
+ except:
+ start_date = datetime(year=timezone.now().year, month=(timezone.now().month+10)%12+1, day=1)
+ end_date = (start_date + timedelta(days=32)).replace(day=1, hour=0, minute=0, microsecond=0)
+ from django.db.models import Sum, Case, When, F, DecimalField
+ kwargs['sums'] = Selling.objects.values('club__name').annotate(selling_sum=Sum(
+ Case(When(date__gte=start_date,
+ date__lt=end_date,
+ then=F('unit_price')*F('quantity')),
+ output_field=CurrencyField()
+ )
+ )).exclude(selling_sum=None).order_by('-selling_sum')
+ return kwargs
+
+ #).exclude(selling_sum=None).order_by('-selling_sum').all()[:100]
diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo
index 9737cd73..bd0fc9f8 100644
Binary files a/locale/fr/LC_MESSAGES/django.mo and b/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po
index 8e233251..5cb2162f 100644
--- a/locale/fr/LC_MESSAGES/django.po
+++ b/locale/fr/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-09-29 16:18+0200\n"
+"POT-Creation-Date: 2016-09-29 18:19+0200\n"
"PO-Revision-Date: 2016-07-18\n"
"Last-Translator: Skia \n"
"Language-Team: AE info \n"
@@ -171,6 +171,7 @@ msgid "User"
msgstr "Utilisateur"
#: accounting/models.py:190 club/templates/club/club_detail.jinja:5
+#: counter/templates/counter/invoices_call.jinja:19
msgid "Club"
msgstr "Club"
@@ -297,7 +298,7 @@ msgstr "Compte en banque : "
#: accounting/templates/accounting/bank_account_details.jinja:15
#: accounting/templates/accounting/club_account_details.jinja:16
-#: club/templates/club/club_sellings.jinja:40
+#: club/templates/club/club_sellings.jinja:48
#: core/templates/core/file_detail.jinja:43
#: core/templates/core/group_list.jinja:13 core/templates/core/macros.jinja:61
#: core/templates/core/user_account_detail.jinja:67
@@ -484,7 +485,7 @@ msgid "Done"
msgstr "Effectué"
#: accounting/templates/accounting/journal_details.jinja:34
-#: counter/templates/counter/cash_summary_list.jinja:32 counter/views.py:692
+#: counter/templates/counter/cash_summary_list.jinja:32 counter/views.py:697
msgid "Comment"
msgstr "Commentaire"
@@ -1725,20 +1726,16 @@ msgid "Godfathers"
msgstr "Parrains"
#: core/templates/core/user_godfathers.jinja:18
-#, fuzzy
-#| msgid "Godfathers"
msgid "No godfathers"
-msgstr "Parrains"
+msgstr "Pas de parrains"
#: core/templates/core/user_godfathers.jinja:21
msgid "Godchildren"
msgstr "Fillots"
#: core/templates/core/user_godfathers.jinja:29
-#, fuzzy
-#| msgid "Godchildren"
msgid "No godchildren"
-msgstr "Fillots"
+msgstr "Pas de fillots"
#: core/templates/core/user_group.jinja:4
#, python-format
@@ -1793,7 +1790,7 @@ msgid "Subscriptions"
msgstr "Cotisations"
#: core/templates/core/user_tools.jinja:23 counter/views.py:440
-#: counter/views.py:579
+#: counter/views.py:584
msgid "Counters"
msgstr "Comptoirs"
@@ -2077,7 +2074,7 @@ msgstr "Liste des relevés de caisse"
msgid "Theoric sums"
msgstr "Sommes théoriques"
-#: counter/templates/counter/cash_summary_list.jinja:31 counter/views.py:693
+#: counter/templates/counter/cash_summary_list.jinja:31 counter/views.py:698
msgid "Emptied"
msgstr "Coffre vidé"
@@ -2108,6 +2105,7 @@ msgstr "Pas de date de naissance renseigné"
#: counter/templates/counter/counter_click.jinja:52
#: counter/templates/counter/counter_click.jinja:86
+#: counter/templates/counter/invoices_call.jinja:15
#: launderette/templates/launderette/launderette_admin.jinja:35
#: launderette/templates/launderette/launderette_click.jinja:13
msgid "Go"
@@ -2183,6 +2181,15 @@ msgstr "Merci de vous identifier"
msgid "Barman: "
msgstr "Barman : "
+#: counter/templates/counter/invoices_call.jinja:4
+#: counter/templates/counter/invoices_call.jinja:8 counter/views.py:465
+msgid "Invoices call"
+msgstr "Appels à facture"
+
+#: counter/templates/counter/invoices_call.jinja:20
+msgid "Sum"
+msgstr "Somme"
+
#: counter/templates/counter/last_ops.jinja:5
#: counter/templates/counter/last_ops.jinja:9
#, python-format
@@ -2290,61 +2297,61 @@ msgstr "Produits archivés"
msgid "Product types"
msgstr "Types de produit"
-#: counter/views.py:576
+#: counter/views.py:581
msgid "Parent product"
msgstr "Produit parent"
-#: counter/views.py:577
+#: counter/views.py:582
msgid "Buying groups"
msgstr "Groupes d'achat"
-#: counter/views.py:672
+#: counter/views.py:677
msgid "10 cents"
msgstr "10 centimes"
-#: counter/views.py:673
+#: counter/views.py:678
msgid "20 cents"
msgstr "20 centimes"
-#: counter/views.py:674
+#: counter/views.py:679
msgid "50 cents"
msgstr "50 centimes"
-#: counter/views.py:675
+#: counter/views.py:680
msgid "1 euro"
msgstr "1 €"
-#: counter/views.py:676
+#: counter/views.py:681
msgid "2 euros"
msgstr "2 €"
-#: counter/views.py:677
+#: counter/views.py:682
msgid "5 euros"
msgstr "5 €"
-#: counter/views.py:678
+#: counter/views.py:683
msgid "10 euros"
msgstr "10 €"
-#: counter/views.py:679
+#: counter/views.py:684
msgid "20 euros"
msgstr "20 €"
-#: counter/views.py:680
+#: counter/views.py:685
msgid "50 euros"
msgstr "50 €"
-#: counter/views.py:681
+#: counter/views.py:686
msgid "100 euros"
msgstr "100 €"
-#: counter/views.py:682 counter/views.py:684 counter/views.py:686
-#: counter/views.py:688 counter/views.py:690
+#: counter/views.py:687 counter/views.py:689 counter/views.py:691
+#: counter/views.py:693 counter/views.py:695
msgid "Check amount"
msgstr "Montant du chèque"
-#: counter/views.py:683 counter/views.py:685 counter/views.py:687
-#: counter/views.py:689 counter/views.py:691
+#: counter/views.py:688 counter/views.py:690 counter/views.py:692
+#: counter/views.py:694 counter/views.py:696
msgid "Check quantity"
msgstr "Nombre de chèque"