Compare commits

..

No commits in common. "f597b6dbd89ee63bcfef91b917d34f5e2842f782" and "76a6260b1823fcd1ab24f632024b6a99a753fd54" have entirely different histories.

9 changed files with 103 additions and 231 deletions

View File

@ -5,7 +5,7 @@ from django import forms
from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from note.models import NoteSpecial, Alias from note.models import NoteSpecial
from note_kfet.inputs import Autocomplete, AmountInput, DatePickerInput from note_kfet.inputs import Autocomplete, AmountInput, DatePickerInput
from permission.models import PermissionMask, Role from permission.models import PermissionMask, Role
@ -38,15 +38,6 @@ class ProfileForm(forms.ModelForm):
class ClubForm(forms.ModelForm): class ClubForm(forms.ModelForm):
def clean(self):
cleaned_data = super().clean()
if not self.instance.pk: # Creating a club
if Alias.objects.filter(normalized_name=Alias.normalize(self.cleaned_data["name"])).exists():
self.add_error('name', _("An alias with a similar name already exists."))
return cleaned_data
class Meta: class Meta:
model = Club model = Club
fields = '__all__' fields = '__all__'

View File

@ -302,13 +302,12 @@ class Membership(models.Model):
if not Membership.objects.filter(user=self.user, club=self.club.parent_club).exists(): if not Membership.objects.filter(user=self.user, club=self.club.parent_club).exists():
raise ValidationError(_('User is not a member of the parent club') + ' ' + self.club.parent_club.name) raise ValidationError(_('User is not a member of the parent club') + ' ' + self.club.parent_club.name)
if self.pk: for role in self.roles.all():
for role in self.roles.all(): club = role.for_club
club = role.for_club if club is not None:
if club is not None: if club.pk != self.club_id:
if club.pk != self.club_id: raise ValidationError(_('The role {role} does not apply to the club {club}.')
raise ValidationError(_('The role {role} does not apply to the club {club}.') .format(role=role.name, club=club.name))
.format(role=role.name, club=club.name))
created = not self.pk created = not self.pk
if created: if created:

View File

@ -1743,7 +1743,7 @@
"wei", "wei",
"bus" "bus"
], ],
"query": "[\"AND\", {\"wei\": [\"club\"]}, [\"OR\", [\"NOT\", [\"membership\", \"weimembership\", \"registration\", \"first_year\"]], {\"wei__date_end__lte\": [\"today\"]}]]", "query": "[\"AND\", {\"wei\": [\"club\"]}, [\"OR\", [\"NOT\", [\"membership\", \"registration\", \"first_year\"]], {\"wei__date_end__lte\": [\"today\"]}]]",
"type": "view", "type": "view",
"mask": 1, "mask": 1,
"field": "", "field": "",
@ -1759,7 +1759,7 @@
"wei", "wei",
"busteam" "busteam"
], ],
"query": "[\"AND\", {\"bus__wei\": [\"club\"]}, [\"OR\", [\"NOT\", [\"membership\", \"weimembership\", \"registration\", \"first_year\"]], {\"bus__wei__date_end__lte\": [\"today\"]}]]", "query": "[\"AND\", {\"bus__wei\": [\"club\"]}, [\"OR\", [\"NOT\", [\"membership\", \"registration\", \"first_year\"]], {\"bus__wei__date_end__lte\": [\"today\"]}]]",
"type": "view", "type": "view",
"mask": 1, "mask": 1,
"field": "", "field": "",
@ -2055,70 +2055,6 @@
"description": "Update validation status of a club transaction if possible" "description": "Update validation status of a club transaction if possible"
} }
}, },
{
"model": "permission.permission",
"pk": 128,
"fields": {
"model": [
"wei",
"weiregistration"
],
"query": "{\"wei\": [\"club\"], \"wei__membership_end__gte\": [\"today\"]}",
"type": "change",
"mask": 1,
"field": "clothing_cut",
"permanent": false,
"description": "Update the clothing cut field of any WEI Registration"
}
},
{
"model": "permission.permission",
"pk": 129,
"fields": {
"model": [
"wei",
"weiregistration"
],
"query": "[\"AND\", {\"user\": [\"user\"], \"wei__membership_start__lte\": [\"today\"], \"wei__membership_end__gte\": [\"today\"]}, [\"OR\", {\"wei\": [\"club\"]}, {\"wei__year\": [\"today\", \"year\"], \"membership\": null}]]",
"type": "change",
"mask": 1,
"field": "clothing_cut",
"permanent": false,
"description": "Update the clothing cut field of my own WEI Registration"
}
},
{
"model": "permission.permission",
"pk": 130,
"fields": {
"model": [
"wei",
"weiregistration"
],
"query": "{\"wei\": [\"club\"], \"wei__membership_end__gte\": [\"today\"]}",
"type": "change",
"mask": 1,
"field": "clothing_size",
"permanent": false,
"description": "Update the clothing size field of any WEI Registration"
}
},
{
"model": "permission.permission",
"pk": 131,
"fields": {
"model": [
"wei",
"weiregistration"
],
"query": "[\"AND\", {\"user\": [\"user\"], \"wei__membership_start__lte\": [\"today\"], \"wei__membership_end__gte\": [\"today\"]}, [\"OR\", {\"wei\": [\"club\"]}, {\"wei__year\": [\"today\", \"year\"], \"membership\": null}]]",
"type": "change",
"mask": 1,
"field": "clothing_size",
"permanent": false,
"description": "Update the clothing size field of my own WEI Registration"
}
},
{ {
"model": "permission.role", "model": "permission.role",
"pk": 1, "pk": 1,
@ -2495,9 +2431,7 @@
110, 110,
111, 111,
112, 112,
113, 113
130,
131
] ]
} }
}, },
@ -2576,9 +2510,7 @@
101, 101,
108, 108,
109, 109,
114, 114
128,
130
] ]
} }
}, },

