mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 14:13:21 +00:00
Add subscriptions stats
This commit is contained in:
parent
e7f7c57558
commit
e97135bf47
@ -6,7 +6,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-05-31 23:42+0200\n"
|
"POT-Creation-Date: 2017-06-02 14:55+0200\n"
|
||||||
"PO-Revision-Date: 2016-07-18\n"
|
"PO-Revision-Date: 2016-07-18\n"
|
||||||
"Last-Translator: Skia <skia@libskia.so>\n"
|
"Last-Translator: Skia <skia@libskia.so>\n"
|
||||||
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
||||||
@ -326,8 +326,8 @@ msgstr "Compte en banque : "
|
|||||||
#: core/templates/core/file_detail.jinja:25
|
#: core/templates/core/file_detail.jinja:25
|
||||||
#: core/templates/core/file_detail.jinja:62
|
#: core/templates/core/file_detail.jinja:62
|
||||||
#: core/templates/core/file_moderation.jinja:24
|
#: core/templates/core/file_moderation.jinja:24
|
||||||
#: core/templates/core/group_list.jinja:13 core/templates/core/macros.jinja:49
|
#: core/templates/core/group_list.jinja:13 core/templates/core/macros.jinja:53
|
||||||
#: core/templates/core/macros.jinja:68
|
#: core/templates/core/macros.jinja:72
|
||||||
#: core/templates/core/pagerev_edit.jinja:28
|
#: core/templates/core/pagerev_edit.jinja:28
|
||||||
#: core/templates/core/user_account_detail.jinja:38
|
#: core/templates/core/user_account_detail.jinja:38
|
||||||
#: core/templates/core/user_edit.jinja:19
|
#: core/templates/core/user_edit.jinja:19
|
||||||
@ -335,12 +335,11 @@ msgstr "Compte en banque : "
|
|||||||
#: counter/templates/counter/last_ops.jinja:59
|
#: counter/templates/counter/last_ops.jinja:59
|
||||||
#: election/templates/election/election_detail.jinja:280
|
#: election/templates/election/election_detail.jinja:280
|
||||||
#: election/templates/election/election_detail.jinja:329
|
#: election/templates/election/election_detail.jinja:329
|
||||||
#: forum/templates/forum/macros.jinja:21
|
#: forum/templates/forum/macros.jinja:21 forum/templates/forum/macros.jinja:123
|
||||||
#: forum/templates/forum/macros.jinja:123
|
|
||||||
#: launderette/templates/launderette/launderette_admin.jinja:16
|
#: launderette/templates/launderette/launderette_admin.jinja:16
|
||||||
#: launderette/views.py:178 sas/templates/sas/album.jinja:26
|
#: launderette/views.py:178 sas/templates/sas/album.jinja:26
|
||||||
#: sas/templates/sas/moderation.jinja:18 sas/templates/sas/picture.jinja:74
|
#: sas/templates/sas/moderation.jinja:18 sas/templates/sas/picture.jinja:74
|
||||||
#: sas/templates/sas/picture.jinja:124
|
#: sas/templates/sas/picture.jinja.py:124
|
||||||
#: stock/templates/stock/stock_shopping_list.jinja:43
|
#: stock/templates/stock/stock_shopping_list.jinja:43
|
||||||
#: stock/templates/stock/stock_shopping_list.jinja:69
|
#: stock/templates/stock/stock_shopping_list.jinja:69
|
||||||
#: trombi/templates/trombi/detail.jinja:28
|
#: trombi/templates/trombi/detail.jinja:28
|
||||||
@ -491,8 +490,8 @@ msgstr "Non"
|
|||||||
|
|
||||||
#: accounting/templates/accounting/club_account_details.jinja:56
|
#: accounting/templates/accounting/club_account_details.jinja:56
|
||||||
#: com/templates/com/news_admin_list.jinja:38
|
#: com/templates/com/news_admin_list.jinja:38
|
||||||
#: com/templates/com/news_admin_list.jinja:71
|
#: com/templates/com/news_admin_list.jinja:71 core/templates/core/file.jinja:36
|
||||||
#: core/templates/core/file.jinja:36 core/templates/core/page.jinja:28
|
#: core/templates/core/page.jinja:28
|
||||||
msgid "View"
|
msgid "View"
|
||||||
msgstr "Voir"
|
msgstr "Voir"
|
||||||
|
|
||||||
@ -696,7 +695,7 @@ msgstr "Opération liée : "
|
|||||||
#: core/templates/core/user_preferences.jinja:12
|
#: core/templates/core/user_preferences.jinja:12
|
||||||
#: core/templates/core/user_preferences.jinja:19
|
#: core/templates/core/user_preferences.jinja:19
|
||||||
#: counter/templates/counter/cash_register_summary.jinja:22
|
#: counter/templates/counter/cash_register_summary.jinja:22
|
||||||
#: forum/templates/forum/reply.jinja:31
|
#: forum/templates/forum/reply.jinja:32
|
||||||
#: subscription/templates/subscription/subscription.jinja:24
|
#: subscription/templates/subscription/subscription.jinja:24
|
||||||
#: trombi/templates/trombi/comment.jinja:26
|
#: trombi/templates/trombi/comment.jinja:26
|
||||||
#: trombi/templates/trombi/user_tools.jinja:13
|
#: trombi/templates/trombi/user_tools.jinja:13
|
||||||
@ -859,8 +858,7 @@ msgstr "L'utilisateur est déjà membre de ce club"
|
|||||||
msgid "past member"
|
msgid "past member"
|
||||||
msgstr "Anciens membres"
|
msgstr "Anciens membres"
|
||||||
|
|
||||||
#: club/templates/club/club_list.jinja:4
|
#: club/templates/club/club_list.jinja:4 club/templates/club/club_list.jinja:24
|
||||||
#: club/templates/club/club_list.jinja:24
|
|
||||||
msgid "Club list"
|
msgid "Club list"
|
||||||
msgstr "Liste des clubs"
|
msgstr "Liste des clubs"
|
||||||
|
|
||||||
@ -922,14 +920,13 @@ msgstr "Du"
|
|||||||
msgid "To"
|
msgid "To"
|
||||||
msgstr "Au"
|
msgstr "Au"
|
||||||
|
|
||||||
#: club/templates/club/club_sellings.jinja:5 club/views.py:84
|
#: club/templates/club/club_sellings.jinja:5 club/views.py:84 club/views.py:247
|
||||||
#: club/views.py:247 counter/templates/counter/counter_main.jinja:19
|
#: counter/templates/counter/counter_main.jinja:19
|
||||||
#: counter/templates/counter/last_ops.jinja:35
|
#: counter/templates/counter/last_ops.jinja:35
|
||||||
msgid "Sellings"
|
msgid "Sellings"
|
||||||
msgstr "Ventes"
|
msgstr "Ventes"
|
||||||
|
|
||||||
#: club/templates/club/club_sellings.jinja:9
|
#: club/templates/club/club_sellings.jinja:9 club/templates/club/stats.jinja:19
|
||||||
#: club/templates/club/stats.jinja:19
|
|
||||||
#: counter/templates/counter/cash_summary_list.jinja:15
|
#: counter/templates/counter/cash_summary_list.jinja:15
|
||||||
msgid "Show"
|
msgid "Show"
|
||||||
msgstr "Montrer"
|
msgstr "Montrer"
|
||||||
@ -985,6 +982,7 @@ msgstr "Quantité"
|
|||||||
#: counter/templates/counter/cash_summary_list.jinja:35
|
#: counter/templates/counter/cash_summary_list.jinja:35
|
||||||
#: counter/templates/counter/last_ops.jinja:44
|
#: counter/templates/counter/last_ops.jinja:44
|
||||||
#: counter/templates/counter/stats.jinja:18
|
#: counter/templates/counter/stats.jinja:18
|
||||||
|
#: subscription/templates/subscription/stats.jinja:28
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
msgstr "Total"
|
msgstr "Total"
|
||||||
|
|
||||||
@ -1187,9 +1185,8 @@ msgid "News admin"
|
|||||||
msgstr "Administration des nouvelles"
|
msgstr "Administration des nouvelles"
|
||||||
|
|
||||||
#: com/templates/com/news_admin_list.jinja:9
|
#: com/templates/com/news_admin_list.jinja:9
|
||||||
#: com/templates/com/news_detail.jinja:5
|
#: com/templates/com/news_detail.jinja:5 com/templates/com/news_detail.jinja:11
|
||||||
#: com/templates/com/news_detail.jinja:11 com/templates/com/news_list.jinja:4
|
#: com/templates/com/news_list.jinja:4 com/templates/com/news_list.jinja:28
|
||||||
#: com/templates/com/news_list.jinja:28
|
|
||||||
msgid "News"
|
msgid "News"
|
||||||
msgstr "Nouvelles"
|
msgstr "Nouvelles"
|
||||||
|
|
||||||
@ -1294,7 +1291,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: com/templates/com/news_edit.jinja:55 com/templates/com/weekmail.jinja:10
|
#: com/templates/com/news_edit.jinja:55 com/templates/com/weekmail.jinja:10
|
||||||
#: core/templates/core/pagerev_edit.jinja:25
|
#: core/templates/core/pagerev_edit.jinja:25
|
||||||
#: forum/templates/forum/reply.jinja:30
|
#: forum/templates/forum/reply.jinja:31
|
||||||
msgid "Preview"
|
msgid "Preview"
|
||||||
msgstr "Prévisualiser"
|
msgstr "Prévisualiser"
|
||||||
|
|
||||||
@ -1677,13 +1674,13 @@ msgstr "profil visible par les cotisants"
|
|||||||
msgid "A user with that username already exists"
|
msgid "A user with that username already exists"
|
||||||
msgstr "Un utilisateur de ce nom d'utilisateur existe déjà"
|
msgstr "Un utilisateur de ce nom d'utilisateur existe déjà"
|
||||||
|
|
||||||
#: core/models.py:474 core/templates/core/macros.jinja:17
|
#: core/models.py:474 core/templates/core/macros.jinja:21
|
||||||
#: core/templates/core/user_detail.jinja:14
|
#: core/templates/core/user_detail.jinja:14
|
||||||
#: core/templates/core/user_detail.jinja:16
|
#: core/templates/core/user_detail.jinja:16
|
||||||
#: core/templates/core/user_edit.jinja:17
|
#: core/templates/core/user_edit.jinja:17
|
||||||
#: election/templates/election/election_detail.jinja:316
|
#: election/templates/election/election_detail.jinja:316
|
||||||
#: forum/templates/forum/macros.jinja:93 forum/templates/forum/macros.jinja:95
|
#: forum/templates/forum/macros.jinja:93 forum/templates/forum/macros.jinja:95
|
||||||
#: forum/templates/forum/reply.jinja:36 forum/templates/forum/reply.jinja:38
|
#: forum/templates/forum/reply.jinja:37 forum/templates/forum/reply.jinja:39
|
||||||
#: trombi/templates/trombi/user_tools.jinja:43
|
#: trombi/templates/trombi/user_tools.jinja:43
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
@ -1875,8 +1872,7 @@ msgstr "S'enregister"
|
|||||||
msgid "View more"
|
msgid "View more"
|
||||||
msgstr "Voir plus"
|
msgstr "Voir plus"
|
||||||
|
|
||||||
#: core/templates/core/base.jinja:62
|
#: core/templates/core/base.jinja:62 forum/templates/forum/last_unread.jinja:16
|
||||||
#: forum/templates/forum/last_unread.jinja:16
|
|
||||||
msgid "Mark all as read"
|
msgid "Mark all as read"
|
||||||
msgstr "Marquer tout commme lu"
|
msgstr "Marquer tout commme lu"
|
||||||
|
|
||||||
@ -1908,7 +1904,7 @@ msgstr "SAS"
|
|||||||
|
|
||||||
#: core/templates/core/base.jinja:94 forum/templates/forum/forum.jinja:10
|
#: core/templates/core/base.jinja:94 forum/templates/forum/forum.jinja:10
|
||||||
#: forum/templates/forum/last_unread.jinja:13
|
#: forum/templates/forum/last_unread.jinja:13
|
||||||
#: forum/templates/forum/main.jinja:6 forum/templates/forum/main.jinja:11
|
#: forum/templates/forum/main.jinja:6 forum/templates/forum/main.jinja.py:11
|
||||||
#: forum/templates/forum/main.jinja:14 forum/templates/forum/reply.jinja:15
|
#: forum/templates/forum/main.jinja:14 forum/templates/forum/reply.jinja:15
|
||||||
#: forum/templates/forum/topic.jinja:30
|
#: forum/templates/forum/topic.jinja:30
|
||||||
msgid "Forum"
|
msgid "Forum"
|
||||||
@ -2122,30 +2118,28 @@ msgstr "login"
|
|||||||
msgid "Lost password?"
|
msgid "Lost password?"
|
||||||
msgstr "Mot de passe perdu ?"
|
msgstr "Mot de passe perdu ?"
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:27
|
#: core/templates/core/macros.jinja:31 core/templates/core/user_detail.jinja:27
|
||||||
#: core/templates/core/user_detail.jinja:27
|
|
||||||
msgid "Born: "
|
msgid "Born: "
|
||||||
msgstr "Né le : "
|
msgstr "Né le : "
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:31
|
#: core/templates/core/macros.jinja:35 core/templates/core/user_detail.jinja:48
|
||||||
#: core/templates/core/user_detail.jinja:48
|
|
||||||
msgid "Promo: "
|
msgid "Promo: "
|
||||||
msgstr "Promo : "
|
msgstr "Promo : "
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:38
|
#: core/templates/core/macros.jinja:42
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Subscribed until %(subscription_end)s"
|
msgid "Subscribed until %(subscription_end)s"
|
||||||
msgstr "Cotisant jusqu'au %(subscription_end)s"
|
msgstr "Cotisant jusqu'au %(subscription_end)s"
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:39 core/templates/core/user_edit.jinja:40
|
#: core/templates/core/macros.jinja:43 core/templates/core/user_edit.jinja:40
|
||||||
msgid "Account number: "
|
msgid "Account number: "
|
||||||
msgstr "Numero de compte : "
|
msgstr "Numero de compte : "
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:44 launderette/models.py:151
|
#: core/templates/core/macros.jinja:48 launderette/models.py:151
|
||||||
msgid "Slot"
|
msgid "Slot"
|
||||||
msgstr "Créneau"
|
msgstr "Créneau"
|
||||||
|
|
||||||
#: core/templates/core/macros.jinja:57
|
#: core/templates/core/macros.jinja:61
|
||||||
#: launderette/templates/launderette/launderette_admin.jinja:20
|
#: launderette/templates/launderette/launderette_admin.jinja:20
|
||||||
msgid "Tokens"
|
msgid "Tokens"
|
||||||
msgstr "Jetons"
|
msgstr "Jetons"
|
||||||
@ -3661,7 +3655,7 @@ msgid "New forum"
|
|||||||
msgstr "Nouveau forum"
|
msgstr "Nouveau forum"
|
||||||
|
|
||||||
#: forum/templates/forum/forum.jinja:22 forum/templates/forum/reply.jinja:8
|
#: forum/templates/forum/forum.jinja:22 forum/templates/forum/reply.jinja:8
|
||||||
#: forum/templates/forum/reply.jinja:25
|
#: forum/templates/forum/reply.jinja:26
|
||||||
msgid "New topic"
|
msgid "New topic"
|
||||||
msgstr "Nouveau sujet"
|
msgstr "Nouveau sujet"
|
||||||
|
|
||||||
@ -3707,7 +3701,7 @@ msgstr "Message supprimé ou non-visible."
|
|||||||
msgid "View last unread messages"
|
msgid "View last unread messages"
|
||||||
msgstr "Voir les derniers messages non lus"
|
msgstr "Voir les derniers messages non lus"
|
||||||
|
|
||||||
#: forum/templates/forum/reply.jinja:6 forum/templates/forum/reply.jinja:23
|
#: forum/templates/forum/reply.jinja:6 forum/templates/forum/reply.jinja:24
|
||||||
#: forum/templates/forum/topic.jinja:40 forum/templates/forum/topic.jinja:59
|
#: forum/templates/forum/topic.jinja:40 forum/templates/forum/topic.jinja:59
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Répondre"
|
msgstr "Répondre"
|
||||||
@ -3841,11 +3835,11 @@ msgstr "Fusionner deux utilisateurs"
|
|||||||
msgid "Merge"
|
msgid "Merge"
|
||||||
msgstr "Fusion"
|
msgstr "Fusion"
|
||||||
|
|
||||||
#: rootplace/views.py:89
|
#: rootplace/views.py:90
|
||||||
msgid "User that will be kept"
|
msgid "User that will be kept"
|
||||||
msgstr "Utilisateur qui sera conservé"
|
msgstr "Utilisateur qui sera conservé"
|
||||||
|
|
||||||
#: rootplace/views.py:90
|
#: rootplace/views.py:91
|
||||||
msgid "User that will be deleted"
|
msgid "User that will be deleted"
|
||||||
msgstr "Utilisateur qui sera supprimé"
|
msgstr "Utilisateur qui sera supprimé"
|
||||||
|
|
||||||
@ -4368,16 +4362,32 @@ msgstr "Vous ne pouvez pas cotiser plusieurs fois pour la même période"
|
|||||||
msgid "Subscription error"
|
msgid "Subscription error"
|
||||||
msgstr "Erreur de cotisation"
|
msgstr "Erreur de cotisation"
|
||||||
|
|
||||||
|
#: subscription/templates/subscription/stats.jinja:4
|
||||||
|
msgid "Subscription stats"
|
||||||
|
msgstr "Statistiques de cotisation"
|
||||||
|
|
||||||
|
#: subscription/templates/subscription/stats.jinja:9
|
||||||
|
msgid "Total subscriptions"
|
||||||
|
msgstr "Cotisations totales"
|
||||||
|
|
||||||
|
#: subscription/templates/subscription/stats.jinja:10
|
||||||
|
msgid "Subscriptions by type"
|
||||||
|
msgstr "Cotisations par type"
|
||||||
|
|
||||||
|
#: subscription/templates/subscription/stats.jinja:19
|
||||||
|
msgid "Subscripton type"
|
||||||
|
msgstr "Type de cotisation"
|
||||||
|
|
||||||
#: subscription/templates/subscription/subscription.jinja:22
|
#: subscription/templates/subscription/subscription.jinja:22
|
||||||
msgid "Eboutic is reserved to specific users. In doubt, don't use it."
|
msgid "Eboutic is reserved to specific users. In doubt, don't use it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Eboutic est réservé à des cas particuliers. Dans le doute, ne l'utilisez pas."
|
"Eboutic est réservé à des cas particuliers. Dans le doute, ne l'utilisez pas."
|
||||||
|
|
||||||
#: subscription/views.py:74
|
#: subscription/views.py:75
|
||||||
msgid "A user with that email address already exists"
|
msgid "A user with that email address already exists"
|
||||||
msgstr "Un utilisateur avec cette adresse email existe déjà"
|
msgstr "Un utilisateur avec cette adresse email existe déjà"
|
||||||
|
|
||||||
#: subscription/views.py:90
|
#: subscription/views.py:91
|
||||||
msgid "You must either choose an existing user or create a new one properly"
|
msgid "You must either choose an existing user or create a new one properly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous devez soit choisir un utilisateur existant, soit en créer un proprement"
|
"Vous devez soit choisir un utilisateur existant, soit en créer un proprement"
|
||||||
@ -4613,4 +4623,3 @@ msgstr "Vous ne pouvez plus écrire de commentaires, la date est passée."
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "Maximum characters: %(max_length)s"
|
msgid "Maximum characters: %(max_length)s"
|
||||||
msgstr "Nombre de caractères max: %(max_length)s"
|
msgstr "Nombre de caractères max: %(max_length)s"
|
||||||
|
|
||||||
|
@ -22,13 +22,10 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
from django.conf.urls import url, include
|
from django.conf.urls import url
|
||||||
|
|
||||||
from rootplace.views import *
|
from rootplace.views import *
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^merge$', MergeUsersView.as_view(), name='merge'),
|
url(r'^merge$', MergeUsersView.as_view(), name='merge'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ from django.core.exceptions import PermissionDenied
|
|||||||
|
|
||||||
from ajax_select.fields import AutoCompleteSelectField
|
from ajax_select.fields import AutoCompleteSelectField
|
||||||
|
|
||||||
|
from core.views import CanViewMixin
|
||||||
from core.models import User
|
from core.models import User
|
||||||
from counter.models import Customer
|
from counter.models import Customer
|
||||||
|
|
||||||
|
38
subscription/templates/subscription/stats.jinja
Normal file
38
subscription/templates/subscription/stats.jinja
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{% extends "core/base.jinja" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
{% trans %}Subscription stats{% endtrans %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{% trans %}Total subscriptions{% endtrans %} : {{ subscriptions_total.count() }}<br><br>
|
||||||
|
{% trans %}Subscriptions by type{% endtrans %}<br><br>
|
||||||
|
{% for location in locations %}
|
||||||
|
{{ location[1] }} {{ subscriptions_total.filter(location=location[0]).count() }}<br>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>{% trans %}Subscripton type{% endtrans %}</th>
|
||||||
|
{% for location in locations %}
|
||||||
|
<th>{{ location[1] }}</th>
|
||||||
|
{% endfor %}
|
||||||
|
{% for type in subscriptions_types %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ subscriptions_types[type]['name'] }}</td>
|
||||||
|
{% for location in locations %}
|
||||||
|
<td>
|
||||||
|
{% trans %}Total{% endtrans %} : {{ subscriptions_total.filter(location=location[0]).count()}}<br>
|
||||||
|
{% for p_type in payment_types %}
|
||||||
|
{{ p_type[1] }} : {{ subscriptions_total.filter(location=location[0], payment_method=p_type[0]).count()}}<br>
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
|
{% endfor %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -22,13 +22,14 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
from django.conf.urls import url, include
|
from django.conf.urls import url
|
||||||
|
|
||||||
from subscription.views import *
|
from subscription.views import *
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# Subscription views
|
# Subscription views
|
||||||
url(r'^$', NewSubscription.as_view(), name='subscription'),
|
url(r'^$', NewSubscription.as_view(), name='subscription'),
|
||||||
|
url(r'stats', SubscriptionsStatsView.as_view(), name='stats'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.views.generic.edit import UpdateView, CreateView
|
from django.views.generic.edit import UpdateView, CreateView
|
||||||
from django.views.generic.base import View
|
from django.views.generic.base import View
|
||||||
|
from django.views.generic import TemplateView
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.core.exceptions import PermissionDenied, ValidationError
|
from django.core.exceptions import PermissionDenied, ValidationError
|
||||||
from django.db import IntegrityError
|
from django.db import IntegrityError
|
||||||
@ -114,3 +115,22 @@ class NewSubscription(CreateView):
|
|||||||
)
|
)
|
||||||
return super(NewSubscription, self).form_valid(form)
|
return super(NewSubscription, self).form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
|
class SubscriptionsStatsView(TemplateView):
|
||||||
|
template_name = "subscription/stats.jinja"
|
||||||
|
|
||||||
|
def dispatch(self, request, *arg, **kwargs):
|
||||||
|
res = super(SubscriptionsStatsView, self).dispatch(request, *arg, **kwargs)
|
||||||
|
if request.user.is_root or request.user.is_board_member:
|
||||||
|
return res
|
||||||
|
raise PermissionDenied
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
from subscription.models import Subscription
|
||||||
|
import datetime
|
||||||
|
kwargs = super(SubscriptionsStatsView, self).get_context_data(**kwargs)
|
||||||
|
kwargs['subscriptions_total'] = Subscription.objects.filter(subscription_end__gte=datetime.datetime.today())
|
||||||
|
kwargs['subscriptions_types'] = settings.SITH_SUBSCRIPTIONS
|
||||||
|
kwargs['payment_types'] = settings.SITH_COUNTER_PAYMENT_METHOD
|
||||||
|
kwargs['locations'] = settings.SITH_SUBSCRIPTION_LOCATIONS
|
||||||
|
return kwargs
|
||||||
|
Loading…
Reference in New Issue
Block a user