Compare commits

..

No commits in common. "358691aaa939f2e9773985dc1a51c8c32eb6a818" and "ba067f050ec52f93ed9361ebb4fec18bc22de0cf" have entirely different histories.

5 changed files with 115 additions and 92 deletions

View File

@ -531,12 +531,7 @@ class ClubAddMemberView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
return super().form_invalid(form)
if club.parent_club is not None:
if not Membership.objects.filter(
user=form.instance.user,
club=club.parent_club,
date_start__lte=form.instance.date_start,
date_end__gte=form.instance.date_start,
).exists():
if not Membership.objects.filter(user=form.instance.user, club=club.parent_club).exists():
form.add_error('user', _('User is not a member of the parent club') + ' ' + club.parent_club.name)
return super().form_invalid(form)

View File

@ -728,7 +728,8 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Crea
context["kfet_member"] = Membership.objects.filter(
club__name="Kfet",
user=registration.user,
date_start__gte=registration.wei.parent_club.membership_start,
date_start__lte=datetime.now().date(),
date_end__gte=datetime.now().date(),
).exists()
return context
@ -787,15 +788,9 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Crea
form.add_error('bus', _("This user didn't give her/his caution check."))
return super().form_invalid(form)
if club.parent_club is not None: # parent_club is never None: this is Kfet.
# We want that the user is member of the Kfet club *of this year*: the Kfet membership is included
# in the WEI registration.
if not Membership.objects.filter(
user=form.instance.user,
club=club.parent_club, # Kfet
date_start__gte=club.parent_club.membership_start,
).exists():
form.add_error('bus', _('User is not a member of the parent club') + ' ' + club.parent_club.name)
if club.parent_club is not None:
if not Membership.objects.filter(user=form.instance.user, club=club.parent_club).exists():
form.add_error('user', _('User is not a member of the parent club') + ' ' + club.parent_club.name)
return super().form_invalid(form)
# Now, all is fine, the membership can be created.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-03 23:53+0200\n"
"POT-Creation-Date: 2020-08-03 18:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -540,7 +540,7 @@ msgstr ""
msgid "membership ends on"
msgstr ""
#: apps/member/models.py:310 apps/member/views.py:540 apps/wei/views.py:798
#: apps/member/models.py:310 apps/member/views.py:535 apps/wei/views.py:793
msgid "User is not a member of the parent club"
msgstr ""
@ -549,7 +549,7 @@ msgstr ""
msgid "The role {role} does not apply to the club {club}."
msgstr ""
#: apps/member/models.py:328 apps/member/views.py:549
#: apps/member/models.py:328 apps/member/views.py:544
msgid "User is already a member of the club"
msgstr ""
@ -620,31 +620,31 @@ msgstr ""
msgid "Add new member to the club"
msgstr ""
#: apps/member/views.py:530 apps/wei/views.py:783
#: apps/member/views.py:530 apps/wei/views.py:784
msgid ""
"This user don't have enough money to join this club, and can't have a "
"negative balance."
msgstr ""
#: apps/member/views.py:553
#: apps/member/views.py:548
msgid "The membership must start after {:%m-%d-%Y}."
msgstr ""
#: apps/member/views.py:558
#: apps/member/views.py:553
msgid "The membership must begin before {:%m-%d-%Y}."
msgstr ""
#: apps/member/views.py:575 apps/member/views.py:577 apps/member/views.py:579
#: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574
#: apps/registration/views.py:290 apps/registration/views.py:292
#: apps/registration/views.py:294
msgid "This field is required."
msgstr ""
#: apps/member/views.py:647
#: apps/member/views.py:642
msgid "Manage roles of an user in the club"
msgstr ""
#: apps/member/views.py:672
#: apps/member/views.py:667
msgid "Members of the club"
msgstr ""
@ -1448,7 +1448,7 @@ msgstr ""
msgid "Bus"
msgstr ""
#: apps/wei/models.py:100 templates/wei/weiclub_tables.html:32
#: apps/wei/models.py:100 templates/wei/weiclub_tables.html:79
msgid "Buses"
msgstr ""
@ -1704,25 +1704,25 @@ msgstr ""
msgid "Validate WEI registration"
msgstr ""
#: apps/wei/views.py:787
#: apps/wei/views.py:788
msgid "This user didn't give her/his caution check."
msgstr ""
#: apps/wei/views.py:830 apps/wei/views.py:883 apps/wei/views.py:893
#: apps/wei/views.py:825 apps/wei/views.py:878 apps/wei/views.py:888
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
#: templates/wei/survey_end.html:12
msgid "Survey WEI"
msgstr ""
#: note_kfet/settings/base.py:156
#: note_kfet/settings/base.py:155
msgid "German"
msgstr ""
#: note_kfet/settings/base.py:157
#: note_kfet/settings/base.py:156
msgid "English"
msgstr ""
#: note_kfet/settings/base.py:158
#: note_kfet/settings/base.py:157
msgid "French"
msgstr ""
@ -1921,16 +1921,16 @@ msgstr ""
msgid "There is no membership found with this pattern."
msgstr ""
#: templates/member/club_tables.html:9
#: templates/member/club_tables.html:7
msgid "Club managers"
msgstr ""
#: templates/member/club_tables.html:22
#: templates/member/club_tables.html:20
msgid "Club members"
msgstr ""
#: templates/member/club_tables.html:35 templates/member/profile_tables.html:26
#: templates/wei/weiclub_tables.html:58
#: templates/member/club_tables.html:33 templates/member/profile_tables.html:28
#: templates/wei/weiclub_tables.html:105
msgid "Transaction history"
msgstr ""
@ -2470,23 +2470,23 @@ msgstr ""
msgid "WEI listing"
msgstr ""
#: templates/wei/weiclub_tables.html:16
#: templates/wei/weiclub_tables.html:63
msgid "Register to the WEI! 1A"
msgstr ""
#: templates/wei/weiclub_tables.html:18
#: templates/wei/weiclub_tables.html:65
msgid "Register to the WEI! 2A+"
msgstr ""
#: templates/wei/weiclub_tables.html:20
#: templates/wei/weiclub_tables.html:67
msgid "Update my registration"
msgstr ""
#: templates/wei/weiclub_tables.html:45
#: templates/wei/weiclub_tables.html:92
msgid "Members of the WEI"
msgstr ""
#: templates/wei/weiclub_tables.html:73
#: templates/wei/weiclub_tables.html:120
msgid "Unvalidated registrations"
msgstr ""
@ -2557,17 +2557,23 @@ msgstr ""
#: templates/wei/weimembership_form.html:152
msgid ""
"The WEI will be paid by Société générale. The membership will be created "
"even if the bank didn't pay the BDE yet. The membership transaction will be "
"created but will be invalid. You will have to validate it once the bank "
"validated the creation of the account, or to change the payment method."
"\n"
" The WEI will be paid by Société générale. The "
"membership will be created even if the bank didn't pay the BDE yet.\n"
" The membership transaction will be created but "
"will be invalid. You will have to validate it once the bank\n"
" validated the creation of the account, or to "
"change the payment method.\n"
" "
msgstr ""
#: templates/wei/weimembership_form.html:162
#, python-format
msgid ""
"The note don't have enough money (%(balance)s, %(pretty_fee)s required). The "
"registration may fail."
"\n"
" The note don't have enough money "
"(%(balance)s, %(pretty_fee)s required). The registration may fail.\n"
" "
msgstr ""
#: templates/wei/weimembership_form.html:169
@ -2581,10 +2587,15 @@ msgstr ""
#: templates/wei/weimembership_form.html:184
#, python-format
msgid ""
"This user is not a member of the Kfet club for the comming year. Please "
"adhere <a href=\"%(future_user_detail)s\">here if he/she is in her/his first "
"year</a> or <a href=\"%(club_detail)s\">here if he/she was an old member</a> "
"before you validate the registration of the WEI."
"\n"
" This user is not a member of the Kfet club. "
"Please adhere\n"
" <a href=\"%(future_user_detail)s\">here if he/"
"she is in her/his first year</a>\n"
" or <a href=\"%(club_detail)s\">here if he/she "
"was an old member</a> before you validate\n"
" the registration of the WEI.\n"
" "
msgstr ""
#: templates/wei/weimembership_list.html:24

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-03 23:53+0200\n"
"POT-Creation-Date: 2020-08-03 18:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -545,7 +545,7 @@ msgstr "l'adhésion commence le"
msgid "membership ends on"
msgstr "l'adhésion finit le"
#: apps/member/models.py:310 apps/member/views.py:540 apps/wei/views.py:798
#: apps/member/models.py:310 apps/member/views.py:535 apps/wei/views.py:793
msgid "User is not a member of the parent club"
msgstr "L'utilisateur n'est pas membre du club parent"
@ -554,7 +554,7 @@ msgstr "L'utilisateur n'est pas membre du club parent"
msgid "The role {role} does not apply to the club {club}."
msgstr "Le rôle {role} ne s'applique pas au club {club}."
#: apps/member/models.py:328 apps/member/views.py:549
#: apps/member/models.py:328 apps/member/views.py:544
msgid "User is already a member of the club"
msgstr "L'utilisateur est déjà membre du club"
@ -625,7 +625,7 @@ msgstr "Modifier le club"
msgid "Add new member to the club"
msgstr "Ajouter un nouveau membre au club"
#: apps/member/views.py:530 apps/wei/views.py:783
#: apps/member/views.py:530 apps/wei/views.py:784
msgid ""
"This user don't have enough money to join this club, and can't have a "
"negative balance."
@ -633,25 +633,25 @@ msgstr ""
"Cet utilisateur n'a pas assez d'argent pour rejoindre ce club et ne peut pas "
"avoir un solde négatif."
#: apps/member/views.py:553
#: apps/member/views.py:548
msgid "The membership must start after {:%m-%d-%Y}."
msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
#: apps/member/views.py:558
#: apps/member/views.py:553
msgid "The membership must begin before {:%m-%d-%Y}."
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
#: apps/member/views.py:575 apps/member/views.py:577 apps/member/views.py:579
#: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574
#: apps/registration/views.py:290 apps/registration/views.py:292
#: apps/registration/views.py:294
msgid "This field is required."
msgstr "Ce champ est requis."
#: apps/member/views.py:647
#: apps/member/views.py:642
msgid "Manage roles of an user in the club"
msgstr "Gérer les rôles d'un utilisateur dans le club"
#: apps/member/views.py:672
#: apps/member/views.py:667
msgid "Members of the club"
msgstr "Membres du club"
@ -1483,7 +1483,7 @@ msgstr ""
msgid "Bus"
msgstr "Bus"
#: apps/wei/models.py:100 templates/wei/weiclub_tables.html:32
#: apps/wei/models.py:100 templates/wei/weiclub_tables.html:79
msgid "Buses"
msgstr "Bus"
@ -1750,25 +1750,25 @@ msgstr "Vous n'avez pas la permission de supprimer cette inscription au WEI."
msgid "Validate WEI registration"
msgstr "Valider l'inscription WEI"
#: apps/wei/views.py:787
#: apps/wei/views.py:788
msgid "This user didn't give her/his caution check."
msgstr "Cet utilisateur n'a pas donné son chèque de caution."
#: apps/wei/views.py:830 apps/wei/views.py:883 apps/wei/views.py:893
#: apps/wei/views.py:825 apps/wei/views.py:878 apps/wei/views.py:888
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
#: templates/wei/survey_end.html:12
msgid "Survey WEI"
msgstr "Questionnaire WEI"
#: note_kfet/settings/base.py:156
#: note_kfet/settings/base.py:155
msgid "German"
msgstr "Allemand"
#: note_kfet/settings/base.py:157
#: note_kfet/settings/base.py:156
msgid "English"
msgstr "Anglais"
#: note_kfet/settings/base.py:158
#: note_kfet/settings/base.py:157
msgid "French"
msgstr "Français"
@ -1981,16 +1981,16 @@ msgstr "Filtrer par rôle :"
msgid "There is no membership found with this pattern."
msgstr "Il n'y a pas d'adhésion trouvée avec cette entrée."
#: templates/member/club_tables.html:9
#: templates/member/club_tables.html:7
msgid "Club managers"
msgstr "Bureau du club"
#: templates/member/club_tables.html:22
#: templates/member/club_tables.html:20
msgid "Club members"
msgstr "Membres du club"
#: templates/member/club_tables.html:35 templates/member/profile_tables.html:26
#: templates/wei/weiclub_tables.html:58
#: templates/member/club_tables.html:33 templates/member/profile_tables.html:28
#: templates/wei/weiclub_tables.html:105
msgid "Transaction history"
msgstr "Historique des transactions"
@ -2579,23 +2579,23 @@ msgstr "Voir le WEI"
msgid "WEI listing"
msgstr "Liste des WEI"
#: templates/wei/weiclub_tables.html:16
#: templates/wei/weiclub_tables.html:63
msgid "Register to the WEI! 1A"
msgstr "M'inscrire au WEI ! 1A"
#: templates/wei/weiclub_tables.html:18
#: templates/wei/weiclub_tables.html:65
msgid "Register to the WEI! 2A+"
msgstr "M'inscrire au WEI ! 2A+"
#: templates/wei/weiclub_tables.html:20
#: templates/wei/weiclub_tables.html:67
msgid "Update my registration"
msgstr "Modifier mon inscription"
#: templates/wei/weiclub_tables.html:45
#: templates/wei/weiclub_tables.html:92
msgid "Members of the WEI"
msgstr "Membres du WEI"
#: templates/wei/weiclub_tables.html:73
#: templates/wei/weiclub_tables.html:120
msgid "Unvalidated registrations"
msgstr "Inscriptions non validées"
@ -2666,24 +2666,35 @@ msgstr "avec les rôles suivants :"
#: templates/wei/weimembership_form.html:152
msgid ""
"The WEI will be paid by Société générale. The membership will be created "
"even if the bank didn't pay the BDE yet. The membership transaction will be "
"created but will be invalid. You will have to validate it once the bank "
"validated the creation of the account, or to change the payment method."
"\n"
" The WEI will be paid by Société générale. The "
"membership will be created even if the bank didn't pay the BDE yet.\n"
" The membership transaction will be created but "
"will be invalid. You will have to validate it once the bank\n"
" validated the creation of the account, or to "
"change the payment method.\n"
" "
msgstr ""
"\n"
"Le WEI va être payé par la Société générale. L'adhésion sera créée même si "
"la banque n'a pas encore payé le BDE.\n"
"La transaction d'adhésion sera créée mais invalide. Vous devrez la valider "
"une fois que la banque\n"
"aura validé la création du compte, ou bien changer de moyen de paiement."
"aura validé la création du compte, ou bien changer de moyen de paiement.\n"
" "
#: templates/wei/weimembership_form.html:162
#, python-format
msgid ""
"The note don't have enough money (%(balance)s, %(pretty_fee)s required). The "
"registration may fail."
"\n"
" The note don't have enough money "
"(%(balance)s, %(pretty_fee)s required). The registration may fail.\n"
" "
msgstr ""
"\n"
"La note n'a pas assez d'argent (%(balance)s, %(pretty_fee)s requis). "
"L'inscription va échouer."
"L'inscription va échouer.\n"
" "
#: templates/wei/weimembership_form.html:169
msgid "The note has enough money, the registration is possible."
@ -2694,17 +2705,25 @@ msgid "The user didn't give her/his caution check."
msgstr "L'utilisateur n'a pas donné son chèque de caution."
#: templates/wei/weimembership_form.html:184
#, python-format
msgid ""
"This user is not a member of the Kfet club for the comming year. Please "
"adhere <a href=\"%(future_user_detail)s\">here if he/she is in her/his first "
"year</a> or <a href=\"%(club_detail)s\">here if he/she was an old member</a> "
"before you validate the registration of the WEI."
"\n"
" This user is not a member of the Kfet club. "
"Please adhere\n"
" <a href=\"%(future_user_detail)s\">here if he/"
"she is in her/his first year</a>\n"
" or <a href=\"%(club_detail)s\">here if he/she "
"was an old member</a> before you validate\n"
" the registration of the WEI.\n"
" "
msgstr ""
"Cet utilisateur n'est pas membre du club Kfet pour l'année à venir. Merci de le faire adhérer\n"
"\n"
"Cet utilisateur n'est pas membre du club Kfet. Merci de le faire adhérer\n"
"<a href=\"%(future_user_detail)s\">ici s'iel est en première année</a>\n"
"ou <a href=\"%(club_detail)s\">ici s'iel est un ancien membre</a> avant de "
"valider\n"
"l'inscription au WEI."
"l'inscription au WEI.\n"
" "
#: templates/wei/weimembership_list.html:24
msgid "View unvalidated registrations..."
@ -2730,3 +2749,6 @@ msgstr "Il n'y a pas de pré-inscription en attente avec cette entrée."
#: templates/wei/weiregistration_list.html:24
msgid "View validated memberships..."
msgstr "Voir les adhésions validées ..."
#~ msgid "Validate a registration"
#~ msgstr "Valider l'inscription"