View File

@ -238,9 +238,6 @@ class Permission(models.Model):
field = Permission.compute_param(value[i], **kwargs) field = Permission.compute_param(value[i], **kwargs)
continue continue
if not hasattr(field, value[i][0]):
return False
field = getattr(field, value[i][0]) field = getattr(field, value[i][0])
params = [] params = []
call_kwargs = {} call_kwargs = {}
@ -254,9 +251,6 @@ class Permission(models.Model):
params.append(param) params.append(param)
field = field(*params, **call_kwargs) field = field(*params, **call_kwargs)
else: else:
if not hasattr(field, value[i]):
return False
field = getattr(field, value[i]) field = getattr(field, value[i])
return field return field
@ -281,7 +275,7 @@ class Permission(models.Model):
elif query[0] == 'NOT': elif query[0] == 'NOT':
return ~Permission._about(query[1], **kwargs) return ~Permission._about(query[1], **kwargs)
else: else:
return Q(pk=F("pk")) if Permission.compute_param(query, **kwargs) else ~Q(pk=F("pk")) return Q(pk=F("pk"))
elif isinstance(query, dict): elif isinstance(query, dict):
q_kwargs = {} q_kwargs = {}
for key in query: for key in query:

View File

@ -76,7 +76,7 @@ class PermissionQueryTestCase(TestCase):
model = perm.model.model_class() model = perm.model.model_class()
model.objects.filter(query).all() model.objects.filter(query).all()
# print("Good query for permission", perm) # print("Good query for permission", perm)
except (FieldError, AttributeError, ValueError, TypeError): except (FieldError, AttributeError, ValueError):
print("Query error for permission", perm) print("Query error for permission", perm)
print("Query:", perm.query) print("Query:", perm.query)
if instanced.query: if instanced.query:

View File

