1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2024-12-24 00:12:23 +00:00

Emails are unique. Translate mail foooters. Closes #55 #56

This commit is contained in:
Yohann D'ANELLO 2020-08-09 16:38:37 +02:00
parent 5846f03220
commit 764eaafb95
12 changed files with 279 additions and 250 deletions

View File

@ -50,7 +50,7 @@ class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = '__all__'
exclude = ('user', )
exclude = ('user', 'email_confirmed', 'registration_valid', )
class ClubForm(forms.ModelForm):

View File

@ -148,7 +148,7 @@ class Profile(models.Model):
return str(self.user)
def send_email_validation_link(self):
subject = "[Note Kfet]" + str(_("Activate your Note Kfet account"))
subject = "[Note Kfet] " + str(_("Activate your Note Kfet account"))
message = loader.render_to_string('registration/mails/email_validation_email.txt',
{
'user': self.user,

View File

@ -28,6 +28,12 @@ class SignUpForm(UserCreationForm):
self.add_error("username", _("An alias with a similar name already exists."))
return value
def clean_email(self):
email = self.cleaned_data["email"]
if User.objects.filter(email=email).exists():
self.add_error("email", _("This email address is already used."))
return email
class Meta:
model = User
fields = ('first_name', 'last_name', 'username', 'email', )

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-07 19:53+0200\n"
"POT-Creation-Date: 2020-08-09 16:35+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"
@ -44,9 +44,9 @@ msgid "You can't invite more than 3 people to this activity."
msgstr ""
#: apps/activity/models.py:27 apps/activity/models.py:62
#: apps/member/models.py:172 apps/note/models/notes.py:212
#: apps/member/models.py:175 apps/note/models/notes.py:212
#: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45
#: apps/note/models/transactions.py:295 apps/permission/models.py:331
#: apps/note/models/transactions.py:286 apps/permission/models.py:329
#: apps/wei/models.py:66 apps/wei/models.py:118
#: templates/member/club_info.html:13 templates/member/profile_info.html:14
#: templates/registration/future_profile_detail.html:16
@ -78,8 +78,8 @@ msgstr ""
msgid "activity types"
msgstr ""
#: apps/activity/models.py:67 apps/note/models/transactions.py:81
#: apps/permission/models.py:112 apps/permission/models.py:191
#: apps/activity/models.py:67 apps/note/models/transactions.py:80
#: apps/permission/models.py:110 apps/permission/models.py:189
#: apps/wei/models.py:72 apps/wei/models.py:129
#: templates/activity/activity_info.html:19
msgid "description"
@ -90,12 +90,12 @@ msgid "location"
msgstr ""
#: apps/activity/models.py:81 apps/note/models/notes.py:188
#: apps/note/models/transactions.py:66 apps/permission/models.py:166
#: apps/note/models/transactions.py:65 apps/permission/models.py:164
#: templates/activity/activity_info.html:22
msgid "type"
msgstr ""
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:277
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:280
#: apps/note/models/notes.py:126 apps/treasury/models.py:266
#: apps/wei/models.py:160 templates/treasury/sogecredit_detail.html:14
#: templates/wei/survey.html:16
@ -118,7 +118,7 @@ msgstr ""
msgid "end date"
msgstr ""
#: apps/activity/models.py:114 apps/note/models/transactions.py:146
#: apps/activity/models.py:114 apps/note/models/transactions.py:145
#: templates/activity/activity_info.html:50
msgid "valid"
msgstr ""
@ -199,14 +199,14 @@ msgid "Type"
msgstr ""
#: apps/activity/tables.py:81 apps/member/forms.py:106
#: apps/registration/forms.py:70 apps/treasury/forms.py:135
#: apps/wei/forms/registration.py:94
#: apps/registration/forms.py:76 apps/treasury/forms.py:135
#: apps/wei/forms/registration.py:96
msgid "Last name"
msgstr ""
#: apps/activity/tables.py:83 apps/member/forms.py:111
#: apps/registration/forms.py:75 apps/treasury/forms.py:137
#: apps/wei/forms/registration.py:99 templates/note/transaction_form.html:131
#: apps/registration/forms.py:81 apps/treasury/forms.py:137
#: apps/wei/forms/registration.py:101 templates/note/transaction_form.html:131
msgid "First name"
msgstr ""
@ -254,7 +254,7 @@ msgstr ""
msgid "IP Address"
msgstr ""
#: apps/logs/models.py:36 apps/permission/models.py:136
#: apps/logs/models.py:36 apps/permission/models.py:134
msgid "model"
msgstr ""
@ -274,14 +274,14 @@ msgstr ""
msgid "create"
msgstr ""
#: apps/logs/models.py:62 apps/note/tables.py:160
#: apps/logs/models.py:62 apps/note/tables.py:163
#: templates/activity/activity_info.html:71
msgid "edit"
msgstr ""
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:165
#: apps/permission/models.py:129 apps/treasury/tables.py:38
#: apps/wei/tables.py:73
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:168
#: apps/permission/models.py:127 apps/treasury/tables.py:38
#: apps/wei/tables.py:74
msgid "delete"
msgstr ""
@ -305,25 +305,25 @@ msgstr ""
msgid "changelogs"
msgstr ""
#: apps/member/admin.py:52 apps/member/models.py:199
#: apps/member/admin.py:52 apps/member/models.py:202
#: templates/member/club_info.html:41
msgid "membership fee (paid students)"
msgstr ""
#: apps/member/admin.py:53 apps/member/models.py:204
#: apps/member/admin.py:53 apps/member/models.py:207
#: templates/member/club_info.html:44
msgid "membership fee (unpaid students)"
msgstr ""
#: apps/member/admin.py:67 apps/member/models.py:288
#: apps/member/admin.py:67 apps/member/models.py:291
msgid "roles"
msgstr ""
#: apps/member/admin.py:68 apps/member/models.py:302
#: apps/member/admin.py:68 apps/member/models.py:305
msgid "fee"
msgstr ""
#: apps/member/apps.py:14 apps/wei/tables.py:179 apps/wei/tables.py:210
#: apps/member/apps.py:14 apps/wei/tables.py:180 apps/wei/tables.py:211
msgid "member"
msgstr ""
@ -340,21 +340,21 @@ msgstr ""
msgid "An alias with a similar name already exists."
msgstr ""
#: apps/member/forms.py:85 apps/registration/forms.py:50
#: apps/member/forms.py:85 apps/registration/forms.py:56
msgid "Inscription paid by Société Générale"
msgstr ""
#: apps/member/forms.py:87 apps/registration/forms.py:52
#: apps/member/forms.py:87 apps/registration/forms.py:58
msgid "Check this case is the Société Générale paid the inscription."
msgstr ""
#: apps/member/forms.py:92 apps/registration/forms.py:57
#: apps/wei/forms/registration.py:81
#: apps/member/forms.py:92 apps/registration/forms.py:63
#: apps/wei/forms/registration.py:83
msgid "Credit type"
msgstr ""
#: apps/member/forms.py:93 apps/registration/forms.py:58
#: apps/wei/forms/registration.py:82
#: apps/member/forms.py:93 apps/registration/forms.py:64
#: apps/wei/forms/registration.py:84
msgid "No credit"
msgstr ""
@ -362,13 +362,13 @@ msgstr ""
msgid "You can credit the note of the user."
msgstr ""
#: apps/member/forms.py:99 apps/registration/forms.py:63
#: apps/wei/forms/registration.py:87
#: apps/member/forms.py:99 apps/registration/forms.py:69
#: apps/wei/forms/registration.py:89
msgid "Credit amount"
msgstr ""
#: apps/member/forms.py:116 apps/registration/forms.py:80
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:104
#: apps/member/forms.py:116 apps/registration/forms.py:86
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:106
#: templates/note/transaction_form.html:137
msgid "Bank"
msgstr ""
@ -509,92 +509,92 @@ msgstr ""
msgid "user profile"
msgstr ""
#: apps/member/models.py:148
#: apps/member/models.py:151
msgid "Activate your Note Kfet account"
msgstr ""
#: apps/member/models.py:177 templates/member/club_info.html:57
#: apps/member/models.py:180 templates/member/club_info.html:57
#: templates/registration/future_profile_detail.html:22
#: templates/wei/weiclub_info.html:52 templates/wei/weimembership_form.html:24
msgid "email"
msgstr ""
#: apps/member/models.py:184
#: apps/member/models.py:187
msgid "parent club"
msgstr ""
#: apps/member/models.py:193
#: apps/member/models.py:196
msgid "require memberships"
msgstr ""
#: apps/member/models.py:194
#: apps/member/models.py:197
msgid "Uncheck if this club don't require memberships."
msgstr ""
#: apps/member/models.py:210 templates/member/club_info.html:33
#: apps/member/models.py:213 templates/member/club_info.html:33
msgid "membership duration"
msgstr ""
#: apps/member/models.py:211
#: apps/member/models.py:214
msgid "The longest time (in days) a membership can last (NULL = infinite)."
msgstr ""
#: apps/member/models.py:218 templates/member/club_info.html:23
#: apps/member/models.py:221 templates/member/club_info.html:23
msgid "membership start"
msgstr ""
#: apps/member/models.py:219
#: apps/member/models.py:222
msgid "Date from which the members can renew their membership."
msgstr ""
#: apps/member/models.py:225 templates/member/club_info.html:28
#: apps/member/models.py:228 templates/member/club_info.html:28
msgid "membership end"
msgstr ""
#: apps/member/models.py:226
#: apps/member/models.py:229
msgid "Maximal date of a membership, after which members must renew it."
msgstr ""
#: apps/member/models.py:258 apps/member/models.py:283
#: apps/member/models.py:261 apps/member/models.py:286
#: apps/note/models/notes.py:163
msgid "club"
msgstr ""
#: apps/member/models.py:259
#: apps/member/models.py:262
msgid "clubs"
msgstr ""
#: apps/member/models.py:293
#: apps/member/models.py:296
msgid "membership starts on"
msgstr ""
#: apps/member/models.py:297
#: apps/member/models.py:300
msgid "membership ends on"
msgstr ""
#: apps/member/models.py:348
#: apps/member/models.py:351
#, python-brace-format
msgid "The role {role} does not apply to the club {club}."
msgstr ""
#: apps/member/models.py:359 apps/member/views.py:592
#: apps/member/models.py:362 apps/member/views.py:592
msgid "User is already a member of the club"
msgstr ""
#: apps/member/models.py:406
#: apps/member/models.py:409
msgid "User is not a member of the parent club"
msgstr ""
#: apps/member/models.py:459
#: apps/member/models.py:462
#, python-brace-format
msgid "Membership of {user} for the club {club}"
msgstr ""
#: apps/member/models.py:462
#: apps/member/models.py:465
msgid "membership"
msgstr ""
#: apps/member/models.py:463
#: apps/member/models.py:466
msgid "memberships"
msgstr ""
@ -680,17 +680,17 @@ msgstr ""
msgid "Members of the club"
msgstr ""
#: apps/note/admin.py:133 apps/note/models/transactions.py:106
#: apps/note/admin.py:133 apps/note/models/transactions.py:105
msgid "source"
msgstr ""
#: apps/note/admin.py:141 apps/note/admin.py:191
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:118
msgid "destination"
msgstr ""
#: apps/note/admin.py:196 apps/note/models/transactions.py:59
#: apps/note/models/transactions.py:137
#: apps/note/models/transactions.py:136
msgid "amount"
msgstr ""
@ -764,7 +764,7 @@ msgstr ""
msgid "display image"
msgstr ""
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:129
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:128
msgid "created at"
msgstr ""
@ -847,115 +847,115 @@ msgstr ""
msgid "A template with this name already exist"
msgstr ""
#: apps/note/models/transactions.py:72
#: apps/note/models/transactions.py:71
msgid "display"
msgstr ""
#: apps/note/models/transactions.py:77
#: apps/note/models/transactions.py:76
msgid "highlighted"
msgstr ""
#: apps/note/models/transactions.py:87
#: apps/note/models/transactions.py:86
msgid "transaction template"
msgstr ""
#: apps/note/models/transactions.py:88
#: apps/note/models/transactions.py:87
msgid "transaction templates"
msgstr ""
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
#: apps/note/models/transactions.py:111 apps/note/models/transactions.py:124
#: apps/note/tables.py:35 apps/note/tables.py:44
msgid "used alias"
msgstr ""
#: apps/note/models/transactions.py:133
#: apps/note/models/transactions.py:132
msgid "quantity"
msgstr ""
#: apps/note/models/transactions.py:141
#: apps/note/models/transactions.py:140
msgid "reason"
msgstr ""
#: apps/note/models/transactions.py:151 apps/note/tables.py:112
#: apps/note/models/transactions.py:150 apps/note/tables.py:112
msgid "invalidity reason"
msgstr ""
#: apps/note/models/transactions.py:159
#: apps/note/models/transactions.py:158
msgid "transaction"
msgstr ""
#: apps/note/models/transactions.py:160
#: apps/note/models/transactions.py:159
#: templates/treasury/sogecredit_detail.html:22
msgid "transactions"
msgstr ""
#: apps/note/models/transactions.py:197
#: apps/note/models/transactions.py:192
msgid ""
"The note balances must be between - 21 474 836.47 € and 21 474 836.47 €."
msgstr ""
#: apps/note/models/transactions.py:212
#: apps/note/models/transactions.py:207
msgid ""
"The transaction can't be saved since the source note or the destination note "
"is not active."
msgstr ""
#: apps/note/models/transactions.py:257
#: apps/note/models/transactions.py:248
#: templates/activity/activity_entry.html:13 templates/base.html:99
#: templates/note/transaction_form.html:15
#: templates/note/transaction_form.html:145
msgid "Transfer"
msgstr ""
#: apps/note/models/transactions.py:281
#: apps/note/models/transactions.py:272
msgid "Template"
msgstr ""
#: apps/note/models/transactions.py:284
#: apps/note/models/transactions.py:275
msgid "recurrent transaction"
msgstr ""
#: apps/note/models/transactions.py:285
#: apps/note/models/transactions.py:276
msgid "recurrent transactions"
msgstr ""
#: apps/note/models/transactions.py:300
#: apps/note/models/transactions.py:291
msgid "first_name"
msgstr ""
#: apps/note/models/transactions.py:305
#: apps/note/models/transactions.py:296
msgid "bank"
msgstr ""
#: apps/note/models/transactions.py:311
#: apps/note/models/transactions.py:302
#: templates/activity/activity_entry.html:17
#: templates/note/transaction_form.html:20
msgid "Credit"
msgstr ""
#: apps/note/models/transactions.py:311 templates/note/transaction_form.html:25
#: apps/note/models/transactions.py:302 templates/note/transaction_form.html:25
msgid "Debit"
msgstr ""
#: apps/note/models/transactions.py:322
#: apps/note/models/transactions.py:313
msgid ""
"A special transaction is only possible between a Note associated to a "
"payment method and a User or a Club"
msgstr ""
#: apps/note/models/transactions.py:326
#: apps/note/models/transactions.py:317
msgid "Special transaction"
msgstr ""
#: apps/note/models/transactions.py:327
#: apps/note/models/transactions.py:318
msgid "Special transactions"
msgstr ""
#: apps/note/models/transactions.py:343 apps/note/models/transactions.py:348
#: apps/note/models/transactions.py:334 apps/note/models/transactions.py:339
msgid "membership transaction"
msgstr ""
#: apps/note/models/transactions.py:344 apps/treasury/models.py:272
#: apps/note/models/transactions.py:335 apps/treasury/models.py:272
msgid "membership transactions"
msgstr ""
@ -971,15 +971,15 @@ msgstr ""
msgid "No reason specified"
msgstr ""
#: apps/note/tables.py:139 apps/note/tables.py:167 apps/treasury/tables.py:39
#: apps/wei/tables.py:74 apps/wei/tables.py:100
#: apps/note/tables.py:139 apps/note/tables.py:170 apps/treasury/tables.py:39
#: apps/wei/tables.py:75 apps/wei/tables.py:101
#: templates/treasury/invoice_confirm_delete.html:28
#: templates/treasury/sogecredit_detail.html:59
#: templates/wei/weiregistration_confirm_delete.html:32
msgid "Delete"
msgstr ""
#: apps/note/tables.py:162 apps/wei/tables.py:46 apps/wei/tables.py:47
#: apps/note/tables.py:165 apps/wei/tables.py:46 apps/wei/tables.py:47
#: templates/member/club_info.html:67 templates/note/conso_form.html:130
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
@ -1010,79 +1010,79 @@ msgstr ""
msgid "Search transactions"
msgstr ""
#: apps/permission/models.py:91
#: apps/permission/models.py:89
#, python-brace-format
msgid "Can {type} {model}.{field} in {query}"
msgstr ""
#: apps/permission/models.py:93
#: apps/permission/models.py:91
#, python-brace-format
msgid "Can {type} {model} in {query}"
msgstr ""
#: apps/permission/models.py:106
#: apps/permission/models.py:104
msgid "rank"
msgstr ""
#: apps/permission/models.py:119
#: apps/permission/models.py:117
msgid "permission mask"
msgstr ""
#: apps/permission/models.py:120
#: apps/permission/models.py:118
msgid "permission masks"
msgstr ""
#: apps/permission/models.py:126
#: apps/permission/models.py:124
msgid "add"
msgstr ""
#: apps/permission/models.py:127
#: apps/permission/models.py:125
msgid "view"
msgstr ""
#: apps/permission/models.py:128
#: apps/permission/models.py:126
msgid "change"
msgstr ""
#: apps/permission/models.py:160
#: apps/permission/models.py:158
msgid "query"
msgstr ""
#: apps/permission/models.py:173
#: apps/permission/models.py:171
msgid "mask"
msgstr ""
#: apps/permission/models.py:179
#: apps/permission/models.py:177
msgid "field"
msgstr ""
#: apps/permission/models.py:184
#: apps/permission/models.py:182
msgid ""
"Tells if the permission should be granted even if the membership of the user "
"is expired."
msgstr ""
#: apps/permission/models.py:185 templates/permission/all_rights.html:36
#: apps/permission/models.py:183 templates/permission/all_rights.html:36
msgid "permanent"
msgstr ""
#: apps/permission/models.py:196
#: apps/permission/models.py:194
msgid "permission"
msgstr ""
#: apps/permission/models.py:197 apps/permission/models.py:336
#: apps/permission/models.py:195 apps/permission/models.py:334
msgid "permissions"
msgstr ""
#: apps/permission/models.py:202
#: apps/permission/models.py:200
msgid "Specifying field applies only to view and change permission types."
msgstr ""
#: apps/permission/models.py:341
#: apps/permission/models.py:339
msgid "for club"
msgstr ""
#: apps/permission/models.py:351 apps/permission/models.py:352
#: apps/permission/models.py:349 apps/permission/models.py:350
msgid "role permissions"
msgstr ""
@ -1119,21 +1119,25 @@ msgstr ""
msgid "registration"
msgstr ""
#: apps/registration/forms.py:38
#: apps/registration/forms.py:34
msgid "This email address is already used."
msgstr ""
#: apps/registration/forms.py:44
msgid "Register to the WEI"
msgstr ""
#: apps/registration/forms.py:40
#: apps/registration/forms.py:46
msgid ""
"Check this case if you want to register to the WEI. If you hesitate, you "
"will be able to register later, after validating your account in the Kfet."
msgstr ""
#: apps/registration/forms.py:85
#: apps/registration/forms.py:91
msgid "Join BDE Club"
msgstr ""
#: apps/registration/forms.py:92
#: apps/registration/forms.py:98
msgid "Join Kfet Club"
msgstr ""
@ -1446,41 +1450,41 @@ msgstr ""
msgid "WEI"
msgstr ""
#: apps/wei/forms/registration.py:49 apps/wei/models.py:113
#: apps/wei/forms/registration.py:51 apps/wei/models.py:113
#: apps/wei/models.py:298
msgid "bus"
msgstr ""
#: apps/wei/forms/registration.py:50
#: apps/wei/forms/registration.py:52
msgid ""
"This choice is not definitive. The WEI organizers are free to attribute for "
"you a bus and a team, in particular if you are a free eletron."
msgstr ""
#: apps/wei/forms/registration.py:57
#: apps/wei/forms/registration.py:59
msgid "Team"
msgstr ""
#: apps/wei/forms/registration.py:59
#: apps/wei/forms/registration.py:61
msgid ""
"Leave this field empty if you won't be in a team (staff, bus chief, free "
"electron)"
msgstr ""
#: apps/wei/forms/registration.py:65 apps/wei/forms/registration.py:75
#: apps/wei/forms/registration.py:67 apps/wei/forms/registration.py:77
#: apps/wei/models.py:148
msgid "WEI Roles"
msgstr ""
#: apps/wei/forms/registration.py:66
#: apps/wei/forms/registration.py:68
msgid "Select the roles that you are interested in."
msgstr ""
#: apps/wei/forms/registration.py:111
#: apps/wei/forms/registration.py:113
msgid "This team doesn't belong to the given bus."
msgstr ""
#: apps/wei/forms/surveys/wei2020.py:26
#: apps/wei/forms/surveys/wei2020.py:29
msgid "Choose a word:"
msgstr ""
@ -1640,25 +1644,25 @@ msgstr ""
msgid "WEI memberships"
msgstr ""
#: apps/wei/tables.py:57 apps/wei/tables.py:58 apps/wei/tables.py:95
#: apps/wei/tables.py:58 apps/wei/tables.py:59 apps/wei/tables.py:96
#: templates/treasury/sogecredit_detail.html:57
msgid "Validate"
msgstr ""
#: apps/wei/tables.py:125
#: apps/wei/tables.py:126
msgid "Year"
msgstr ""
#: apps/wei/tables.py:163 templates/wei/bus_tables.html:26
#: apps/wei/tables.py:164 templates/wei/bus_tables.html:26
#: templates/wei/busteam_tables.html:43
msgid "Teams"
msgstr ""
#: apps/wei/tables.py:172 apps/wei/tables.py:213
#: apps/wei/tables.py:173 apps/wei/tables.py:214
msgid "Members count"
msgstr ""
#: apps/wei/tables.py:179 apps/wei/tables.py:210
#: apps/wei/tables.py:180 apps/wei/tables.py:211
msgid "members"
msgstr ""
@ -2316,6 +2320,10 @@ msgstr ""
msgid "The Note Kfet team."
msgstr ""
#: templates/registration/mails/email_validation_email.html:40
msgid "Mail generated by the Note Kfet on the"
msgstr ""
#: templates/registration/password_change_done.html:8
msgid "Your password was changed."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-07 19:53+0200\n"
"POT-Creation-Date: 2020-08-09 16:35+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"
@ -45,9 +45,9 @@ msgid "You can't invite more than 3 people to this activity."
msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité."
#: apps/activity/models.py:27 apps/activity/models.py:62
#: apps/member/models.py:172 apps/note/models/notes.py:212
#: apps/member/models.py:175 apps/note/models/notes.py:212
#: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45
#: apps/note/models/transactions.py:295 apps/permission/models.py:331
#: apps/note/models/transactions.py:286 apps/permission/models.py:329
#: apps/wei/models.py:66 apps/wei/models.py:118
#: templates/member/club_info.html:13 templates/member/profile_info.html:14
#: templates/registration/future_profile_detail.html:16
@ -79,8 +79,8 @@ msgstr "type d'activité"
msgid "activity types"
msgstr "types d'activité"
#: apps/activity/models.py:67 apps/note/models/transactions.py:81
#: apps/permission/models.py:112 apps/permission/models.py:191
#: apps/activity/models.py:67 apps/note/models/transactions.py:80
#: apps/permission/models.py:110 apps/permission/models.py:189
#: apps/wei/models.py:72 apps/wei/models.py:129
#: templates/activity/activity_info.html:19
msgid "description"
@ -91,12 +91,12 @@ msgid "location"
msgstr "lieu"
#: apps/activity/models.py:81 apps/note/models/notes.py:188
#: apps/note/models/transactions.py:66 apps/permission/models.py:166
#: apps/note/models/transactions.py:65 apps/permission/models.py:164
#: templates/activity/activity_info.html:22
msgid "type"
msgstr "type"
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:277
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:280
#: apps/note/models/notes.py:126 apps/treasury/models.py:266
#: apps/wei/models.py:160 templates/treasury/sogecredit_detail.html:14
#: templates/wei/survey.html:16
@ -119,7 +119,7 @@ msgstr "date de début"
msgid "end date"
msgstr "date de fin"
#: apps/activity/models.py:114 apps/note/models/transactions.py:146
#: apps/activity/models.py:114 apps/note/models/transactions.py:145
#: templates/activity/activity_info.html:50
msgid "valid"
msgstr "valide"
@ -200,14 +200,14 @@ msgid "Type"
msgstr "Type"
#: apps/activity/tables.py:81 apps/member/forms.py:106
#: apps/registration/forms.py:70 apps/treasury/forms.py:135
#: apps/wei/forms/registration.py:94
#: apps/registration/forms.py:76 apps/treasury/forms.py:135
#: apps/wei/forms/registration.py:96
msgid "Last name"
msgstr "Nom de famille"
#: apps/activity/tables.py:83 apps/member/forms.py:111
#: apps/registration/forms.py:75 apps/treasury/forms.py:137
#: apps/wei/forms/registration.py:99 templates/note/transaction_form.html:131
#: apps/registration/forms.py:81 apps/treasury/forms.py:137
#: apps/wei/forms/registration.py:101 templates/note/transaction_form.html:131
msgid "First name"
msgstr "Prénom"
@ -255,7 +255,7 @@ msgstr "Logs"
msgid "IP Address"
msgstr "Adresse IP"
#: apps/logs/models.py:36 apps/permission/models.py:136
#: apps/logs/models.py:36 apps/permission/models.py:134
msgid "model"
msgstr "Modèle"
@ -275,14 +275,14 @@ msgstr "Nouvelles données"
msgid "create"
msgstr "Créer"
#: apps/logs/models.py:62 apps/note/tables.py:160
#: apps/logs/models.py:62 apps/note/tables.py:163
#: templates/activity/activity_info.html:71
msgid "edit"
msgstr "Modifier"
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:165
#: apps/permission/models.py:129 apps/treasury/tables.py:38
#: apps/wei/tables.py:73
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:168
#: apps/permission/models.py:127 apps/treasury/tables.py:38
#: apps/wei/tables.py:74
msgid "delete"
msgstr "Supprimer"
@ -306,25 +306,25 @@ msgstr "journal de modification"
msgid "changelogs"
msgstr "journaux de modifications"
#: apps/member/admin.py:52 apps/member/models.py:199
#: apps/member/admin.py:52 apps/member/models.py:202
#: templates/member/club_info.html:41
msgid "membership fee (paid students)"
msgstr "cotisation pour adhérer (normalien élève)"
#: apps/member/admin.py:53 apps/member/models.py:204
#: apps/member/admin.py:53 apps/member/models.py:207
#: templates/member/club_info.html:44
msgid "membership fee (unpaid students)"
msgstr "cotisation pour adhérer (normalien étudiant)"
#: apps/member/admin.py:67 apps/member/models.py:288
#: apps/member/admin.py:67 apps/member/models.py:291
msgid "roles"
msgstr "rôles"
#: apps/member/admin.py:68 apps/member/models.py:302
#: apps/member/admin.py:68 apps/member/models.py:305
msgid "fee"
msgstr "cotisation"
#: apps/member/apps.py:14 apps/wei/tables.py:179 apps/wei/tables.py:210
#: apps/member/apps.py:14 apps/wei/tables.py:180 apps/wei/tables.py:211
msgid "member"
msgstr "adhérent"
@ -341,21 +341,21 @@ msgstr "Date de dernier rapport"
msgid "An alias with a similar name already exists."
msgstr "Un alias avec un nom similaire existe déjà."
#: apps/member/forms.py:85 apps/registration/forms.py:50
#: apps/member/forms.py:85 apps/registration/forms.py:56
msgid "Inscription paid by Société Générale"
msgstr "Inscription payée par la Société générale"
#: apps/member/forms.py:87 apps/registration/forms.py:52
#: apps/member/forms.py:87 apps/registration/forms.py:58
msgid "Check this case is the Société Générale paid the inscription."
msgstr "Cochez cette case si la Société Générale a payé l'inscription."
#: apps/member/forms.py:92 apps/registration/forms.py:57
#: apps/wei/forms/registration.py:81
#: apps/member/forms.py:92 apps/registration/forms.py:63
#: apps/wei/forms/registration.py:83
msgid "Credit type"
msgstr "Type de rechargement"
#: apps/member/forms.py:93 apps/registration/forms.py:58
#: apps/wei/forms/registration.py:82
#: apps/member/forms.py:93 apps/registration/forms.py:64
#: apps/wei/forms/registration.py:84
msgid "No credit"
msgstr "Pas de rechargement"
@ -363,13 +363,13 @@ msgstr "Pas de rechargement"
msgid "You can credit the note of the user."
msgstr "Vous pouvez créditer la note de l'utisateur avant l'adhésion."
#: apps/member/forms.py:99 apps/registration/forms.py:63
#: apps/wei/forms/registration.py:87
#: apps/member/forms.py:99 apps/registration/forms.py:69
#: apps/wei/forms/registration.py:89
msgid "Credit amount"
msgstr "Montant à créditer"
#: apps/member/forms.py:116 apps/registration/forms.py:80
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:104
#: apps/member/forms.py:116 apps/registration/forms.py:86
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:106
#: templates/note/transaction_form.html:137
msgid "Bank"
msgstr "Banque"
@ -510,95 +510,95 @@ msgstr "inscription valide"
msgid "user profile"
msgstr "profil utilisateur"
#: apps/member/models.py:148
#: apps/member/models.py:151
msgid "Activate your Note Kfet account"
msgstr "Activez votre compte Note Kfet"
#: apps/member/models.py:177 templates/member/club_info.html:57
#: apps/member/models.py:180 templates/member/club_info.html:57
#: templates/registration/future_profile_detail.html:22
#: templates/wei/weiclub_info.html:52 templates/wei/weimembership_form.html:24
msgid "email"
msgstr "courriel"
#: apps/member/models.py:184
#: apps/member/models.py:187
msgid "parent club"
msgstr "club parent"
#: apps/member/models.py:193
#: apps/member/models.py:196
msgid "require memberships"
msgstr "nécessite des adhésions"
#: apps/member/models.py:194
#: apps/member/models.py:197
msgid "Uncheck if this club don't require memberships."
msgstr "Décochez si ce club n'utilise pas d'adhésions."
#: apps/member/models.py:210 templates/member/club_info.html:33
#: apps/member/models.py:213 templates/member/club_info.html:33
msgid "membership duration"
msgstr "durée de l'adhésion"
#: apps/member/models.py:211
#: apps/member/models.py:214
msgid "The longest time (in days) a membership can last (NULL = infinite)."
msgstr "La durée maximale (en jours) d'une adhésion (NULL = infinie)."
#: apps/member/models.py:218 templates/member/club_info.html:23
#: apps/member/models.py:221 templates/member/club_info.html:23
msgid "membership start"
msgstr "début de l'adhésion"
#: apps/member/models.py:219
#: apps/member/models.py:222
msgid "Date from which the members can renew their membership."
msgstr ""
"Date à partir de laquelle les adhérents peuvent renouveler leur adhésion."
#: apps/member/models.py:225 templates/member/club_info.html:28
#: apps/member/models.py:228 templates/member/club_info.html:28
msgid "membership end"
msgstr "fin de l'adhésion"
#: apps/member/models.py:226
#: apps/member/models.py:229
msgid "Maximal date of a membership, after which members must renew it."
msgstr ""
"Date maximale d'une fin d'adhésion, après laquelle les adhérents doivent la "
"renouveler."
#: apps/member/models.py:258 apps/member/models.py:283
#: apps/member/models.py:261 apps/member/models.py:286
#: apps/note/models/notes.py:163
msgid "club"
msgstr "club"
#: apps/member/models.py:259
#: apps/member/models.py:262
msgid "clubs"
msgstr "clubs"
#: apps/member/models.py:293
#: apps/member/models.py:296
msgid "membership starts on"
msgstr "l'adhésion commence le"
#: apps/member/models.py:297
#: apps/member/models.py:300
msgid "membership ends on"
msgstr "l'adhésion finit le"
#: apps/member/models.py:348
#: apps/member/models.py:351
#, python-brace-format
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:359 apps/member/views.py:592
#: apps/member/models.py:362 apps/member/views.py:592
msgid "User is already a member of the club"
msgstr "L'utilisateur est déjà membre du club"
#: apps/member/models.py:406
#: apps/member/models.py:409
msgid "User is not a member of the parent club"
msgstr "L'utilisateur n'est pas membre du club parent"
#: apps/member/models.py:459
#: apps/member/models.py:462
#, python-brace-format
msgid "Membership of {user} for the club {club}"
msgstr "Adhésion de {user} pour le club {club}"
#: apps/member/models.py:462
#: apps/member/models.py:465
msgid "membership"
msgstr "adhésion"
#: apps/member/models.py:463
#: apps/member/models.py:466
msgid "memberships"
msgstr "adhésions"
@ -686,17 +686,17 @@ msgstr "Gérer les rôles d'un utilisateur dans le club"
msgid "Members of the club"
msgstr "Membres du club"
#: apps/note/admin.py:133 apps/note/models/transactions.py:106
#: apps/note/admin.py:133 apps/note/models/transactions.py:105
msgid "source"
msgstr "source"
#: apps/note/admin.py:141 apps/note/admin.py:191
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:118
msgid "destination"
msgstr "destination"
#: apps/note/admin.py:196 apps/note/models/transactions.py:59
#: apps/note/models/transactions.py:137
#: apps/note/models/transactions.py:136
msgid "amount"
msgstr "montant"
@ -771,7 +771,7 @@ msgstr ""
msgid "display image"
msgstr "image affichée"
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:129
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:128
msgid "created at"
msgstr "créée le"
@ -854,56 +854,56 @@ msgstr "catégories de transaction"
msgid "A template with this name already exist"
msgstr "Un modèle de transaction avec un nom similaire existe déjà."
#: apps/note/models/transactions.py:72
#: apps/note/models/transactions.py:71
msgid "display"
msgstr "afficher"
#: apps/note/models/transactions.py:77
#: apps/note/models/transactions.py:76
msgid "highlighted"
msgstr "mis en avant"
#: apps/note/models/transactions.py:87
#: apps/note/models/transactions.py:86
msgid "transaction template"
msgstr "Modèle de transaction"
#: apps/note/models/transactions.py:88
#: apps/note/models/transactions.py:87
msgid "transaction templates"
msgstr "Modèles de transaction"
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
#: apps/note/models/transactions.py:111 apps/note/models/transactions.py:124
#: apps/note/tables.py:35 apps/note/tables.py:44
msgid "used alias"
msgstr "alias utilisé"
#: apps/note/models/transactions.py:133
#: apps/note/models/transactions.py:132
msgid "quantity"
msgstr "quantité"
#: apps/note/models/transactions.py:141
#: apps/note/models/transactions.py:140
msgid "reason"
msgstr "raison"
#: apps/note/models/transactions.py:151 apps/note/tables.py:112
#: apps/note/models/transactions.py:150 apps/note/tables.py:112
msgid "invalidity reason"
msgstr "Motif d'invalidité"
#: apps/note/models/transactions.py:159
#: apps/note/models/transactions.py:158
msgid "transaction"
msgstr "Transaction"
#: apps/note/models/transactions.py:160
#: apps/note/models/transactions.py:159
#: templates/treasury/sogecredit_detail.html:22
msgid "transactions"
msgstr "Transactions"
#: apps/note/models/transactions.py:197
#: apps/note/models/transactions.py:192
msgid ""
"The note balances must be between - 21 474 836.47 € and 21 474 836.47 €."
msgstr ""
"Les montants des notes doivent se trouver entre - 21 474 836.47 € et 21 474 "
"836.47 €. Ne cherchez pas à capitaliser l'argent du BDE."
#: apps/note/models/transactions.py:212
#: apps/note/models/transactions.py:207
msgid ""
"The transaction can't be saved since the source note or the destination note "
"is not active."
@ -911,44 +911,44 @@ msgstr ""
"La transaction ne peut pas être sauvegardée puisque la note source ou la "
"note de destination n'est pas active."
#: apps/note/models/transactions.py:257
#: apps/note/models/transactions.py:248
#: templates/activity/activity_entry.html:13 templates/base.html:99
#: templates/note/transaction_form.html:15
#: templates/note/transaction_form.html:145
msgid "Transfer"
msgstr "Virement"
#: apps/note/models/transactions.py:281
#: apps/note/models/transactions.py:272
msgid "Template"
msgstr "Bouton"
#: apps/note/models/transactions.py:284
#: apps/note/models/transactions.py:275
msgid "recurrent transaction"
msgstr "Transaction issue de bouton"
#: apps/note/models/transactions.py:285
#: apps/note/models/transactions.py:276
msgid "recurrent transactions"
msgstr "Transactions issues de boutons"
#: apps/note/models/transactions.py:300
#: apps/note/models/transactions.py:291
msgid "first_name"
msgstr "prénom"
#: apps/note/models/transactions.py:305
#: apps/note/models/transactions.py:296
msgid "bank"
msgstr "banque"
#: apps/note/models/transactions.py:311
#: apps/note/models/transactions.py:302
#: templates/activity/activity_entry.html:17
#: templates/note/transaction_form.html:20
msgid "Credit"
msgstr "Crédit"
#: apps/note/models/transactions.py:311 templates/note/transaction_form.html:25
#: apps/note/models/transactions.py:302 templates/note/transaction_form.html:25
msgid "Debit"
msgstr "Débit"
#: apps/note/models/transactions.py:322
#: apps/note/models/transactions.py:313
msgid ""
"A special transaction is only possible between a Note associated to a "
"payment method and a User or a Club"
@ -956,19 +956,19 @@ msgstr ""
"Une transaction spéciale n'est possible que entre une note associée à un "
"mode de paiement et un utilisateur ou un club."
#: apps/note/models/transactions.py:326
#: apps/note/models/transactions.py:317
msgid "Special transaction"
msgstr "Transaction de crédit/retrait"
#: apps/note/models/transactions.py:327
#: apps/note/models/transactions.py:318
msgid "Special transactions"
msgstr "Transactions de crédit/retrait"
#: apps/note/models/transactions.py:343 apps/note/models/transactions.py:348
#: apps/note/models/transactions.py:334 apps/note/models/transactions.py:339
msgid "membership transaction"
msgstr "Transaction d'adhésion"
#: apps/note/models/transactions.py:344 apps/treasury/models.py:272
#: apps/note/models/transactions.py:335 apps/treasury/models.py:272
msgid "membership transactions"
msgstr "Transactions d'adhésion"
@ -984,15 +984,15 @@ msgstr "Cliquez pour valider"
msgid "No reason specified"
msgstr "Pas de motif spécifié"
#: apps/note/tables.py:139 apps/note/tables.py:167 apps/treasury/tables.py:39
#: apps/wei/tables.py:74 apps/wei/tables.py:100
#: apps/note/tables.py:139 apps/note/tables.py:170 apps/treasury/tables.py:39
#: apps/wei/tables.py:75 apps/wei/tables.py:101
#: templates/treasury/invoice_confirm_delete.html:28
#: templates/treasury/sogecredit_detail.html:59
#: templates/wei/weiregistration_confirm_delete.html:32
msgid "Delete"
msgstr "Supprimer"
#: apps/note/tables.py:162 apps/wei/tables.py:46 apps/wei/tables.py:47
#: apps/note/tables.py:165 apps/wei/tables.py:46 apps/wei/tables.py:47
#: templates/member/club_info.html:67 templates/note/conso_form.html:130
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
@ -1023,53 +1023,53 @@ msgstr "Consommations"
msgid "Search transactions"
msgstr "Rechercher des transactions"
#: apps/permission/models.py:91
#: apps/permission/models.py:89
#, python-brace-format
msgid "Can {type} {model}.{field} in {query}"
msgstr "Can {type} {model}.{field} in {query}"
#: apps/permission/models.py:93
#: apps/permission/models.py:91
#, python-brace-format
msgid "Can {type} {model} in {query}"
msgstr "Can {type} {model} in {query}"
#: apps/permission/models.py:106
#: apps/permission/models.py:104
msgid "rank"
msgstr "Rang"
#: apps/permission/models.py:119
#: apps/permission/models.py:117
msgid "permission mask"
msgstr "masque de permissions"
#: apps/permission/models.py:120
#: apps/permission/models.py:118
msgid "permission masks"
msgstr "masques de permissions"
#: apps/permission/models.py:126
#: apps/permission/models.py:124
msgid "add"
msgstr "ajouter"
#: apps/permission/models.py:127
#: apps/permission/models.py:125
msgid "view"
msgstr "voir"
#: apps/permission/models.py:128
#: apps/permission/models.py:126
msgid "change"
msgstr "modifier"
#: apps/permission/models.py:160
#: apps/permission/models.py:158
msgid "query"
msgstr "requête"
#: apps/permission/models.py:173
#: apps/permission/models.py:171
msgid "mask"
msgstr "masque"
#: apps/permission/models.py:179
#: apps/permission/models.py:177
msgid "field"
msgstr "champ"
#: apps/permission/models.py:184
#: apps/permission/models.py:182
msgid ""
"Tells if the permission should be granted even if the membership of the user "
"is expired."
@ -1077,29 +1077,29 @@ msgstr ""
"Indique si la permission doit être attribuée même si l'adhésion de "
"l'utilisateur est expirée."
#: apps/permission/models.py:185 templates/permission/all_rights.html:36
#: apps/permission/models.py:183 templates/permission/all_rights.html:36
msgid "permanent"
msgstr "permanent"
#: apps/permission/models.py:196
#: apps/permission/models.py:194
msgid "permission"
msgstr "permission"
#: apps/permission/models.py:197 apps/permission/models.py:336
#: apps/permission/models.py:195 apps/permission/models.py:334
msgid "permissions"
msgstr "permissions"
#: apps/permission/models.py:202
#: apps/permission/models.py:200
msgid "Specifying field applies only to view and change permission types."
msgstr ""
"Spécifie le champ concerné, ne fonctionne que pour les permissions view et "
"change."
#: apps/permission/models.py:341
#: apps/permission/models.py:339
msgid "for club"
msgstr "s'applique au club"
#: apps/permission/models.py:351 apps/permission/models.py:352
#: apps/permission/models.py:349 apps/permission/models.py:350
msgid "role permissions"
msgstr "Permissions par rôles"
@ -1142,11 +1142,17 @@ msgstr "Tous les droits"
msgid "registration"
msgstr "inscription"
#: apps/registration/forms.py:38
#: apps/registration/forms.py:34
#, fuzzy
#| msgid "This alias is already taken."
msgid "This email address is already used."
msgstr "Cet alias est déjà pris."
#: apps/registration/forms.py:44
msgid "Register to the WEI"
msgstr "S'inscrire au WEI"
#: apps/registration/forms.py:40
#: apps/registration/forms.py:46
msgid ""
"Check this case if you want to register to the WEI. If you hesitate, you "
"will be able to register later, after validating your account in the Kfet."
@ -1155,11 +1161,11 @@ msgstr ""
"pourrez toujours vous inscrire plus tard, après avoir validé votre compte à "
"la Kfet."
#: apps/registration/forms.py:85
#: apps/registration/forms.py:91
msgid "Join BDE Club"
msgstr "Adhérer au club BDE"
#: apps/registration/forms.py:92
#: apps/registration/forms.py:98
msgid "Join Kfet Club"
msgstr "Adhérer au club Kfet"
@ -1476,12 +1482,12 @@ msgstr "Gérer les crédits de la Société générale"
msgid "WEI"
msgstr "WEI"
#: apps/wei/forms/registration.py:49 apps/wei/models.py:113
#: apps/wei/forms/registration.py:51 apps/wei/models.py:113
#: apps/wei/models.py:298
msgid "bus"
msgstr "Bus"
#: apps/wei/forms/registration.py:50
#: apps/wei/forms/registration.py:52
msgid ""
"This choice is not definitive. The WEI organizers are free to attribute for "
"you a bus and a team, in particular if you are a free eletron."
@ -1490,11 +1496,11 @@ msgstr ""
"attribuer un bus et une équipe, en particulier si vous êtes un électron "
"libre."
#: apps/wei/forms/registration.py:57
#: apps/wei/forms/registration.py:59
msgid "Team"
msgstr "Équipe"
#: apps/wei/forms/registration.py:59
#: apps/wei/forms/registration.py:61
msgid ""
"Leave this field empty if you won't be in a team (staff, bus chief, free "
"electron)"
@ -1502,20 +1508,20 @@ msgstr ""
"Laissez ce champ vide si vous ne serez pas dans une équipe (staff, chef de "
"bus ou électron libre)"
#: apps/wei/forms/registration.py:65 apps/wei/forms/registration.py:75
#: apps/wei/forms/registration.py:67 apps/wei/forms/registration.py:77
#: apps/wei/models.py:148
msgid "WEI Roles"
msgstr "Rôles au WEI"
#: apps/wei/forms/registration.py:66
#: apps/wei/forms/registration.py:68
msgid "Select the roles that you are interested in."
msgstr "Sélectionnez les rôles qui vous intéressent."
#: apps/wei/forms/registration.py:111
#: apps/wei/forms/registration.py:113
msgid "This team doesn't belong to the given bus."
msgstr "Cette équipe n'appartient pas à ce bus."
#: apps/wei/forms/surveys/wei2020.py:26
#: apps/wei/forms/surveys/wei2020.py:29
msgid "Choose a word:"
msgstr "Choisissez un mot :"
@ -1685,25 +1691,25 @@ msgstr "adhésion au WEI"
msgid "WEI memberships"
msgstr "adhésions au WEI"
#: apps/wei/tables.py:57 apps/wei/tables.py:58 apps/wei/tables.py:95
#: apps/wei/tables.py:58 apps/wei/tables.py:59 apps/wei/tables.py:96
#: templates/treasury/sogecredit_detail.html:57
msgid "Validate"
msgstr "Valider"
#: apps/wei/tables.py:125
#: apps/wei/tables.py:126
msgid "Year"
msgstr "Année"
#: apps/wei/tables.py:163 templates/wei/bus_tables.html:26
#: apps/wei/tables.py:164 templates/wei/bus_tables.html:26
#: templates/wei/busteam_tables.html:43
msgid "Teams"
msgstr "Équipes"
#: apps/wei/tables.py:172 apps/wei/tables.py:213
#: apps/wei/tables.py:173 apps/wei/tables.py:214
msgid "Members count"
msgstr "Nombre de membres"
#: apps/wei/tables.py:179 apps/wei/tables.py:210
#: apps/wei/tables.py:180 apps/wei/tables.py:211
msgid "members"
msgstr "adhérents"
@ -2400,6 +2406,10 @@ msgstr "Merci"
msgid "The Note Kfet team."
msgstr "L'équipe de la Note Kfet."
#: templates/registration/mails/email_validation_email.html:40
msgid "Mail generated by the Note Kfet on the"
msgstr "Mail généré par la Note Kfet le"
#: templates/registration/password_change_done.html:8
msgid "Your password was changed."
msgstr "Votre mot de passe a bien été changé."

View File

@ -1,4 +1,5 @@
{% load pretty_money %}
{% load i18n %}
<!DOCTYPE html>
<html lang="fr">
@ -38,7 +39,7 @@
--
<p>
Le BDE<br>
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
</p>
</body>
</html>

View File

@ -1,4 +1,5 @@
{% load pretty_money %}
{% load i18n %}
Bonjour {{ note.user.first_name }} {{ note.user.last_name }},
@ -20,4 +21,4 @@ virement bancaire.
--
Le BDE
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}

View File

@ -1,4 +1,5 @@
{% load pretty_money %}
{% load i18n %}
<!DOCTYPE html>
<html lang="fr">
@ -35,7 +36,7 @@
--
<p>
Le BDE<br>
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
</p>
</body>
</html>

View File

@ -1,4 +1,5 @@
{% load pretty_money %}
{% load i18n %}
Nom | Prénom | Pseudo | Email | Solde | Durée
---------------------+------------+-----------------+-----------------------------------+----------+-----------
@ -9,4 +10,4 @@
--
Le BDE
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}

View File

@ -1,5 +1,6 @@
{% load pretty_money %}
{% load render_table from django_tables2 %}
{% load i18n %}
<!DOCTYPE html>
<html lang="fr">
@ -50,7 +51,7 @@
--
<p>
Le BDE<br>
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
</p>
</body>
</html>

View File

@ -36,6 +36,6 @@
--
<p>
{% trans "The Note Kfet team." %}
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "The Note Kfet team." %}<br>
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
</p>

View File

@ -13,4 +13,4 @@ https://{{ domain }}{% url 'registration:email_validation' uidb64=uid token=toke
{% trans "Thanks" %},
{% trans "The Note Kfet team." %}
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}