diff --git a/core/migrations/0003_auto_20160902_1914.py b/core/migrations/0003_auto_20160902_1914.py new file mode 100644 index 00000000..f5d2c28b --- /dev/null +++ b/core/migrations/0003_auto_20160902_1914.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import django.core.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0002_auto_20160831_0144'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='username', + field=models.CharField(error_messages={'unique': 'A user with that username already exists.'}, max_length=254, unique=True, validators=[django.core.validators.RegexValidator('^[\\w.+-]+$', 'Enter a valid username. This value may contain only letters, numbers and ./+/-/_ characters.')], help_text='Required. 254 characters or fewer. Letters, digits and ./+/-/_ only.', verbose_name='username'), + ), + ] diff --git a/core/models.py b/core/models.py index f4a95899..8e979f14 100644 --- a/core/models.py +++ b/core/models.py @@ -74,12 +74,12 @@ class User(AbstractBaseUser): _('username'), max_length=254, unique=True, - help_text=_('Required. 254 characters or fewer. Letters, digits and @/./+/-/_ only.'), + help_text=_('Required. 254 characters or fewer. Letters, digits and ./+/-/_ only.'), validators=[ validators.RegexValidator( - r'^[\w.@+-]+$', + r'^[\w.+-]+$', _('Enter a valid username. This value may contain only ' - 'letters, numbers ' 'and @/./+/-/_ characters.') + 'letters, numbers ' 'and ./+/-/_ characters.') ), ], error_messages={ diff --git a/core/templates/core/user_detail.jinja b/core/templates/core/user_detail.jinja index ba4ba525..8f4dcfd6 100644 --- a/core/templates/core/user_detail.jinja +++ b/core/templates/core/user_detail.jinja @@ -32,6 +32,11 @@ {% if profile.dpt_option %}
{% trans %}Option: {% endtrans %}{{ profile.dpt_option }} {% endif %} + {% if profile.phone %} +

+ {{ profile.phone }} +

+ {% endif %}

{% if profile.promo %}

Promo {{ profile.promo }} @@ -46,7 +51,14 @@

{% if get_subscriber(profile).is_subscribed() %} {% trans subscription_end=get_subscriber(profile).subscriptions.last().subscription_end %}Subscribed until {{ subscription_end }}{% endtrans %}
-{% trans %}Account number: {% endtrans %}{{ profile.customer.account_id }} +{% trans %}Account number: {% endtrans %}{{ profile.customer.account_id }}
+{% if get_subscriber(profile).tokens.exists() %} +