@ -190,28 +190,6 @@ class WEIRegistration(models.Model):
verbose_name=_("gender"), verbose_name=_("gender"),
) )
clothing_cut = models.CharField(
max_length=16,
choices=(
('male', _("Male")),
('female', _("Female")),
),
verbose_name=_("clothing cut"),
)
clothing_size = models.CharField(
max_length=4,
choices=(
('XS',"XS"),
('S', "S"),
('M', "M"),
('L', "L"),
('XL', "XL"),
('XXL', "XXL"),
),
verbose_name=_("clothing size"),
)
health_issues = models.TextField( health_issues = models.TextField(
blank=True, blank=True,
default="", default="",

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-28 20:42+0200\n" "POT-Creation-Date: 2020-07-25 19:55+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -46,7 +46,7 @@ msgstr ""
#: apps/activity/models.py:23 apps/activity/models.py:48 #: apps/activity/models.py:23 apps/activity/models.py:48
#: apps/member/models.py:151 apps/note/models/notes.py:188 #: apps/member/models.py:151 apps/note/models/notes.py:188
#: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45 #: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45
#: apps/note/models/transactions.py:261 apps/permission/models.py:321 #: apps/note/models/transactions.py:261 apps/permission/models.py:315
#: apps/wei/models.py:65 apps/wei/models.py:117 #: apps/wei/models.py:65 apps/wei/models.py:117
#: templates/member/club_info.html:13 templates/member/profile_info.html:14 #: templates/member/club_info.html:13 templates/member/profile_info.html:14
#: templates/registration/future_profile_detail.html:16 #: templates/registration/future_profile_detail.html:16
@ -205,11 +205,11 @@ msgstr ""
msgid "Balance" msgid "Balance"
msgstr "" msgstr ""
#: apps/activity/views.py:47 templates/base.html:120 #: apps/activity/views.py:44 templates/base.html:120
msgid "Activities" msgid "Activities"
msgstr "" msgstr ""
#: apps/activity/views.py:163 #: apps/activity/views.py:160
msgid "Entry for activity \"{}\"" msgid "Entry for activity \"{}\""
msgstr "" msgstr ""
@ -505,29 +505,29 @@ msgstr ""
msgid "fee" msgid "fee"
msgstr "" msgstr ""
#: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:770 #: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:768
msgid "User is not a member of the parent club" msgid "User is not a member of the parent club"
msgstr "" msgstr ""
#: apps/member/models.py:310 #: apps/member/models.py:309
#, python-brace-format #, python-brace-format
msgid "The role {role} does not apply to the club {club}." msgid "The role {role} does not apply to the club {club}."
msgstr "" msgstr ""
#: apps/member/models.py:321 apps/member/views.py:536 #: apps/member/models.py:320 apps/member/views.py:536
msgid "User is already a member of the club" msgid "User is already a member of the club"
msgstr "" msgstr ""
#: apps/member/models.py:372 #: apps/member/models.py:371
#, python-brace-format #, python-brace-format
msgid "Membership of {user} for the club {club}" msgid "Membership of {user} for the club {club}"
msgstr "" msgstr ""
#: apps/member/models.py:375 #: apps/member/models.py:374
msgid "membership" msgid "membership"
msgstr "" msgstr ""
#: apps/member/models.py:376 #: apps/member/models.py:375
msgid "memberships" msgid "memberships"
msgstr "" msgstr ""
@ -553,7 +553,7 @@ msgstr ""
msgid "Search user" msgid "Search user"
msgstr "" msgstr ""
#: apps/member/views.py:522 apps/wei/views.py:761 #: apps/member/views.py:522 apps/wei/views.py:759
msgid "" msgid ""
"This user don't have enough money to join this club, and can't have a " "This user don't have enough money to join this club, and can't have a "
"negative balance." "negative balance."
@ -883,7 +883,7 @@ msgstr ""
msgid "permission" msgid "permission"
msgstr "" msgstr ""
#: apps/permission/models.py:187 apps/permission/models.py:326 #: apps/permission/models.py:187 apps/permission/models.py:320
msgid "permissions" msgid "permissions"
msgstr "" msgstr ""
@ -891,11 +891,11 @@ msgstr ""
msgid "Specifying field applies only to view and change permission types." msgid "Specifying field applies only to view and change permission types."
msgstr "" msgstr ""
#: apps/permission/models.py:331 #: apps/permission/models.py:325
msgid "for club" msgid "for club"
msgstr "" msgstr ""
#: apps/permission/models.py:341 apps/permission/models.py:342 #: apps/permission/models.py:335 apps/permission/models.py:336
msgid "role permissions" msgid "role permissions"
msgstr "" msgstr ""
@ -1178,7 +1178,7 @@ msgid "WEI"
msgstr "" msgstr ""
#: apps/wei/forms/registration.py:47 apps/wei/models.py:112 #: apps/wei/forms/registration.py:47 apps/wei/models.py:112
#: apps/wei/models.py:297 #: apps/wei/models.py:275
msgid "bus" msgid "bus"
msgstr "" msgstr ""
@ -1271,11 +1271,11 @@ msgstr ""
msgid "birth date" msgid "birth date"
msgstr "" msgstr ""
#: apps/wei/models.py:186 apps/wei/models.py:196 #: apps/wei/models.py:186
msgid "Male" msgid "Male"
msgstr "" msgstr ""
#: apps/wei/models.py:187 apps/wei/models.py:197 #: apps/wei/models.py:187
msgid "Female" msgid "Female"
msgstr "" msgstr ""
@ -1287,83 +1287,75 @@ msgstr ""
msgid "gender" msgid "gender"
msgstr "" msgstr ""
#: apps/wei/models.py:199 #: apps/wei/models.py:196 templates/wei/weimembership_form.html:65
msgid "clothing cut"
msgstr ""
#: apps/wei/models.py:212
msgid "clothing size"
msgstr ""
#: apps/wei/models.py:218 templates/wei/weimembership_form.html:65
msgid "health issues" msgid "health issues"
msgstr "" msgstr ""
#: apps/wei/models.py:223 templates/wei/weimembership_form.html:68 #: apps/wei/models.py:201 templates/wei/weimembership_form.html:68
msgid "emergency contact name" msgid "emergency contact name"
msgstr "" msgstr ""
#: apps/wei/models.py:228 templates/wei/weimembership_form.html:71 #: apps/wei/models.py:206 templates/wei/weimembership_form.html:71
msgid "emergency contact phone" msgid "emergency contact phone"
msgstr "" msgstr ""
#: apps/wei/models.py:233 templates/wei/weimembership_form.html:74 #: apps/wei/models.py:211 templates/wei/weimembership_form.html:74
msgid "" msgid ""
"Register on the mailing list to stay informed of the events of the campus (1 " "Register on the mailing list to stay informed of the events of the campus (1 "
"mail/week)" "mail/week)"
msgstr "" msgstr ""
#: apps/wei/models.py:238 templates/wei/weimembership_form.html:77 #: apps/wei/models.py:216 templates/wei/weimembership_form.html:77
msgid "" msgid ""
"Register on the mailing list to stay informed of the sport events of the " "Register on the mailing list to stay informed of the sport events of the "
"campus (1 mail/week)" "campus (1 mail/week)"
msgstr "" msgstr ""
#: apps/wei/models.py:243 templates/wei/weimembership_form.html:80 #: apps/wei/models.py:221 templates/wei/weimembership_form.html:80
msgid "" msgid ""
"Register on the mailing list to stay informed of the art events of the " "Register on the mailing list to stay informed of the art events of the "
"campus (1 mail/week)" "campus (1 mail/week)"
msgstr "" msgstr ""
#: apps/wei/models.py:248 templates/wei/weimembership_form.html:56 #: apps/wei/models.py:226 templates/wei/weimembership_form.html:56
msgid "first year" msgid "first year"
msgstr "" msgstr ""
#: apps/wei/models.py:249 #: apps/wei/models.py:227
msgid "Tells if the user is new in the school." msgid "Tells if the user is new in the school."
msgstr "" msgstr ""
#: apps/wei/models.py:254 #: apps/wei/models.py:232
msgid "registration information" msgid "registration information"
msgstr "" msgstr ""
#: apps/wei/models.py:255 #: apps/wei/models.py:233
msgid "" msgid ""
"Information about the registration (buses for old members, survey fot the " "Information about the registration (buses for old members, survey fot the "
"new members), encoded in JSON" "new members), encoded in JSON"
msgstr "" msgstr ""
#: apps/wei/models.py:286 #: apps/wei/models.py:264
msgid "WEI User" msgid "WEI User"
msgstr "" msgstr ""
#: apps/wei/models.py:287 #: apps/wei/models.py:265
msgid "WEI Users" msgid "WEI Users"
msgstr "" msgstr ""
#: apps/wei/models.py:307 #: apps/wei/models.py:285
msgid "team" msgid "team"
msgstr "" msgstr ""
#: apps/wei/models.py:317 #: apps/wei/models.py:295
msgid "WEI registration" msgid "WEI registration"
msgstr "" msgstr ""
#: apps/wei/models.py:321 #: apps/wei/models.py:299
msgid "WEI membership" msgid "WEI membership"
msgstr "" msgstr ""
#: apps/wei/models.py:322 #: apps/wei/models.py:300
msgid "WEI memberships" msgid "WEI memberships"
msgstr "" msgstr ""
@ -1389,45 +1381,45 @@ msgstr ""
msgid "members" msgid "members"
msgstr "" msgstr ""
#: apps/wei/views.py:203 #: apps/wei/views.py:201
msgid "Find WEI Membership" msgid "Find WEI Membership"
msgstr "" msgstr ""
#: apps/wei/views.py:238 #: apps/wei/views.py:236
msgid "Find WEI Registration" msgid "Find WEI Registration"
msgstr "" msgstr ""
#: apps/wei/views.py:447 templates/wei/weiclub_info.html:62 #: apps/wei/views.py:445 templates/wei/weiclub_info.html:62
msgid "Register 1A" msgid "Register 1A"
msgstr "" msgstr ""
#: apps/wei/views.py:468 apps/wei/views.py:537 #: apps/wei/views.py:466 apps/wei/views.py:535
msgid "This user is already registered to this WEI." msgid "This user is already registered to this WEI."
msgstr "" msgstr ""
#: apps/wei/views.py:473 #: apps/wei/views.py:471
msgid "" msgid ""
"This user can't be in her/his first year since he/she has already participed " "This user can't be in her/his first year since he/she has already participed "
"to a WEI." "to a WEI."
msgstr "" msgstr ""
#: apps/wei/views.py:501 templates/wei/weiclub_info.html:65 #: apps/wei/views.py:499 templates/wei/weiclub_info.html:65
msgid "Register 2A+" msgid "Register 2A+"
msgstr "" msgstr ""
#: apps/wei/views.py:519 apps/wei/views.py:606 #: apps/wei/views.py:517 apps/wei/views.py:604
msgid "You already opened an account in the Société générale." msgid "You already opened an account in the Société générale."
msgstr "" msgstr ""
#: apps/wei/views.py:666 #: apps/wei/views.py:664
msgid "You don't have the right to delete this WEI registration." msgid "You don't have the right to delete this WEI registration."
msgstr "" msgstr ""
#: apps/wei/views.py:765 #: apps/wei/views.py:763
msgid "This user didn't give her/his caution check." msgid "This user didn't give her/his caution check."
msgstr "" msgstr ""
#: apps/wei/views.py:839 apps/wei/views.py:859 apps/wei/views.py:869 #: apps/wei/views.py:837 apps/wei/views.py:857 apps/wei/views.py:867
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12 #: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
#: templates/wei/survey_end.html:12 #: templates/wei/survey_end.html:12
msgid "Survey WEI" msgid "Survey WEI"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-07-28 20:42+0200\n" "POT-Creation-Date: 2020-07-25 19:55+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -47,7 +47,7 @@ msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité."
#: apps/activity/models.py:23 apps/activity/models.py:48 #: apps/activity/models.py:23 apps/activity/models.py:48
#: apps/member/models.py:151 apps/note/models/notes.py:188 #: apps/member/models.py:151 apps/note/models/notes.py:188
#: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45 #: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45
#: apps/note/models/transactions.py:261 apps/permission/models.py:321 #: apps/note/models/transactions.py:261 apps/permission/models.py:315
#: apps/wei/models.py:65 apps/wei/models.py:117 #: apps/wei/models.py:65 apps/wei/models.py:117
#: templates/member/club_info.html:13 templates/member/profile_info.html:14 #: templates/member/club_info.html:13 templates/member/profile_info.html:14
#: templates/registration/future_profile_detail.html:16 #: templates/registration/future_profile_detail.html:16
@ -206,11 +206,11 @@ msgstr "Note"
msgid "Balance" msgid "Balance"
msgstr "Solde du compte" msgstr "Solde du compte"
#: apps/activity/views.py:47 templates/base.html:120 #: apps/activity/views.py:44 templates/base.html:120
msgid "Activities" msgid "Activities"
msgstr "Activités" msgstr "Activités"
#: apps/activity/views.py:163 #: apps/activity/views.py:160
msgid "Entry for activity \"{}\"" msgid "Entry for activity \"{}\""
msgstr "Entrées pour l'activité « {} »" msgstr "Entrées pour l'activité « {} »"
@ -510,29 +510,29 @@ msgstr "l'adhésion finit le"
msgid "fee" msgid "fee"
msgstr "cotisation" msgstr "cotisation"
#: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:770 #: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:768
msgid "User is not a member of the parent club" msgid "User is not a member of the parent club"
msgstr "L'utilisateur n'est pas membre du club parent" msgstr "L'utilisateur n'est pas membre du club parent"
#: apps/member/models.py:310 #: apps/member/models.py:309
#, python-brace-format #, python-brace-format
msgid "The role {role} does not apply to the club {club}." msgid "The role {role} does not apply to the club {club}."
msgstr "Le rôle {role} ne s'applique pas au club {club}." msgstr "Le rôle {role} ne s'applique pas au club {club}."
#: apps/member/models.py:321 apps/member/views.py:536 #: apps/member/models.py:320 apps/member/views.py:536
msgid "User is already a member of the club" msgid "User is already a member of the club"
msgstr "L'utilisateur est déjà membre du club" msgstr "L'utilisateur est déjà membre du club"
#: apps/member/models.py:372 #: apps/member/models.py:371
#, python-brace-format #, python-brace-format
msgid "Membership of {user} for the club {club}" msgid "Membership of {user} for the club {club}"
msgstr "Adhésion de {user} pour le club {club}" msgstr "Adhésion de {user} pour le club {club}"
#: apps/member/models.py:375 #: apps/member/models.py:374
msgid "membership" msgid "membership"
msgstr "adhésion" msgstr "adhésion"
#: apps/member/models.py:376 #: apps/member/models.py:375
msgid "memberships" msgid "memberships"
msgstr "adhésions" msgstr "adhésions"
@ -558,7 +558,7 @@ msgstr "Un alias avec un nom similaire existe déjà."
msgid "Search user" msgid "Search user"
msgstr "Chercher un utilisateur" msgstr "Chercher un utilisateur"
#: apps/member/views.py:522 apps/wei/views.py:761 #: apps/member/views.py:522 apps/wei/views.py:759
msgid "" msgid ""
"This user don't have enough money to join this club, and can't have a " "This user don't have enough money to join this club, and can't have a "
"negative balance." "negative balance."
@ -766,8 +766,8 @@ msgid ""
"The transaction can't be saved since the source note or the destination note " "The transaction can't be saved since the source note or the destination note "
"is not active." "is not active."
msgstr "" msgstr ""
"La transaction ne peut pas être sauvegardée puisque la note source ou la " "La transaction ne peut pas être sauvegardée puisque la note source ou la note "
"note de destination n'est pas active." "de destination n'est pas active."
#: apps/note/models/transactions.py:228 #: apps/note/models/transactions.py:228
#: templates/activity/activity_entry.html:13 templates/base.html:98 #: templates/activity/activity_entry.html:13 templates/base.html:98
@ -803,8 +803,8 @@ msgid ""
"A special transaction is only possible between a Note associated to a " "A special transaction is only possible between a Note associated to a "
"payment method and a User or a Club" "payment method and a User or a Club"
msgstr "" msgstr ""
"Une transaction spéciale n'est possible que entre une note associée à un " "Une transaction spéciale n'est possible que entre une note associée à "
"mode de paiement et un utilisateur ou un club." "un mode de paiement et un utilisateur ou un club."
#: apps/note/models/transactions.py:305 apps/note/models/transactions.py:310 #: apps/note/models/transactions.py:305 apps/note/models/transactions.py:310
msgid "membership transaction" msgid "membership transaction"
@ -897,7 +897,7 @@ msgstr "permanent"
msgid "permission" msgid "permission"
msgstr "permission" msgstr "permission"
#: apps/permission/models.py:187 apps/permission/models.py:326 #: apps/permission/models.py:187 apps/permission/models.py:320
msgid "permissions" msgid "permissions"
msgstr "permissions" msgstr "permissions"
@ -907,11 +907,11 @@ msgstr ""
"Spécifie le champ concerné, ne fonctionne que pour les permissions view et " "Spécifie le champ concerné, ne fonctionne que pour les permissions view et "
"change." "change."
#: apps/permission/models.py:331 #: apps/permission/models.py:325
msgid "for club" msgid "for club"
msgstr "s'applique au club" msgstr "s'applique au club"
#: apps/permission/models.py:341 apps/permission/models.py:342 #: apps/permission/models.py:335 apps/permission/models.py:336
msgid "role permissions" msgid "role permissions"
msgstr "Permissions par rôles" msgstr "Permissions par rôles"
@ -1207,7 +1207,7 @@ msgid "WEI"
msgstr "WEI" msgstr "WEI"
#: apps/wei/forms/registration.py:47 apps/wei/models.py:112 #: apps/wei/forms/registration.py:47 apps/wei/models.py:112
#: apps/wei/models.py:297 #: apps/wei/models.py:275
msgid "bus" msgid "bus"
msgstr "Bus" msgstr "Bus"
@ -1307,11 +1307,11 @@ msgstr "Chèque de caution donné"
msgid "birth date" msgid "birth date"
msgstr "date de naissance" msgstr "date de naissance"
#: apps/wei/models.py:186 apps/wei/models.py:196 #: apps/wei/models.py:186
msgid "Male" msgid "Male"
msgstr "Homme" msgstr "Homme"
#: apps/wei/models.py:187 apps/wei/models.py:197 #: apps/wei/models.py:187
msgid "Female" msgid "Female"
msgstr "Femme" msgstr "Femme"
@ -1323,27 +1323,19 @@ msgstr "Non-binaire"
msgid "gender" msgid "gender"
msgstr "genre" msgstr "genre"
#: apps/wei/models.py:199 #: apps/wei/models.py:196 templates/wei/weimembership_form.html:65
msgid "clothing cut"
msgstr "coupe de vêtement"
#: apps/wei/models.py:212
msgid "clothing size"
msgstr "taille de vêtement"
#: apps/wei/models.py:218 templates/wei/weimembership_form.html:65
msgid "health issues" msgid "health issues"
msgstr "problèmes de santé" msgstr "problèmes de santé"
#: apps/wei/models.py:223 templates/wei/weimembership_form.html:68 #: apps/wei/models.py:201 templates/wei/weimembership_form.html:68
msgid "emergency contact name" msgid "emergency contact name"
msgstr "Nom du contact en cas d'urgence" msgstr "Nom du contact en cas d'urgence"
#: apps/wei/models.py:228 templates/wei/weimembership_form.html:71 #: apps/wei/models.py:206 templates/wei/weimembership_form.html:71
msgid "emergency contact phone" msgid "emergency contact phone"
msgstr "Téléphone du contact en cas d'urgence" msgstr "Téléphone du contact en cas d'urgence"
#: apps/wei/models.py:233 templates/wei/weimembership_form.html:74 #: apps/wei/models.py:211 templates/wei/weimembership_form.html:74
msgid "" msgid ""
"Register on the mailing list to stay informed of the events of the campus (1 " "Register on the mailing list to stay informed of the events of the campus (1 "
"mail/week)" "mail/week)"
@ -1351,7 +1343,7 @@ msgstr ""
"S'inscrire sur la liste de diffusion pour rester informé des événements sur " "S'inscrire sur la liste de diffusion pour rester informé des événements sur "
"le campus (1 mail par semaine)" "le campus (1 mail par semaine)"
#: apps/wei/models.py:238 templates/wei/weimembership_form.html:77 #: apps/wei/models.py:216 templates/wei/weimembership_form.html:77
msgid "" msgid ""
"Register on the mailing list to stay informed of the sport events of the " "Register on the mailing list to stay informed of the sport events of the "
"campus (1 mail/week)" "campus (1 mail/week)"
@ -1359,7 +1351,7 @@ msgstr ""
"S'inscrire sur la liste de diffusion pour rester informé des actualités " "S'inscrire sur la liste de diffusion pour rester informé des actualités "
"sportives sur le campus (1 mail par semaine)" "sportives sur le campus (1 mail par semaine)"
#: apps/wei/models.py:243 templates/wei/weimembership_form.html:80 #: apps/wei/models.py:221 templates/wei/weimembership_form.html:80
msgid "" msgid ""
"Register on the mailing list to stay informed of the art events of the " "Register on the mailing list to stay informed of the art events of the "
"campus (1 mail/week)" "campus (1 mail/week)"
@ -1367,19 +1359,19 @@ msgstr ""
"S'inscrire sur la liste de diffusion pour rester informé des actualités " "S'inscrire sur la liste de diffusion pour rester informé des actualités "
"artistiques sur le campus (1 mail par semaine)" "artistiques sur le campus (1 mail par semaine)"
#: apps/wei/models.py:248 templates/wei/weimembership_form.html:56 #: apps/wei/models.py:226 templates/wei/weimembership_form.html:56
msgid "first year" msgid "first year"
msgstr "première année" msgstr "première année"
#: apps/wei/models.py:249 #: apps/wei/models.py:227
msgid "Tells if the user is new in the school." msgid "Tells if the user is new in the school."
msgstr "Indique si l'utilisateur est nouveau dans l'école." msgstr "Indique si l'utilisateur est nouveau dans l'école."
#: apps/wei/models.py:254 #: apps/wei/models.py:232
msgid "registration information" msgid "registration information"
msgstr "informations sur l'inscription" msgstr "informations sur l'inscription"
#: apps/wei/models.py:255 #: apps/wei/models.py:233
msgid "" msgid ""
"Information about the registration (buses for old members, survey fot the " "Information about the registration (buses for old members, survey fot the "
"new members), encoded in JSON" "new members), encoded in JSON"
@ -1387,27 +1379,27 @@ msgstr ""
"Informations sur l'inscription (bus pour les 2A+, questionnaire pour les " "Informations sur l'inscription (bus pour les 2A+, questionnaire pour les "
"1A), encodées en JSON" "1A), encodées en JSON"
#: apps/wei/models.py:286 #: apps/wei/models.py:264
msgid "WEI User" msgid "WEI User"
msgstr "Participant au WEI" msgstr "Participant au WEI"
#: apps/wei/models.py:287 #: apps/wei/models.py:265
msgid "WEI Users" msgid "WEI Users"
msgstr "Participants au WEI" msgstr "Participants au WEI"
#: apps/wei/models.py:307 #: apps/wei/models.py:285
msgid "team" msgid "team"
msgstr "équipe" msgstr "équipe"
#: apps/wei/models.py:317 #: apps/wei/models.py:295
msgid "WEI registration" msgid "WEI registration"
msgstr "inscription au WEI" msgstr "inscription au WEI"
#: apps/wei/models.py:321 #: apps/wei/models.py:299
msgid "WEI membership" msgid "WEI membership"
msgstr "adhésion au WEI" msgstr "adhésion au WEI"
#: apps/wei/models.py:322 #: apps/wei/models.py:300
msgid "WEI memberships" msgid "WEI memberships"
msgstr "adhésions au WEI" msgstr "adhésions au WEI"
@ -1433,23 +1425,23 @@ msgstr "Nombre de membres"
msgid "members" msgid "members"
msgstr "adhérents" msgstr "adhérents"
#: apps/wei/views.py:203 #: apps/wei/views.py:201
msgid "Find WEI Membership" msgid "Find WEI Membership"
msgstr "Trouver une adhésion au WEI" msgstr "Trouver une adhésion au WEI"
#: apps/wei/views.py:238 #: apps/wei/views.py:236
msgid "Find WEI Registration" msgid "Find WEI Registration"
msgstr "Trouver une inscription au WEI" msgstr "Trouver une inscription au WEI"
#: apps/wei/views.py:447 templates/wei/weiclub_info.html:62 #: apps/wei/views.py:445 templates/wei/weiclub_info.html:62
msgid "Register 1A" msgid "Register 1A"
msgstr "Inscrire un 1A" msgstr "Inscrire un 1A"
#: apps/wei/views.py:468 apps/wei/views.py:537 #: apps/wei/views.py:466 apps/wei/views.py:535
msgid "This user is already registered to this WEI." msgid "This user is already registered to this WEI."
msgstr "Cette personne est déjà inscrite au WEI." msgstr "Cette personne est déjà inscrite au WEI."
#: apps/wei/views.py:473 #: apps/wei/views.py:471
msgid "" msgid ""
"This user can't be in her/his first year since he/she has already participed " "This user can't be in her/his first year since he/she has already participed "
"to a WEI." "to a WEI."
@ -1457,23 +1449,23 @@ msgstr ""
"Cet utilisateur ne peut pas être en première année puisqu'iel a déjà " "Cet utilisateur ne peut pas être en première année puisqu'iel a déjà "
"participé à un WEI." "participé à un WEI."
#: apps/wei/views.py:501 templates/wei/weiclub_info.html:65 #: apps/wei/views.py:499 templates/wei/weiclub_info.html:65
msgid "Register 2A+" msgid "Register 2A+"
msgstr "Inscrire un 2A+" msgstr "Inscrire un 2A+"
#: apps/wei/views.py:519 apps/wei/views.py:606 #: apps/wei/views.py:517 apps/wei/views.py:604
msgid "You already opened an account in the Société générale." msgid "You already opened an account in the Société générale."
msgstr "Vous avez déjà ouvert un compte auprès de la société générale." msgstr "Vous avez déjà ouvert un compte auprès de la société générale."
#: apps/wei/views.py:666 #: apps/wei/views.py:664
msgid "You don't have the right to delete this WEI registration." msgid "You don't have the right to delete this WEI registration."
msgstr "Vous n'avez pas la permission de supprimer cette inscription au WEI." msgstr "Vous n'avez pas la permission de supprimer cette inscription au WEI."
#: apps/wei/views.py:765 #: apps/wei/views.py:763
msgid "This user didn't give her/his caution check." msgid "This user didn't give her/his caution check."
msgstr "Cet utilisateur n'a pas donné son chèque de caution." msgstr "Cet utilisateur n'a pas donné son chèque de caution."
#: apps/wei/views.py:839 apps/wei/views.py:859 apps/wei/views.py:869 #: apps/wei/views.py:837 apps/wei/views.py:857 apps/wei/views.py:867
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12 #: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
#: templates/wei/survey_end.html:12 #: templates/wei/survey_end.html:12
msgid "Survey WEI" msgid "Survey WEI"

View File

@ -59,12 +59,6 @@
<dt class="col-xl-6">{% trans 'gender'|capfirst %}</dt> <dt class="col-xl-6">{% trans 'gender'|capfirst %}</dt>
<dd class="col-xl-6">{{ registration.gender }}</dd> <dd class="col-xl-6">{{ registration.gender }}</dd>
<dt class="col-xl-6">{% trans 'clothing cut'|capfirst %}</dt>
<dd class="col-xl-6">{{ registration.clothing_cut }}</dd>
<dt class="col-xl-6">{% trans 'clothing size'|capfirst %}</dt>
<dd class="col-xl-6">{{ registration.clothing_size }}</dd>
<dt class="col-xl-6">{% trans 'birth date'|capfirst %}</dt> <dt class="col-xl-6">{% trans 'birth date'|capfirst %}</dt>
<dd class="col-xl-6">{{ registration.birth_date }}</dd> <dd class="col-xl-6">{{ registration.birth_date }}</dd>