View File

@ -149,7 +149,7 @@
{% else %}
{% if registration.soge_credit %}
<div class="alert alert-warning">
{% blocktrans trimmed %}
{% blocktrans %}
The WEI will be paid by Société générale. The membership will be created even if the bank didn't pay the BDE yet.
The membership transaction will be created but will be invalid. You will have to validate it once the bank
validated the creation of the account, or to change the payment method.
@ -159,7 +159,7 @@
{% if registration.user.note.balance < fee %}
<div class="alert alert-danger">
{% with pretty_fee=fee|pretty_money %}
{% blocktrans trimmed with balance=registration.user.note.balance|pretty_money %}
{% blocktrans with balance=registration.user.note.balance|pretty_money %}
The note don't have enough money ({{ balance }}, {{ pretty_fee }} required). The registration may fail.
{% endblocktrans %}
{% endwith %}
@ -181,8 +181,8 @@
<div class="alert alert-danger">
{% url 'registration:future_user_detail' pk=registration.user.pk as future_user_detail %}
{% url 'member:club_detail' pk=club.parent_club.parent_club.pk as club_detail %}
{% blocktrans trimmed %}
This user is not a member of the Kfet club for the comming year. Please adhere
{% blocktrans %}
This user is not a member of the Kfet club. Please adhere
<a href="{{ future_user_detail }}">here if he/she is in her/his first year</a>
or <a href="{{ club_detail }}">here if he/she was an old member</a> before you validate
the registration of the WEI.