+{% endif %} {% else %} {% trans %}Not subscribed{% endtrans %} {% if user.is_in_group(settings.SITH_MAIN_BOARD_GROUP) %} diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index ee443c85..763b35c3 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 0ba0795f..a1ccacf9 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-02 12:26+0200\n" +"POT-Creation-Date: 2016-09-02 19:31+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -179,7 +179,7 @@ msgstr "Compte" msgid "Company" msgstr "Entreprise" -#: accounting/models.py:190 sith/settings.py:287 sith/settings_sample.py:272 +#: accounting/models.py:190 sith/settings.py:283 sith/settings_sample.py:272 msgid "Other" msgstr "Autre" @@ -653,17 +653,17 @@ msgid "username" msgstr "nom d'utilisateur" #: core/models.py:77 -msgid "Required. 254 characters or fewer. Letters, digits and @/./+/-/_ only." +msgid "Required. 254 characters or fewer. Letters, digits and ./+/-/_ only." msgstr "" -"Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et @/./" +"Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et ./" "+/-/_" #: core/models.py:81 msgid "" -"Enter a valid username. This value may contain only letters, numbers and @/./" +"Enter a valid username. This value may contain only letters, numbers and ./" "+/-/_ characters." msgstr "" -"Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et @/./" +"Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et ./" "+/-/_" #: core/models.py:86 @@ -1249,7 +1249,7 @@ msgid "Born: " msgstr "Né le : " #: core/templates/core/macros.jinja:31 -#: core/templates/core/user_detail.jinja:38 +#: core/templates/core/user_detail.jinja:43 msgid "Promo: " msgstr "Promo : " @@ -1529,21 +1529,21 @@ msgstr "Profil de %(user_name)s" msgid "Option: " msgstr "Filière : " -#: core/templates/core/user_detail.jinja:48 +#: core/templates/core/user_detail.jinja:53 #, python-format msgid "Subscribed until %(subscription_end)s" msgstr "Cotisant jusqu'au %(subscription_end)s" -#: core/templates/core/user_detail.jinja:49 +#: core/templates/core/user_detail.jinja:54 #: core/templates/core/user_edit.jinja:39 msgid "Account number: " msgstr "Numero de compte : " -#: core/templates/core/user_detail.jinja:51 +#: core/templates/core/user_detail.jinja:63 msgid "Not subscribed" msgstr "Non cotisant" -#: core/templates/core/user_detail.jinja:53 +#: core/templates/core/user_detail.jinja:65 #: subscription/templates/subscription/subscription.jinja:4 #: subscription/templates/subscription/subscription.jinja:8 msgid "New subscription" @@ -1782,7 +1782,7 @@ msgstr "Bureau" #: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:286 sith/settings.py:294 sith/settings_sample.py:271 +#: sith/settings.py:282 sith/settings.py:290 sith/settings_sample.py:271 #: sith/settings_sample.py:279 msgid "Eboutic" msgstr "Eboutic" @@ -1820,8 +1820,8 @@ msgstr "quantité" msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:248 sith/settings.py:279 sith/settings.py:284 -#: sith/settings.py:306 sith/settings_sample.py:264 +#: counter/models.py:248 sith/settings.py:275 sith/settings.py:280 +#: sith/settings.py:302 sith/settings_sample.py:264 #: sith/settings_sample.py:269 sith/settings_sample.py:291 msgid "Credit card" msgstr "Carte bancaire" @@ -2231,12 +2231,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:26 -#: sith/settings.py:420 sith/settings_sample.py:405 +#: sith/settings.py:416 sith/settings_sample.py:405 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:30 -#: sith/settings.py:420 sith/settings_sample.py:405 +#: sith/settings.py:416 sith/settings_sample.py:405 msgid "Drying" msgstr "Séchage" @@ -2291,116 +2291,120 @@ msgstr "L'utilisateur n'a pas réservé de créneau" msgid "Token not found" msgstr "Jeton non trouvé" -#: sith/settings.py:174 sith/settings_sample.py:160 +#: sith/settings.py:170 sith/settings_sample.py:160 msgid "English" msgstr "Anglais" -#: sith/settings.py:175 sith/settings_sample.py:161 +#: sith/settings.py:171 sith/settings_sample.py:161 msgid "French" msgstr "Français" -#: sith/settings.py:276 sith/settings.py:283 sith/settings.py:304 +#: sith/settings.py:272 sith/settings.py:279 sith/settings.py:300 #: sith/settings_sample.py:261 sith/settings_sample.py:268 #: sith/settings_sample.py:289 msgid "Check" msgstr "Chèque" -#: sith/settings.py:277 sith/settings.py:285 sith/settings.py:305 +#: sith/settings.py:273 sith/settings.py:281 sith/settings.py:301 #: sith/settings_sample.py:262 sith/settings_sample.py:270 #: sith/settings_sample.py:290 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:278 sith/settings_sample.py:263 +#: sith/settings.py:274 sith/settings_sample.py:263 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:291 sith/settings_sample.py:276 +#: sith/settings.py:287 sith/settings_sample.py:276 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:292 sith/settings_sample.py:277 +#: sith/settings.py:288 sith/settings_sample.py:277 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:293 sith/settings_sample.py:278 +#: sith/settings.py:289 sith/settings_sample.py:278 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:333 sith/settings_sample.py:318 +#: sith/settings.py:329 sith/settings_sample.py:318 msgid "One semester" msgstr "Un semestre, 15 €" -#: sith/settings.py:338 sith/settings_sample.py:323 +#: sith/settings.py:334 sith/settings_sample.py:323 msgid "Two semesters" msgstr "Deux semestres, 28 €" -#: sith/settings.py:343 sith/settings_sample.py:328 +#: sith/settings.py:339 sith/settings_sample.py:328 msgid "Common core cursus" msgstr "Cursus tronc commun, 45 €" -#: sith/settings.py:348 sith/settings.py:353 sith/settings_sample.py:333 +#: sith/settings.py:344 sith/settings_sample.py:333 #: sith/settings_sample.py:338 msgid "Branch cursus" msgstr "Cursus branche, 45 €" -#: sith/settings.py:358 sith/settings_sample.py:343 +#: sith/settings.py:349 +msgid "Alternating cursus" +msgstr "Cursus alternant, 30 €" + +#: sith/settings.py:354 sith/settings_sample.py:343 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:363 sith/settings_sample.py:348 +#: sith/settings.py:359 sith/settings_sample.py:348 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:368 sith/settings_sample.py:353 +#: sith/settings.py:364 sith/settings_sample.py:353 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:373 sith/settings_sample.py:358 +#: sith/settings.py:369 sith/settings_sample.py:358 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:378 sith/settings_sample.py:363 +#: sith/settings.py:374 sith/settings_sample.py:363 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:383 sith/settings_sample.py:368 +#: sith/settings.py:379 sith/settings_sample.py:368 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 15 €" -#: sith/settings.py:391 sith/settings_sample.py:376 +#: sith/settings.py:387 sith/settings_sample.py:376 msgid "President" msgstr "Président" -#: sith/settings.py:392 sith/settings_sample.py:377 +#: sith/settings.py:388 sith/settings_sample.py:377 msgid "Vice-President" msgstr "Vice-Président" -#: sith/settings.py:393 sith/settings_sample.py:378 +#: sith/settings.py:389 sith/settings_sample.py:378 msgid "Treasurer" msgstr "Trésorier" -#: sith/settings.py:394 sith/settings_sample.py:379 +#: sith/settings.py:390 sith/settings_sample.py:379 msgid "Communication supervisor" msgstr "Responsable com" -#: sith/settings.py:395 sith/settings_sample.py:380 +#: sith/settings.py:391 sith/settings_sample.py:380 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:396 sith/settings_sample.py:381 +#: sith/settings.py:392 sith/settings_sample.py:381 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:397 sith/settings_sample.py:382 +#: sith/settings.py:393 sith/settings_sample.py:382 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:398 sith/settings_sample.py:383 +#: sith/settings.py:394 sith/settings_sample.py:383 msgid "Active member" msgstr "Membre actif" -#: sith/settings.py:399 sith/settings_sample.py:384 +#: sith/settings.py:395 sith/settings_sample.py:384 msgid "Curious" msgstr "Curieux" @@ -2445,8 +2449,5 @@ msgid "You must either choose an existing user or create a new one properly" msgstr "" "Vous devez soit choisir un utilisateur existant, ou en créer un proprement." -#~ msgid "Alternating cursus" -#~ msgstr "Cursus alternant, 30 €" - #~ msgid "You are trying to create a subscription without member" #~ msgstr "Vous essayez de créer une cotisation sans membre" diff --git a/subscription/migrations/0003_auto_20160902_1914.py b/subscription/migrations/0003_auto_20160902_1914.py new file mode 100644 index 00000000..d2a6e41c --- /dev/null +++ b/subscription/migrations/0003_auto_20160902_1914.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('subscription', '0002_auto_20160830_1719'), + ] + + operations = [ + migrations.AlterField( + model_name='subscription', + name='subscription_type', + field=models.CharField(max_length=255, choices=[('amicale/doceo', 'Amicale/DOCEO member'), ('assidu', 'Assidu member'), ('crous', 'CROUS member'), ('cursus-alternant', 'Alternating cursus'), ('cursus-branche', 'Branch cursus'), ('cursus-tronc-commun', 'Common core cursus'), ('deux-semestres', 'Two semesters'), ('membre-honoraire', 'Honorary member'), ('reseau-ut', 'UT network member'), ('sbarro/esta', 'Sbarro/ESTA member'), ('un-semestre', 'One semester')], verbose_name='subscription type'), + ), + ]