diff --git a/apps/member/models.py b/apps/member/models.py index 6ba4fb5f..5d6544af 100644 --- a/apps/member/models.py +++ b/apps/member/models.py @@ -139,7 +139,7 @@ class Profile(models.Model): 'token': email_validation_token.make_token(self.user), 'uid': urlsafe_base64_encode(force_bytes(self.user.pk)), }) - html = loader.render_to_string('registration/mails/email_validation_email.txt', + html = loader.render_to_string('registration/mails/email_validation_email.html', { 'user': self.user, 'domain': os.getenv("NOTE_URL", "note.example.com"), diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 46559487..3ba791a0 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -5,7 +5,7 @@ from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User from django.utils.translation import gettext_lazy as _ -from note.models import NoteSpecial +from note.models import NoteSpecial, Alias from note_kfet.inputs import AmountInput @@ -22,6 +22,12 @@ class SignUpForm(UserCreationForm): self.fields['email'].required = True self.fields['email'].help_text = _("This address must be valid.") + def clean_username(self): + value = self.cleaned_data["username"] + if Alias.objects.filter(normalized_name=Alias.normalize(value)).exists(): + self.add_error("username", _("An alias with a similar name already exists.")) + return value + class Meta: model = User fields = ('first_name', 'last_name', 'username', 'email', ) diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index d28ecb34..b094a5ac 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-01 15:06+0200\n" +"POT-Creation-Date: 2020-08-03 12:35+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,35 +18,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: apps/activity/apps.py:10 apps/activity/models.py:102 -#: apps/activity/models.py:117 +#: apps/activity/apps.py:10 apps/activity/models.py:106 +#: apps/activity/models.py:121 msgid "activity" msgstr "" -#: apps/activity/forms.py:45 apps/activity/models.py:213 +#: apps/activity/forms.py:45 apps/activity/models.py:217 msgid "You can't invite someone once the activity is started." msgstr "" -#: apps/activity/forms.py:48 apps/activity/models.py:216 +#: apps/activity/forms.py:48 apps/activity/models.py:220 msgid "This activity is not validated yet." msgstr "" -#: apps/activity/forms.py:58 apps/activity/models.py:224 +#: apps/activity/forms.py:58 apps/activity/models.py:228 msgid "This person has been already invited 5 times this year." msgstr "" -#: apps/activity/forms.py:62 apps/activity/models.py:228 +#: apps/activity/forms.py:62 apps/activity/models.py:232 msgid "This person is already invited." msgstr "" -#: apps/activity/forms.py:66 apps/activity/models.py:232 +#: apps/activity/forms.py:66 apps/activity/models.py:236 msgid "You can't invite more than 3 people to this activity." msgstr "" -#: apps/activity/models.py:23 apps/activity/models.py:48 -#: apps/member/models.py:151 apps/note/models/notes.py:188 +#: apps/activity/models.py:24 apps/activity/models.py:49 +#: apps/member/models.py:158 apps/note/models/notes.py:212 #: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45 -#: apps/note/models/transactions.py:263 apps/permission/models.py:332 +#: apps/note/models/transactions.py:263 apps/permission/models.py:339 #: apps/wei/models.py:65 apps/wei/models.py:117 #: templates/member/club_info.html:13 templates/member/profile_info.html:14 #: templates/registration/future_profile_detail.html:16 @@ -54,123 +54,123 @@ msgstr "" msgid "name" msgstr "" -#: apps/activity/models.py:27 templates/activity/activity_detail.html:39 +#: apps/activity/models.py:28 templates/activity/activity_detail.html:39 msgid "can invite" msgstr "" -#: apps/activity/models.py:30 templates/activity/activity_detail.html:43 +#: apps/activity/models.py:31 templates/activity/activity_detail.html:43 msgid "guest entry fee" msgstr "" -#: apps/activity/models.py:34 +#: apps/activity/models.py:35 msgid "activity type" msgstr "" -#: apps/activity/models.py:35 +#: apps/activity/models.py:36 msgid "activity types" msgstr "" -#: apps/activity/models.py:53 apps/note/models/transactions.py:81 -#: apps/permission/models.py:113 apps/permission/models.py:192 +#: apps/activity/models.py:54 apps/note/models/transactions.py:81 +#: apps/permission/models.py:120 apps/permission/models.py:199 #: apps/wei/models.py:71 apps/wei/models.py:128 #: templates/activity/activity_detail.html:16 msgid "description" msgstr "" -#: apps/activity/models.py:60 apps/note/models/notes.py:164 -#: apps/note/models/transactions.py:66 apps/permission/models.py:167 +#: apps/activity/models.py:61 apps/note/models/notes.py:188 +#: apps/note/models/transactions.py:66 apps/permission/models.py:174 #: templates/activity/activity_detail.html:19 msgid "type" msgstr "" -#: apps/activity/models.py:66 apps/logs/models.py:21 apps/member/models.py:259 -#: apps/note/models/notes.py:117 apps/treasury/models.py:221 +#: apps/activity/models.py:67 apps/logs/models.py:22 apps/member/models.py:266 +#: apps/note/models/notes.py:126 apps/treasury/models.py:222 #: apps/wei/models.py:159 templates/treasury/sogecredit_detail.html:14 #: templates/wei/survey.html:16 msgid "user" msgstr "" -#: apps/activity/models.py:73 templates/activity/activity_detail.html:33 +#: apps/activity/models.py:74 templates/activity/activity_detail.html:33 msgid "organizer" msgstr "" -#: apps/activity/models.py:80 templates/activity/activity_detail.html:36 +#: apps/activity/models.py:81 templates/activity/activity_detail.html:36 msgid "attendees club" msgstr "" -#: apps/activity/models.py:84 templates/activity/activity_detail.html:22 +#: apps/activity/models.py:85 templates/activity/activity_detail.html:22 msgid "start date" msgstr "" -#: apps/activity/models.py:88 templates/activity/activity_detail.html:25 +#: apps/activity/models.py:89 templates/activity/activity_detail.html:25 msgid "end date" msgstr "" -#: apps/activity/models.py:93 apps/note/models/transactions.py:146 +#: apps/activity/models.py:94 apps/note/models/transactions.py:146 #: templates/activity/activity_detail.html:47 msgid "valid" msgstr "" -#: apps/activity/models.py:98 templates/activity/activity_detail.html:61 +#: apps/activity/models.py:99 templates/activity/activity_detail.html:61 msgid "open" msgstr "" -#: apps/activity/models.py:103 +#: apps/activity/models.py:107 msgid "activities" msgstr "" -#: apps/activity/models.py:122 +#: apps/activity/models.py:126 msgid "entry time" msgstr "" -#: apps/activity/models.py:128 apps/note/apps.py:14 -#: apps/note/models/notes.py:58 +#: apps/activity/models.py:132 apps/note/apps.py:14 +#: apps/note/models/notes.py:60 msgid "note" msgstr "" -#: apps/activity/models.py:139 templates/activity/activity_entry.html:38 +#: apps/activity/models.py:143 templates/activity/activity_entry.html:38 msgid "entry" msgstr "" -#: apps/activity/models.py:140 templates/activity/activity_entry.html:38 +#: apps/activity/models.py:144 templates/activity/activity_entry.html:38 msgid "entries" msgstr "" -#: apps/activity/models.py:146 +#: apps/activity/models.py:150 msgid "Already entered on " msgstr "" -#: apps/activity/models.py:146 apps/activity/tables.py:54 +#: apps/activity/models.py:150 apps/activity/tables.py:54 msgid "{:%Y-%m-%d %H:%M:%S}" msgstr "" -#: apps/activity/models.py:154 +#: apps/activity/models.py:158 msgid "The balance is negative." msgstr "" -#: apps/activity/models.py:184 +#: apps/activity/models.py:188 msgid "last name" msgstr "" -#: apps/activity/models.py:189 templates/member/profile_info.html:14 +#: apps/activity/models.py:193 templates/member/profile_info.html:14 #: templates/registration/future_profile_detail.html:16 #: templates/wei/weimembership_form.html:18 msgid "first name" msgstr "" -#: apps/activity/models.py:196 +#: apps/activity/models.py:200 msgid "inviter" msgstr "" -#: apps/activity/models.py:237 +#: apps/activity/models.py:244 msgid "guest" msgstr "" -#: apps/activity/models.py:238 +#: apps/activity/models.py:245 msgid "guests" msgstr "" -#: apps/activity/models.py:250 +#: apps/activity/models.py:257 msgid "Invitation" msgstr "" @@ -182,26 +182,26 @@ msgstr "" msgid "remove" msgstr "" -#: apps/activity/tables.py:75 apps/treasury/models.py:140 +#: apps/activity/tables.py:75 apps/treasury/models.py:141 msgid "Type" msgstr "" #: apps/activity/tables.py:77 apps/member/forms.py:102 -#: apps/registration/forms.py:64 apps/treasury/forms.py:120 +#: apps/registration/forms.py:70 apps/treasury/forms.py:120 msgid "Last name" msgstr "" #: apps/activity/tables.py:79 apps/member/forms.py:107 -#: apps/registration/forms.py:69 apps/treasury/forms.py:122 +#: apps/registration/forms.py:75 apps/treasury/forms.py:122 #: templates/note/transaction_form.html:129 msgid "First name" msgstr "" -#: apps/activity/tables.py:81 apps/note/models/notes.py:67 +#: apps/activity/tables.py:81 apps/note/models/notes.py:69 msgid "Note" msgstr "" -#: apps/activity/tables.py:83 apps/member/tables.py:42 +#: apps/activity/tables.py:83 apps/member/tables.py:43 msgid "Balance" msgstr "" @@ -209,7 +209,7 @@ msgstr "" msgid "Create new activity" msgstr "" -#: apps/activity/views.py:41 templates/base.html:121 +#: apps/activity/views.py:41 templates/base.html:114 msgid "Activities" msgstr "" @@ -237,75 +237,75 @@ msgstr "" msgid "Logs" msgstr "" -#: apps/logs/models.py:27 +#: apps/logs/models.py:28 msgid "IP Address" msgstr "" -#: apps/logs/models.py:35 apps/permission/models.py:137 +#: apps/logs/models.py:36 apps/permission/models.py:144 msgid "model" msgstr "" -#: apps/logs/models.py:42 +#: apps/logs/models.py:43 msgid "identifier" msgstr "" -#: apps/logs/models.py:47 +#: apps/logs/models.py:48 msgid "previous data" msgstr "" -#: apps/logs/models.py:52 +#: apps/logs/models.py:53 msgid "new data" msgstr "" -#: apps/logs/models.py:60 +#: apps/logs/models.py:61 msgid "create" msgstr "" -#: apps/logs/models.py:61 apps/note/tables.py:161 +#: apps/logs/models.py:62 apps/note/tables.py:160 #: templates/activity/activity_detail.html:67 msgid "edit" msgstr "" -#: apps/logs/models.py:62 apps/note/tables.py:138 apps/note/tables.py:166 -#: apps/permission/models.py:130 apps/wei/tables.py:65 +#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:165 +#: apps/permission/models.py:137 apps/wei/tables.py:65 msgid "delete" msgstr "" -#: apps/logs/models.py:65 +#: apps/logs/models.py:66 msgid "action" msgstr "" -#: apps/logs/models.py:73 +#: apps/logs/models.py:74 msgid "timestamp" msgstr "" -#: apps/logs/models.py:77 +#: apps/logs/models.py:78 msgid "Logs cannot be destroyed." msgstr "" -#: apps/logs/models.py:80 +#: apps/logs/models.py:81 msgid "changelog" msgstr "" -#: apps/logs/models.py:81 +#: apps/logs/models.py:82 msgid "changelogs" msgstr "" -#: apps/member/admin.py:53 apps/member/models.py:178 +#: apps/member/admin.py:52 apps/member/models.py:185 #: templates/member/club_info.html:41 msgid "membership fee (paid students)" msgstr "" -#: apps/member/admin.py:54 apps/member/models.py:183 +#: apps/member/admin.py:53 apps/member/models.py:190 #: templates/member/club_info.html:44 msgid "membership fee (unpaid students)" msgstr "" -#: apps/member/admin.py:68 apps/member/models.py:270 +#: apps/member/admin.py:67 apps/member/models.py:277 msgid "roles" msgstr "" -#: apps/member/admin.py:69 apps/member/models.py:284 +#: apps/member/admin.py:68 apps/member/models.py:291 msgid "fee" msgstr "" @@ -314,22 +314,23 @@ msgid "member" msgstr "" #: apps/member/forms.py:58 apps/member/views.py:82 +#: apps/registration/forms.py:28 msgid "An alias with a similar name already exists." msgstr "" -#: apps/member/forms.py:81 apps/registration/forms.py:44 +#: apps/member/forms.py:81 apps/registration/forms.py:50 msgid "Inscription paid by Société Générale" msgstr "" -#: apps/member/forms.py:83 apps/registration/forms.py:46 +#: apps/member/forms.py:83 apps/registration/forms.py:52 msgid "Check this case is the Société Générale paid the inscription." msgstr "" -#: apps/member/forms.py:88 apps/registration/forms.py:51 +#: apps/member/forms.py:88 apps/registration/forms.py:57 msgid "Credit type" msgstr "" -#: apps/member/forms.py:89 apps/registration/forms.py:52 +#: apps/member/forms.py:89 apps/registration/forms.py:58 msgid "No credit" msgstr "" @@ -337,20 +338,20 @@ msgstr "" msgid "You can credit the note of the user." msgstr "" -#: apps/member/forms.py:95 apps/registration/forms.py:57 +#: apps/member/forms.py:95 apps/registration/forms.py:63 msgid "Credit amount" msgstr "" -#: apps/member/forms.py:112 apps/registration/forms.py:74 +#: apps/member/forms.py:112 apps/registration/forms.py:80 #: apps/treasury/forms.py:124 templates/note/transaction_form.html:135 msgid "Bank" msgstr "" -#: apps/member/forms.py:138 +#: apps/member/forms.py:139 msgid "User" msgstr "" -#: apps/member/forms.py:152 +#: apps/member/forms.py:153 msgid "Roles" msgstr "" @@ -478,94 +479,94 @@ msgstr "" msgid "Activate your Note Kfet account" msgstr "" -#: apps/member/models.py:156 templates/member/club_info.html:57 +#: apps/member/models.py:163 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:163 +#: apps/member/models.py:170 msgid "parent club" msgstr "" -#: apps/member/models.py:172 +#: apps/member/models.py:179 msgid "require memberships" msgstr "" -#: apps/member/models.py:173 +#: apps/member/models.py:180 msgid "Uncheck if this club don't require memberships." msgstr "" -#: apps/member/models.py:189 templates/member/club_info.html:33 +#: apps/member/models.py:196 templates/member/club_info.html:33 msgid "membership duration" msgstr "" -#: apps/member/models.py:190 +#: apps/member/models.py:197 msgid "The longest time (in days) a membership can last (NULL = infinite)." msgstr "" -#: apps/member/models.py:197 templates/member/club_info.html:23 +#: apps/member/models.py:204 templates/member/club_info.html:23 msgid "membership start" msgstr "" -#: apps/member/models.py:198 +#: apps/member/models.py:205 msgid "How long after January 1st the members can renew their membership." msgstr "" -#: apps/member/models.py:205 templates/member/club_info.html:28 +#: apps/member/models.py:212 templates/member/club_info.html:28 msgid "membership end" msgstr "" -#: apps/member/models.py:206 +#: apps/member/models.py:213 msgid "" "How long the membership can last after January 1st of the next year after " "members can renew their membership." msgstr "" -#: apps/member/models.py:240 apps/member/models.py:265 -#: apps/note/models/notes.py:139 +#: apps/member/models.py:247 apps/member/models.py:272 +#: apps/note/models/notes.py:163 msgid "club" msgstr "" -#: apps/member/models.py:241 +#: apps/member/models.py:248 msgid "clubs" msgstr "" -#: apps/member/models.py:275 +#: apps/member/models.py:282 msgid "membership starts on" msgstr "" -#: apps/member/models.py:279 +#: apps/member/models.py:286 msgid "membership ends on" msgstr "" -#: apps/member/models.py:303 apps/member/views.py:535 apps/wei/views.py:797 +#: apps/member/models.py:310 apps/member/views.py:535 apps/wei/views.py:795 msgid "User is not a member of the parent club" msgstr "" -#: apps/member/models.py:310 +#: apps/member/models.py:317 #, python-brace-format msgid "The role {role} does not apply to the club {club}." msgstr "" -#: apps/member/models.py:321 apps/member/views.py:544 +#: apps/member/models.py:328 apps/member/views.py:544 msgid "User is already a member of the club" msgstr "" -#: apps/member/models.py:372 +#: apps/member/models.py:379 #, python-brace-format msgid "Membership of {user} for the club {club}" msgstr "" -#: apps/member/models.py:375 +#: apps/member/models.py:382 msgid "membership" msgstr "" -#: apps/member/models.py:376 +#: apps/member/models.py:383 msgid "memberships" msgstr "" -#: apps/member/tables.py:113 +#: apps/member/tables.py:114 msgid "Renew" msgstr "" @@ -619,7 +620,7 @@ msgstr "" msgid "Add new member to the club" msgstr "" -#: apps/member/views.py:530 apps/wei/views.py:788 +#: apps/member/views.py:530 apps/wei/views.py:786 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -634,8 +635,8 @@ msgid "The membership must begin before {:%m-%d-%Y}." msgstr "" #: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574 -#: apps/registration/views.py:292 apps/registration/views.py:294 -#: apps/registration/views.py:296 +#: apps/registration/views.py:290 apps/registration/views.py:292 +#: apps/registration/views.py:294 msgid "This field is required." msgstr "" @@ -647,16 +648,16 @@ msgstr "" msgid "Members of the club" msgstr "" -#: apps/note/admin.py:134 apps/note/models/transactions.py:106 +#: apps/note/admin.py:133 apps/note/models/transactions.py:106 msgid "source" msgstr "" -#: apps/note/admin.py:142 apps/note/admin.py:192 +#: apps/note/admin.py:141 apps/note/admin.py:191 #: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119 msgid "destination" msgstr "" -#: apps/note/admin.py:197 apps/note/models/transactions.py:59 +#: apps/note/admin.py:196 apps/note/models/transactions.py:59 #: apps/note/models/transactions.py:137 msgid "amount" msgstr "" @@ -669,104 +670,104 @@ msgstr "" msgid "Maximal size: 2MB" msgstr "" -#: apps/note/models/notes.py:27 +#: apps/note/models/notes.py:29 msgid "account balance" msgstr "" -#: apps/note/models/notes.py:28 +#: apps/note/models/notes.py:30 msgid "in centimes, money credited for this instance" msgstr "" -#: apps/note/models/notes.py:32 +#: apps/note/models/notes.py:34 msgid "last negative date" msgstr "" -#: apps/note/models/notes.py:33 +#: apps/note/models/notes.py:35 msgid "last time the balance was negative" msgstr "" -#: apps/note/models/notes.py:38 +#: apps/note/models/notes.py:40 msgid "active" msgstr "" -#: apps/note/models/notes.py:41 +#: apps/note/models/notes.py:43 msgid "" "Designates whether this note should be treated as active. Unselect this " "instead of deleting notes." msgstr "" -#: apps/note/models/notes.py:45 +#: apps/note/models/notes.py:47 msgid "display image" msgstr "" -#: apps/note/models/notes.py:53 apps/note/models/transactions.py:129 +#: apps/note/models/notes.py:55 apps/note/models/transactions.py:129 msgid "created at" msgstr "" -#: apps/note/models/notes.py:59 +#: apps/note/models/notes.py:61 msgid "notes" msgstr "" -#: apps/note/models/notes.py:77 apps/note/models/notes.py:101 +#: apps/note/models/notes.py:86 apps/note/models/notes.py:110 msgid "This alias is already taken." msgstr "" -#: apps/note/models/notes.py:121 +#: apps/note/models/notes.py:130 msgid "one's note" msgstr "" -#: apps/note/models/notes.py:122 +#: apps/note/models/notes.py:131 msgid "users note" msgstr "" -#: apps/note/models/notes.py:128 +#: apps/note/models/notes.py:137 #, python-format msgid "%(user)s's note" msgstr "" -#: apps/note/models/notes.py:143 +#: apps/note/models/notes.py:167 msgid "club note" msgstr "" -#: apps/note/models/notes.py:144 +#: apps/note/models/notes.py:168 msgid "clubs notes" msgstr "" -#: apps/note/models/notes.py:150 +#: apps/note/models/notes.py:174 #, python-format msgid "Note of %(club)s club" msgstr "" -#: apps/note/models/notes.py:170 +#: apps/note/models/notes.py:194 msgid "special note" msgstr "" -#: apps/note/models/notes.py:171 +#: apps/note/models/notes.py:195 msgid "special notes" msgstr "" -#: apps/note/models/notes.py:194 +#: apps/note/models/notes.py:218 msgid "Invalid alias" msgstr "" -#: apps/note/models/notes.py:210 +#: apps/note/models/notes.py:234 msgid "alias" msgstr "" -#: apps/note/models/notes.py:211 templates/member/club_info.html:54 +#: apps/note/models/notes.py:235 templates/member/club_info.html:54 #: templates/member/profile_info.html:38 templates/wei/weiclub_info.html:48 msgid "aliases" msgstr "" -#: apps/note/models/notes.py:233 +#: apps/note/models/notes.py:257 msgid "Alias is too long." msgstr "" -#: apps/note/models/notes.py:238 +#: apps/note/models/notes.py:262 msgid "An alias with a similar name already exists: {} " msgstr "" -#: apps/note/models/notes.py:251 +#: apps/note/models/notes.py:275 msgid "You can't delete your main alias." msgstr "" @@ -815,7 +816,7 @@ msgstr "" msgid "reason" msgstr "" -#: apps/note/models/transactions.py:151 apps/note/tables.py:113 +#: apps/note/models/transactions.py:151 apps/note/tables.py:112 msgid "invalidity reason" msgstr "" @@ -873,7 +874,7 @@ msgstr "" msgid "membership transaction" msgstr "" -#: apps/note/models/transactions.py:308 apps/treasury/models.py:227 +#: apps/note/models/transactions.py:308 apps/treasury/models.py:228 msgid "membership transactions" msgstr "" @@ -885,17 +886,17 @@ msgstr "" msgid "Click to validate" msgstr "" -#: apps/note/tables.py:111 +#: apps/note/tables.py:110 msgid "No reason specified" msgstr "" -#: apps/note/tables.py:140 apps/note/tables.py:168 apps/wei/tables.py:66 +#: apps/note/tables.py:139 apps/note/tables.py:167 apps/wei/tables.py:66 #: templates/treasury/sogecredit_detail.html:59 #: templates/wei/weiregistration_confirm_delete.html:32 msgid "Delete" msgstr "" -#: apps/note/tables.py:163 apps/wei/tables.py:42 apps/wei/tables.py:43 +#: apps/note/tables.py:162 apps/wei/tables.py:42 apps/wei/tables.py:43 #: templates/member/club_info.html:67 templates/note/conso_form.html:128 #: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15 #: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68 @@ -906,95 +907,95 @@ msgstr "" msgid "Transfer money" msgstr "" -#: apps/note/views.py:67 +#: apps/note/views.py:69 msgid "Create new button" msgstr "" -#: apps/note/views.py:76 +#: apps/note/views.py:78 msgid "Search button" msgstr "" -#: apps/note/views.py:99 +#: apps/note/views.py:101 msgid "Update button" msgstr "" -#: apps/note/views.py:136 templates/base.html:94 +#: apps/note/views.py:138 templates/base.html:94 msgid "Consumptions" msgstr "" -#: apps/permission/models.py:92 +#: apps/permission/models.py:99 #, python-brace-format msgid "Can {type} {model}.{field} in {query}" msgstr "" -#: apps/permission/models.py:94 +#: apps/permission/models.py:101 #, python-brace-format msgid "Can {type} {model} in {query}" msgstr "" -#: apps/permission/models.py:107 +#: apps/permission/models.py:114 msgid "rank" msgstr "" -#: apps/permission/models.py:120 +#: apps/permission/models.py:127 msgid "permission mask" msgstr "" -#: apps/permission/models.py:121 +#: apps/permission/models.py:128 msgid "permission masks" msgstr "" -#: apps/permission/models.py:127 +#: apps/permission/models.py:134 msgid "add" msgstr "" -#: apps/permission/models.py:128 +#: apps/permission/models.py:135 msgid "view" msgstr "" -#: apps/permission/models.py:129 +#: apps/permission/models.py:136 msgid "change" msgstr "" -#: apps/permission/models.py:161 +#: apps/permission/models.py:168 msgid "query" msgstr "" -#: apps/permission/models.py:174 +#: apps/permission/models.py:181 msgid "mask" msgstr "" -#: apps/permission/models.py:180 +#: apps/permission/models.py:187 msgid "field" msgstr "" -#: apps/permission/models.py:185 +#: apps/permission/models.py:192 msgid "" "Tells if the permission should be granted even if the membership of the user " "is expired." msgstr "" -#: apps/permission/models.py:186 templates/permission/all_rights.html:26 +#: apps/permission/models.py:193 templates/permission/all_rights.html:26 msgid "permanent" msgstr "" -#: apps/permission/models.py:197 +#: apps/permission/models.py:204 msgid "permission" msgstr "" -#: apps/permission/models.py:198 apps/permission/models.py:337 +#: apps/permission/models.py:205 apps/permission/models.py:344 msgid "permissions" msgstr "" -#: apps/permission/models.py:203 +#: apps/permission/models.py:210 msgid "Specifying field applies only to view and change permission types." msgstr "" -#: apps/permission/models.py:342 +#: apps/permission/models.py:349 msgid "for club" msgstr "" -#: apps/permission/models.py:352 apps/permission/models.py:353 +#: apps/permission/models.py:359 apps/permission/models.py:360 msgid "role permissions" msgstr "" @@ -1019,7 +1020,7 @@ msgid "" "{model_name}." msgstr "" -#: apps/permission/views.py:44 templates/base.html:136 +#: apps/permission/views.py:44 templates/base.html:129 msgid "Rights" msgstr "" @@ -1031,21 +1032,21 @@ msgstr "" msgid "registration" msgstr "" -#: apps/registration/forms.py:32 +#: apps/registration/forms.py:38 msgid "Register to the WEI" msgstr "" -#: apps/registration/forms.py:34 +#: apps/registration/forms.py:40 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:79 +#: apps/registration/forms.py:85 msgid "Join BDE Club" msgstr "" -#: apps/registration/forms.py:86 +#: apps/registration/forms.py:92 msgid "Join Kfet Club" msgstr "" @@ -1077,32 +1078,32 @@ msgstr "" msgid "Pre-registered users list" msgstr "" -#: apps/registration/views.py:190 +#: apps/registration/views.py:188 msgid "Unregistered users" msgstr "" -#: apps/registration/views.py:203 +#: apps/registration/views.py:201 msgid "Registration detail" msgstr "" -#: apps/registration/views.py:258 +#: apps/registration/views.py:256 msgid "You must join the BDE." msgstr "" -#: apps/registration/views.py:280 +#: apps/registration/views.py:278 msgid "You must join BDE club before joining Kfet club." msgstr "" -#: apps/registration/views.py:285 +#: apps/registration/views.py:283 msgid "" "The entered amount is not enough for the memberships, should be at least {}" msgstr "" -#: apps/registration/views.py:360 +#: apps/registration/views.py:358 msgid "Invalidate pre-registration" msgstr "" -#: apps/treasury/apps.py:12 templates/base.html:126 +#: apps/treasury/apps.py:12 templates/base.html:119 msgid "Treasury" msgstr "" @@ -1136,128 +1137,128 @@ msgstr "" msgid "Amount" msgstr "" -#: apps/treasury/models.py:20 +#: apps/treasury/models.py:21 msgid "Invoice identifier" msgstr "" -#: apps/treasury/models.py:34 +#: apps/treasury/models.py:35 msgid "BDE" msgstr "" -#: apps/treasury/models.py:39 +#: apps/treasury/models.py:40 msgid "Object" msgstr "" -#: apps/treasury/models.py:43 +#: apps/treasury/models.py:44 msgid "Description" msgstr "" -#: apps/treasury/models.py:48 templates/note/transaction_form.html:123 +#: apps/treasury/models.py:49 templates/note/transaction_form.html:123 msgid "Name" msgstr "" -#: apps/treasury/models.py:52 +#: apps/treasury/models.py:53 msgid "Address" msgstr "" -#: apps/treasury/models.py:57 +#: apps/treasury/models.py:58 msgid "Place" msgstr "" -#: apps/treasury/models.py:61 +#: apps/treasury/models.py:62 msgid "Acquitted" msgstr "" -#: apps/treasury/models.py:65 +#: apps/treasury/models.py:66 msgid "invoice" msgstr "" -#: apps/treasury/models.py:66 +#: apps/treasury/models.py:67 msgid "invoices" msgstr "" -#: apps/treasury/models.py:81 +#: apps/treasury/models.py:82 msgid "Designation" msgstr "" -#: apps/treasury/models.py:85 +#: apps/treasury/models.py:86 msgid "Quantity" msgstr "" -#: apps/treasury/models.py:89 +#: apps/treasury/models.py:90 msgid "Unit price" msgstr "" -#: apps/treasury/models.py:105 +#: apps/treasury/models.py:106 msgid "product" msgstr "" -#: apps/treasury/models.py:106 +#: apps/treasury/models.py:107 msgid "products" msgstr "" -#: apps/treasury/models.py:123 +#: apps/treasury/models.py:124 msgid "remittance type" msgstr "" -#: apps/treasury/models.py:124 +#: apps/treasury/models.py:125 msgid "remittance types" msgstr "" -#: apps/treasury/models.py:134 +#: apps/treasury/models.py:135 msgid "Date" msgstr "" -#: apps/treasury/models.py:145 +#: apps/treasury/models.py:146 msgid "Comment" msgstr "" -#: apps/treasury/models.py:150 +#: apps/treasury/models.py:151 msgid "Closed" msgstr "" -#: apps/treasury/models.py:154 +#: apps/treasury/models.py:155 msgid "remittance" msgstr "" -#: apps/treasury/models.py:155 +#: apps/treasury/models.py:156 msgid "remittances" msgstr "" -#: apps/treasury/models.py:187 +#: apps/treasury/models.py:188 msgid "Remittance #{:d}: {}" msgstr "" -#: apps/treasury/models.py:206 apps/treasury/tables.py:76 +#: apps/treasury/models.py:207 apps/treasury/tables.py:76 #: apps/treasury/tables.py:84 templates/treasury/invoice_list.html:13 #: templates/treasury/remittance_list.html:13 #: templates/treasury/sogecredit_list.html:13 msgid "Remittance" msgstr "" -#: apps/treasury/models.py:210 +#: apps/treasury/models.py:211 msgid "special transaction proxy" msgstr "" -#: apps/treasury/models.py:211 +#: apps/treasury/models.py:212 msgid "special transaction proxies" msgstr "" -#: apps/treasury/models.py:233 +#: apps/treasury/models.py:234 msgid "credit transaction" msgstr "" -#: apps/treasury/models.py:296 +#: apps/treasury/models.py:297 msgid "" "This user doesn't have enough money to pay the memberships with its note. " "Please ask her/him to credit the note before invalidating this credit." msgstr "" -#: apps/treasury/models.py:308 templates/treasury/sogecredit_detail.html:10 +#: apps/treasury/models.py:309 templates/treasury/sogecredit_detail.html:10 msgid "Credit from the Société générale" msgstr "" -#: apps/treasury/models.py:309 +#: apps/treasury/models.py:310 msgid "Credits from the Société générale" msgstr "" @@ -1337,7 +1338,7 @@ msgid "Manage credits from the Société générale" msgstr "" #: apps/wei/apps.py:10 apps/wei/models.py:48 apps/wei/models.py:49 -#: apps/wei/models.py:60 apps/wei/models.py:166 templates/base.html:131 +#: apps/wei/models.py:60 apps/wei/models.py:166 templates/base.html:124 msgid "WEI" msgstr "" @@ -1577,89 +1578,89 @@ msgstr "" msgid "View registrations to the WEI" msgstr "" -#: apps/wei/views.py:253 +#: apps/wei/views.py:251 msgid "Find WEI Registration" msgstr "" -#: apps/wei/views.py:264 +#: apps/wei/views.py:262 msgid "Update the WEI" msgstr "" -#: apps/wei/views.py:285 +#: apps/wei/views.py:283 msgid "Create new bus" msgstr "" -#: apps/wei/views.py:316 +#: apps/wei/views.py:314 msgid "Update bus" msgstr "" -#: apps/wei/views.py:346 +#: apps/wei/views.py:344 msgid "Manage bus" msgstr "" -#: apps/wei/views.py:373 +#: apps/wei/views.py:371 msgid "Create new team" msgstr "" -#: apps/wei/views.py:405 +#: apps/wei/views.py:403 msgid "Update team" msgstr "" -#: apps/wei/views.py:436 +#: apps/wei/views.py:434 msgid "Manage WEI team" msgstr "" -#: apps/wei/views.py:458 +#: apps/wei/views.py:456 msgid "Register first year student to the WEI" msgstr "" -#: apps/wei/views.py:470 templates/wei/weiclub_info.html:62 +#: apps/wei/views.py:468 templates/wei/weiclub_info.html:62 msgid "Register 1A" msgstr "" -#: apps/wei/views.py:491 apps/wei/views.py:561 +#: apps/wei/views.py:489 apps/wei/views.py:559 msgid "This user is already registered to this WEI." msgstr "" -#: apps/wei/views.py:496 +#: apps/wei/views.py:494 msgid "" "This user can't be in her/his first year since he/she has already participed " "to a WEI." msgstr "" -#: apps/wei/views.py:513 +#: apps/wei/views.py:511 msgid "Register old student to the WEI" msgstr "" -#: apps/wei/views.py:525 templates/wei/weiclub_info.html:65 +#: apps/wei/views.py:523 templates/wei/weiclub_info.html:65 msgid "Register 2A+" msgstr "" -#: apps/wei/views.py:543 apps/wei/views.py:631 +#: apps/wei/views.py:541 apps/wei/views.py:629 msgid "You already opened an account in the Société générale." msgstr "" -#: apps/wei/views.py:591 +#: apps/wei/views.py:589 msgid "Update WEI Registration" msgstr "" -#: apps/wei/views.py:681 +#: apps/wei/views.py:679 msgid "Delete WEI registration" msgstr "" -#: apps/wei/views.py:692 +#: apps/wei/views.py:690 msgid "You don't have the right to delete this WEI registration." msgstr "" -#: apps/wei/views.py:711 +#: apps/wei/views.py:709 msgid "Validate WEI registration" msgstr "" -#: apps/wei/views.py:792 +#: apps/wei/views.py:790 msgid "This user didn't give her/his caution check." msgstr "" -#: apps/wei/views.py:829 apps/wei/views.py:882 apps/wei/views.py:892 +#: apps/wei/views.py:827 apps/wei/views.py:880 apps/wei/views.py:890 #: templates/wei/survey.html:12 templates/wei/survey_closed.html:12 #: templates/wei/survey_end.html:12 msgid "Survey WEI" @@ -1790,15 +1791,11 @@ msgstr "" msgid "Clubs" msgstr "" -#: templates/base.html:115 -msgid "Registrations" -msgstr "" - -#: templates/base.html:141 +#: templates/base.html:134 msgid "Admin" msgstr "" -#: templates/base.html:180 +#: templates/base.html:173 msgid "" "Your e-mail address is not validated. Please check your mail inbox and click " "on the validation link." @@ -1936,10 +1933,14 @@ msgstr "" msgid "Save Changes" msgstr "" -#: templates/member/user_list.html:16 +#: templates/member/user_list.html:17 msgid "There is no user with this pattern." msgstr "" +#: templates/member/user_list.html:26 +msgid "Registrations" +msgstr "" + #: templates/note/conso_form.html:28 msgid "Consum" msgstr "" @@ -2073,6 +2074,21 @@ msgid "" "activate your account." msgstr "" +#: templates/registration/email_validation_email_sent.html:4 +msgid "Account activation" +msgstr "" + +#: templates/registration/email_validation_email_sent.html:7 +msgid "" +"An email has been sent. Please click on the link to activate your account." +msgstr "" + +#: templates/registration/email_validation_email_sent.html:11 +msgid "" +"You must also go to the Kfet to pay your membership. The WEI registration " +"includes the BDE membership." +msgstr "" + #: templates/registration/future_profile_detail.html:49 #: templates/wei/weiregistration_confirm_delete.html:12 msgid "Delete registration" @@ -2128,32 +2144,39 @@ msgstr "" msgid "Forgotten your password or username?" msgstr "" +#: templates/registration/mails/email_validation_email.html:12 #: templates/registration/mails/email_validation_email.txt:3 msgid "Hi" msgstr "" +#: templates/registration/mails/email_validation_email.html:16 #: templates/registration/mails/email_validation_email.txt:5 msgid "" "You recently registered on the Note Kfet. Please click on the link below to " "confirm your registration." msgstr "" +#: templates/registration/mails/email_validation_email.html:26 #: templates/registration/mails/email_validation_email.txt:9 msgid "" "This link is only valid for a couple of days, after that you will need to " "contact us to validate your email." msgstr "" +#: templates/registration/mails/email_validation_email.html:30 #: templates/registration/mails/email_validation_email.txt:11 msgid "" "After that, you'll have to wait that someone validates your account before " -"you can log in. You will need to pay your membership in the Kfet." +"you can log in. You will need to pay your membership in the Kfet. Note that " +"the WEI registration includes the Kfet membership." msgstr "" +#: templates/registration/mails/email_validation_email.html:34 #: templates/registration/mails/email_validation_email.txt:13 msgid "Thanks" msgstr "" +#: templates/registration/mails/email_validation_email.html:39 #: templates/registration/mails/email_validation_email.txt:15 msgid "The Note Kfet team." msgstr "" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 9df44fec..511b3efb 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-01 15:06+0200\n" +"POT-Creation-Date: 2020-08-03 12:35+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,36 +18,36 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: apps/activity/apps.py:10 apps/activity/models.py:102 -#: apps/activity/models.py:117 +#: apps/activity/apps.py:10 apps/activity/models.py:106 +#: apps/activity/models.py:121 msgid "activity" msgstr "activité" -#: apps/activity/forms.py:45 apps/activity/models.py:213 +#: apps/activity/forms.py:45 apps/activity/models.py:217 msgid "You can't invite someone once the activity is started." msgstr "" "Vous ne pouvez pas inviter quelqu'un une fois que l'activité a démarré." -#: apps/activity/forms.py:48 apps/activity/models.py:216 +#: apps/activity/forms.py:48 apps/activity/models.py:220 msgid "This activity is not validated yet." msgstr "Cette activité n'est pas encore validée." -#: apps/activity/forms.py:58 apps/activity/models.py:224 +#: apps/activity/forms.py:58 apps/activity/models.py:228 msgid "This person has been already invited 5 times this year." msgstr "Cette personne a déjà été invitée 5 fois cette année." -#: apps/activity/forms.py:62 apps/activity/models.py:228 +#: apps/activity/forms.py:62 apps/activity/models.py:232 msgid "This person is already invited." msgstr "Cette personne est déjà invitée." -#: apps/activity/forms.py:66 apps/activity/models.py:232 +#: apps/activity/forms.py:66 apps/activity/models.py:236 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:23 apps/activity/models.py:48 -#: apps/member/models.py:151 apps/note/models/notes.py:188 +#: apps/activity/models.py:24 apps/activity/models.py:49 +#: apps/member/models.py:158 apps/note/models/notes.py:212 #: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45 -#: apps/note/models/transactions.py:263 apps/permission/models.py:332 +#: apps/note/models/transactions.py:263 apps/permission/models.py:339 #: apps/wei/models.py:65 apps/wei/models.py:117 #: templates/member/club_info.html:13 templates/member/profile_info.html:14 #: templates/registration/future_profile_detail.html:16 @@ -55,123 +55,123 @@ msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité." msgid "name" msgstr "nom" -#: apps/activity/models.py:27 templates/activity/activity_detail.html:39 +#: apps/activity/models.py:28 templates/activity/activity_detail.html:39 msgid "can invite" msgstr "peut inviter" -#: apps/activity/models.py:30 templates/activity/activity_detail.html:43 +#: apps/activity/models.py:31 templates/activity/activity_detail.html:43 msgid "guest entry fee" msgstr "cotisation de l'entrée invité" -#: apps/activity/models.py:34 +#: apps/activity/models.py:35 msgid "activity type" msgstr "type d'activité" -#: apps/activity/models.py:35 +#: apps/activity/models.py:36 msgid "activity types" msgstr "types d'activité" -#: apps/activity/models.py:53 apps/note/models/transactions.py:81 -#: apps/permission/models.py:113 apps/permission/models.py:192 +#: apps/activity/models.py:54 apps/note/models/transactions.py:81 +#: apps/permission/models.py:120 apps/permission/models.py:199 #: apps/wei/models.py:71 apps/wei/models.py:128 #: templates/activity/activity_detail.html:16 msgid "description" msgstr "description" -#: apps/activity/models.py:60 apps/note/models/notes.py:164 -#: apps/note/models/transactions.py:66 apps/permission/models.py:167 +#: apps/activity/models.py:61 apps/note/models/notes.py:188 +#: apps/note/models/transactions.py:66 apps/permission/models.py:174 #: templates/activity/activity_detail.html:19 msgid "type" msgstr "type" -#: apps/activity/models.py:66 apps/logs/models.py:21 apps/member/models.py:259 -#: apps/note/models/notes.py:117 apps/treasury/models.py:221 +#: apps/activity/models.py:67 apps/logs/models.py:22 apps/member/models.py:266 +#: apps/note/models/notes.py:126 apps/treasury/models.py:222 #: apps/wei/models.py:159 templates/treasury/sogecredit_detail.html:14 #: templates/wei/survey.html:16 msgid "user" msgstr "utilisateur" -#: apps/activity/models.py:73 templates/activity/activity_detail.html:33 +#: apps/activity/models.py:74 templates/activity/activity_detail.html:33 msgid "organizer" msgstr "organisateur" -#: apps/activity/models.py:80 templates/activity/activity_detail.html:36 +#: apps/activity/models.py:81 templates/activity/activity_detail.html:36 msgid "attendees club" msgstr "club attendu" -#: apps/activity/models.py:84 templates/activity/activity_detail.html:22 +#: apps/activity/models.py:85 templates/activity/activity_detail.html:22 msgid "start date" msgstr "date de début" -#: apps/activity/models.py:88 templates/activity/activity_detail.html:25 +#: apps/activity/models.py:89 templates/activity/activity_detail.html:25 msgid "end date" msgstr "date de fin" -#: apps/activity/models.py:93 apps/note/models/transactions.py:146 +#: apps/activity/models.py:94 apps/note/models/transactions.py:146 #: templates/activity/activity_detail.html:47 msgid "valid" msgstr "valide" -#: apps/activity/models.py:98 templates/activity/activity_detail.html:61 +#: apps/activity/models.py:99 templates/activity/activity_detail.html:61 msgid "open" msgstr "ouvrir" -#: apps/activity/models.py:103 +#: apps/activity/models.py:107 msgid "activities" msgstr "activités" -#: apps/activity/models.py:122 +#: apps/activity/models.py:126 msgid "entry time" msgstr "heure d'entrée" -#: apps/activity/models.py:128 apps/note/apps.py:14 -#: apps/note/models/notes.py:58 +#: apps/activity/models.py:132 apps/note/apps.py:14 +#: apps/note/models/notes.py:60 msgid "note" msgstr "note" -#: apps/activity/models.py:139 templates/activity/activity_entry.html:38 +#: apps/activity/models.py:143 templates/activity/activity_entry.html:38 msgid "entry" msgstr "entrée" -#: apps/activity/models.py:140 templates/activity/activity_entry.html:38 +#: apps/activity/models.py:144 templates/activity/activity_entry.html:38 msgid "entries" msgstr "entrées" -#: apps/activity/models.py:146 +#: apps/activity/models.py:150 msgid "Already entered on " msgstr "Déjà rentré le " -#: apps/activity/models.py:146 apps/activity/tables.py:54 +#: apps/activity/models.py:150 apps/activity/tables.py:54 msgid "{:%Y-%m-%d %H:%M:%S}" msgstr "{:%d/%m/%Y %H:%M:%S}" -#: apps/activity/models.py:154 +#: apps/activity/models.py:158 msgid "The balance is negative." msgstr "La note est en négatif." -#: apps/activity/models.py:184 +#: apps/activity/models.py:188 msgid "last name" msgstr "nom de famille" -#: apps/activity/models.py:189 templates/member/profile_info.html:14 +#: apps/activity/models.py:193 templates/member/profile_info.html:14 #: templates/registration/future_profile_detail.html:16 #: templates/wei/weimembership_form.html:18 msgid "first name" msgstr "prénom" -#: apps/activity/models.py:196 +#: apps/activity/models.py:200 msgid "inviter" msgstr "hôte" -#: apps/activity/models.py:237 +#: apps/activity/models.py:244 msgid "guest" msgstr "invité" -#: apps/activity/models.py:238 +#: apps/activity/models.py:245 msgid "guests" msgstr "invités" -#: apps/activity/models.py:250 +#: apps/activity/models.py:257 msgid "Invitation" msgstr "Invitation" @@ -183,26 +183,26 @@ msgstr "Entré le " msgid "remove" msgstr "supprimer" -#: apps/activity/tables.py:75 apps/treasury/models.py:140 +#: apps/activity/tables.py:75 apps/treasury/models.py:141 msgid "Type" msgstr "Type" #: apps/activity/tables.py:77 apps/member/forms.py:102 -#: apps/registration/forms.py:64 apps/treasury/forms.py:120 +#: apps/registration/forms.py:70 apps/treasury/forms.py:120 msgid "Last name" msgstr "Nom de famille" #: apps/activity/tables.py:79 apps/member/forms.py:107 -#: apps/registration/forms.py:69 apps/treasury/forms.py:122 +#: apps/registration/forms.py:75 apps/treasury/forms.py:122 #: templates/note/transaction_form.html:129 msgid "First name" msgstr "Prénom" -#: apps/activity/tables.py:81 apps/note/models/notes.py:67 +#: apps/activity/tables.py:81 apps/note/models/notes.py:69 msgid "Note" msgstr "Note" -#: apps/activity/tables.py:83 apps/member/tables.py:42 +#: apps/activity/tables.py:83 apps/member/tables.py:43 msgid "Balance" msgstr "Solde du compte" @@ -210,7 +210,7 @@ msgstr "Solde du compte" msgid "Create new activity" msgstr "Créer une nouvelle activité" -#: apps/activity/views.py:41 templates/base.html:121 +#: apps/activity/views.py:41 templates/base.html:114 msgid "Activities" msgstr "Activités" @@ -238,75 +238,75 @@ msgstr "API" msgid "Logs" msgstr "Logs" -#: apps/logs/models.py:27 +#: apps/logs/models.py:28 msgid "IP Address" msgstr "Adresse IP" -#: apps/logs/models.py:35 apps/permission/models.py:137 +#: apps/logs/models.py:36 apps/permission/models.py:144 msgid "model" msgstr "Modèle" -#: apps/logs/models.py:42 +#: apps/logs/models.py:43 msgid "identifier" msgstr "Identifiant" -#: apps/logs/models.py:47 +#: apps/logs/models.py:48 msgid "previous data" msgstr "Données précédentes" -#: apps/logs/models.py:52 +#: apps/logs/models.py:53 msgid "new data" msgstr "Nouvelles données" -#: apps/logs/models.py:60 +#: apps/logs/models.py:61 msgid "create" msgstr "Créer" -#: apps/logs/models.py:61 apps/note/tables.py:161 +#: apps/logs/models.py:62 apps/note/tables.py:160 #: templates/activity/activity_detail.html:67 msgid "edit" msgstr "Modifier" -#: apps/logs/models.py:62 apps/note/tables.py:138 apps/note/tables.py:166 -#: apps/permission/models.py:130 apps/wei/tables.py:65 +#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:165 +#: apps/permission/models.py:137 apps/wei/tables.py:65 msgid "delete" msgstr "Supprimer" -#: apps/logs/models.py:65 +#: apps/logs/models.py:66 msgid "action" msgstr "Action" -#: apps/logs/models.py:73 +#: apps/logs/models.py:74 msgid "timestamp" msgstr "Date" -#: apps/logs/models.py:77 +#: apps/logs/models.py:78 msgid "Logs cannot be destroyed." msgstr "Les logs ne peuvent pas être détruits." -#: apps/logs/models.py:80 +#: apps/logs/models.py:81 msgid "changelog" msgstr "journal de modification" -#: apps/logs/models.py:81 +#: apps/logs/models.py:82 msgid "changelogs" msgstr "journaux de modifications" -#: apps/member/admin.py:53 apps/member/models.py:178 +#: apps/member/admin.py:52 apps/member/models.py:185 #: templates/member/club_info.html:41 msgid "membership fee (paid students)" msgstr "cotisation pour adhérer (normalien élève)" -#: apps/member/admin.py:54 apps/member/models.py:183 +#: apps/member/admin.py:53 apps/member/models.py:190 #: templates/member/club_info.html:44 msgid "membership fee (unpaid students)" msgstr "cotisation pour adhérer (normalien étudiant)" -#: apps/member/admin.py:68 apps/member/models.py:270 +#: apps/member/admin.py:67 apps/member/models.py:277 msgid "roles" msgstr "rôles" -#: apps/member/admin.py:69 apps/member/models.py:284 +#: apps/member/admin.py:68 apps/member/models.py:291 msgid "fee" msgstr "cotisation" @@ -315,22 +315,23 @@ msgid "member" msgstr "adhérent" #: apps/member/forms.py:58 apps/member/views.py:82 +#: apps/registration/forms.py:28 msgid "An alias with a similar name already exists." msgstr "Un alias avec un nom similaire existe déjà." -#: apps/member/forms.py:81 apps/registration/forms.py:44 +#: apps/member/forms.py:81 apps/registration/forms.py:50 msgid "Inscription paid by Société Générale" msgstr "Inscription payée par la Société générale" -#: apps/member/forms.py:83 apps/registration/forms.py:46 +#: apps/member/forms.py:83 apps/registration/forms.py:52 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:88 apps/registration/forms.py:51 +#: apps/member/forms.py:88 apps/registration/forms.py:57 msgid "Credit type" msgstr "Type de rechargement" -#: apps/member/forms.py:89 apps/registration/forms.py:52 +#: apps/member/forms.py:89 apps/registration/forms.py:58 msgid "No credit" msgstr "Pas de rechargement" @@ -338,20 +339,20 @@ 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:95 apps/registration/forms.py:57 +#: apps/member/forms.py:95 apps/registration/forms.py:63 msgid "Credit amount" msgstr "Montant à créditer" -#: apps/member/forms.py:112 apps/registration/forms.py:74 +#: apps/member/forms.py:112 apps/registration/forms.py:80 #: apps/treasury/forms.py:124 templates/note/transaction_form.html:135 msgid "Bank" msgstr "Banque" -#: apps/member/forms.py:138 +#: apps/member/forms.py:139 msgid "User" msgstr "Utilisateur" -#: apps/member/forms.py:152 +#: apps/member/forms.py:153 msgid "Roles" msgstr "Rôles" @@ -479,47 +480,47 @@ msgstr "profil utilisateur" msgid "Activate your Note Kfet account" msgstr "Activez votre compte Note Kfet" -#: apps/member/models.py:156 templates/member/club_info.html:57 +#: apps/member/models.py:163 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:163 +#: apps/member/models.py:170 msgid "parent club" msgstr "club parent" -#: apps/member/models.py:172 +#: apps/member/models.py:179 msgid "require memberships" msgstr "nécessite des adhésions" -#: apps/member/models.py:173 +#: apps/member/models.py:180 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:189 templates/member/club_info.html:33 +#: apps/member/models.py:196 templates/member/club_info.html:33 msgid "membership duration" msgstr "durée de l'adhésion" -#: apps/member/models.py:190 +#: apps/member/models.py:197 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:197 templates/member/club_info.html:23 +#: apps/member/models.py:204 templates/member/club_info.html:23 msgid "membership start" msgstr "début de l'adhésion" -#: apps/member/models.py:198 +#: apps/member/models.py:205 msgid "How long after January 1st the members can renew their membership." msgstr "" "Combien de temps après le 1er Janvier les adhérents peuvent renouveler leur " "adhésion." -#: apps/member/models.py:205 templates/member/club_info.html:28 +#: apps/member/models.py:212 templates/member/club_info.html:28 msgid "membership end" msgstr "fin de l'adhésion" -#: apps/member/models.py:206 +#: apps/member/models.py:213 msgid "" "How long the membership can last after January 1st of the next year after " "members can renew their membership." @@ -527,50 +528,50 @@ msgstr "" "Combien de temps l'adhésion peut durer après le 1er Janvier de l'année " "suivante avant que les adhérents peuvent renouveler leur adhésion." -#: apps/member/models.py:240 apps/member/models.py:265 -#: apps/note/models/notes.py:139 +#: apps/member/models.py:247 apps/member/models.py:272 +#: apps/note/models/notes.py:163 msgid "club" msgstr "club" -#: apps/member/models.py:241 +#: apps/member/models.py:248 msgid "clubs" msgstr "clubs" -#: apps/member/models.py:275 +#: apps/member/models.py:282 msgid "membership starts on" msgstr "l'adhésion commence le" -#: apps/member/models.py:279 +#: apps/member/models.py:286 msgid "membership ends on" msgstr "l'adhésion finit le" -#: apps/member/models.py:303 apps/member/views.py:535 apps/wei/views.py:797 +#: apps/member/models.py:310 apps/member/views.py:535 apps/wei/views.py:795 msgid "User is not a member of the parent club" msgstr "L'utilisateur n'est pas membre du club parent" -#: apps/member/models.py:310 +#: apps/member/models.py:317 #, 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:321 apps/member/views.py:544 +#: 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" -#: apps/member/models.py:372 +#: apps/member/models.py:379 #, python-brace-format msgid "Membership of {user} for the club {club}" msgstr "Adhésion de {user} pour le club {club}" -#: apps/member/models.py:375 +#: apps/member/models.py:382 msgid "membership" msgstr "adhésion" -#: apps/member/models.py:376 +#: apps/member/models.py:383 msgid "memberships" msgstr "adhésions" -#: apps/member/tables.py:113 +#: apps/member/tables.py:114 msgid "Renew" msgstr "Renouveler" @@ -624,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:788 +#: apps/member/views.py:530 apps/wei/views.py:786 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -641,8 +642,8 @@ msgid "The membership must begin before {:%m-%d-%Y}." msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}." #: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574 -#: apps/registration/views.py:292 apps/registration/views.py:294 -#: apps/registration/views.py:296 +#: 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." @@ -654,16 +655,16 @@ 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:134 apps/note/models/transactions.py:106 +#: apps/note/admin.py:133 apps/note/models/transactions.py:106 msgid "source" msgstr "source" -#: apps/note/admin.py:142 apps/note/admin.py:192 +#: apps/note/admin.py:141 apps/note/admin.py:191 #: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119 msgid "destination" msgstr "destination" -#: apps/note/admin.py:197 apps/note/models/transactions.py:59 +#: apps/note/admin.py:196 apps/note/models/transactions.py:59 #: apps/note/models/transactions.py:137 msgid "amount" msgstr "montant" @@ -676,105 +677,105 @@ msgstr "Choisissez une image" msgid "Maximal size: 2MB" msgstr "Taille maximale : 2 Mo" -#: apps/note/models/notes.py:27 +#: apps/note/models/notes.py:29 msgid "account balance" msgstr "solde du compte" -#: apps/note/models/notes.py:28 +#: apps/note/models/notes.py:30 msgid "in centimes, money credited for this instance" msgstr "en centimes, argent crédité pour cette instance" -#: apps/note/models/notes.py:32 +#: apps/note/models/notes.py:34 msgid "last negative date" msgstr "dernier date de négatif" -#: apps/note/models/notes.py:33 +#: apps/note/models/notes.py:35 msgid "last time the balance was negative" msgstr "dernier instant où la note était en négatif" -#: apps/note/models/notes.py:38 +#: apps/note/models/notes.py:40 msgid "active" msgstr "actif" -#: apps/note/models/notes.py:41 +#: apps/note/models/notes.py:43 msgid "" "Designates whether this note should be treated as active. Unselect this " "instead of deleting notes." msgstr "" "Indique si la note est active. Désactiver cela plutôt que supprimer la note." -#: apps/note/models/notes.py:45 +#: apps/note/models/notes.py:47 msgid "display image" msgstr "image affichée" -#: apps/note/models/notes.py:53 apps/note/models/transactions.py:129 +#: apps/note/models/notes.py:55 apps/note/models/transactions.py:129 msgid "created at" msgstr "créée le" -#: apps/note/models/notes.py:59 +#: apps/note/models/notes.py:61 msgid "notes" msgstr "notes" -#: apps/note/models/notes.py:77 apps/note/models/notes.py:101 +#: apps/note/models/notes.py:86 apps/note/models/notes.py:110 msgid "This alias is already taken." msgstr "Cet alias est déjà pris." -#: apps/note/models/notes.py:121 +#: apps/note/models/notes.py:130 msgid "one's note" msgstr "note d'un utilisateur" -#: apps/note/models/notes.py:122 +#: apps/note/models/notes.py:131 msgid "users note" msgstr "notes des utilisateurs" -#: apps/note/models/notes.py:128 +#: apps/note/models/notes.py:137 #, python-format msgid "%(user)s's note" msgstr "Note de %(user)s" -#: apps/note/models/notes.py:143 +#: apps/note/models/notes.py:167 msgid "club note" msgstr "note d'un club" -#: apps/note/models/notes.py:144 +#: apps/note/models/notes.py:168 msgid "clubs notes" msgstr "notes des clubs" -#: apps/note/models/notes.py:150 +#: apps/note/models/notes.py:174 #, python-format msgid "Note of %(club)s club" msgstr "Note du club %(club)s" -#: apps/note/models/notes.py:170 +#: apps/note/models/notes.py:194 msgid "special note" msgstr "note spéciale" -#: apps/note/models/notes.py:171 +#: apps/note/models/notes.py:195 msgid "special notes" msgstr "notes spéciales" -#: apps/note/models/notes.py:194 +#: apps/note/models/notes.py:218 msgid "Invalid alias" msgstr "Alias invalide" -#: apps/note/models/notes.py:210 +#: apps/note/models/notes.py:234 msgid "alias" msgstr "alias" -#: apps/note/models/notes.py:211 templates/member/club_info.html:54 +#: apps/note/models/notes.py:235 templates/member/club_info.html:54 #: templates/member/profile_info.html:38 templates/wei/weiclub_info.html:48 msgid "aliases" msgstr "alias" -#: apps/note/models/notes.py:233 +#: apps/note/models/notes.py:257 msgid "Alias is too long." msgstr "L'alias est trop long." -#: apps/note/models/notes.py:238 +#: apps/note/models/notes.py:262 msgid "An alias with a similar name already exists: {} " msgstr "Un alias avec un nom similaire existe déjà : {}" -#: apps/note/models/notes.py:251 +#: apps/note/models/notes.py:275 msgid "You can't delete your main alias." msgstr "Vous ne pouvez pas supprimer votre alias principal." @@ -823,7 +824,7 @@ msgstr "quantité" msgid "reason" msgstr "raison" -#: apps/note/models/transactions.py:151 apps/note/tables.py:113 +#: apps/note/models/transactions.py:151 apps/note/tables.py:112 msgid "invalidity reason" msgstr "Motif d'invalidité" @@ -885,7 +886,7 @@ msgstr "" msgid "membership transaction" msgstr "Transaction d'adhésion" -#: apps/note/models/transactions.py:308 apps/treasury/models.py:227 +#: apps/note/models/transactions.py:308 apps/treasury/models.py:228 msgid "membership transactions" msgstr "Transactions d'adhésion" @@ -897,17 +898,17 @@ msgstr "Cliquez pour dévalider" msgid "Click to validate" msgstr "Cliquez pour valider" -#: apps/note/tables.py:111 +#: apps/note/tables.py:110 msgid "No reason specified" msgstr "Pas de motif spécifié" -#: apps/note/tables.py:140 apps/note/tables.py:168 apps/wei/tables.py:66 +#: apps/note/tables.py:139 apps/note/tables.py:167 apps/wei/tables.py:66 #: templates/treasury/sogecredit_detail.html:59 #: templates/wei/weiregistration_confirm_delete.html:32 msgid "Delete" msgstr "Supprimer" -#: apps/note/tables.py:163 apps/wei/tables.py:42 apps/wei/tables.py:43 +#: apps/note/tables.py:162 apps/wei/tables.py:42 apps/wei/tables.py:43 #: templates/member/club_info.html:67 templates/note/conso_form.html:128 #: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15 #: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68 @@ -918,69 +919,69 @@ msgstr "Éditer" msgid "Transfer money" msgstr "Transférer de l'argent" -#: apps/note/views.py:67 +#: apps/note/views.py:69 msgid "Create new button" msgstr "Créer un nouveau bouton" -#: apps/note/views.py:76 +#: apps/note/views.py:78 msgid "Search button" msgstr "Chercher un bouton" -#: apps/note/views.py:99 +#: apps/note/views.py:101 msgid "Update button" msgstr "Modifier le bouton" -#: apps/note/views.py:136 templates/base.html:94 +#: apps/note/views.py:138 templates/base.html:94 msgid "Consumptions" msgstr "Consommations" -#: apps/permission/models.py:92 +#: apps/permission/models.py:99 #, python-brace-format msgid "Can {type} {model}.{field} in {query}" msgstr "Can {type} {model}.{field} in {query}" -#: apps/permission/models.py:94 +#: apps/permission/models.py:101 #, python-brace-format msgid "Can {type} {model} in {query}" msgstr "Can {type} {model} in {query}" -#: apps/permission/models.py:107 +#: apps/permission/models.py:114 msgid "rank" msgstr "Rang" -#: apps/permission/models.py:120 +#: apps/permission/models.py:127 msgid "permission mask" msgstr "masque de permissions" -#: apps/permission/models.py:121 +#: apps/permission/models.py:128 msgid "permission masks" msgstr "masques de permissions" -#: apps/permission/models.py:127 +#: apps/permission/models.py:134 msgid "add" msgstr "ajouter" -#: apps/permission/models.py:128 +#: apps/permission/models.py:135 msgid "view" msgstr "voir" -#: apps/permission/models.py:129 +#: apps/permission/models.py:136 msgid "change" msgstr "modifier" -#: apps/permission/models.py:161 +#: apps/permission/models.py:168 msgid "query" msgstr "requête" -#: apps/permission/models.py:174 +#: apps/permission/models.py:181 msgid "mask" msgstr "masque" -#: apps/permission/models.py:180 +#: apps/permission/models.py:187 msgid "field" msgstr "champ" -#: apps/permission/models.py:185 +#: apps/permission/models.py:192 msgid "" "Tells if the permission should be granted even if the membership of the user " "is expired." @@ -988,29 +989,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:186 templates/permission/all_rights.html:26 +#: apps/permission/models.py:193 templates/permission/all_rights.html:26 msgid "permanent" msgstr "permanent" -#: apps/permission/models.py:197 +#: apps/permission/models.py:204 msgid "permission" msgstr "permission" -#: apps/permission/models.py:198 apps/permission/models.py:337 +#: apps/permission/models.py:205 apps/permission/models.py:344 msgid "permissions" msgstr "permissions" -#: apps/permission/models.py:203 +#: apps/permission/models.py:210 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:342 +#: apps/permission/models.py:349 msgid "for club" msgstr "s'applique au club" -#: apps/permission/models.py:352 apps/permission/models.py:353 +#: apps/permission/models.py:359 apps/permission/models.py:360 msgid "role permissions" msgstr "Permissions par rôles" @@ -1041,7 +1042,7 @@ msgstr "" "Vous n'avez pas la permission de supprimer cette instance du modèle " "{app_label}.{model_name}." -#: apps/permission/views.py:44 templates/base.html:136 +#: apps/permission/views.py:44 templates/base.html:129 msgid "Rights" msgstr "Droits" @@ -1053,11 +1054,11 @@ msgstr "Tous les droits" msgid "registration" msgstr "inscription" -#: apps/registration/forms.py:32 +#: apps/registration/forms.py:38 msgid "Register to the WEI" msgstr "S'inscrire au WEI" -#: apps/registration/forms.py:34 +#: apps/registration/forms.py:40 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." @@ -1066,11 +1067,11 @@ msgstr "" "pourrez toujours vous inscrire plus tard, après avoir validé votre compte à " "la Kfet." -#: apps/registration/forms.py:79 +#: apps/registration/forms.py:85 msgid "Join BDE Club" msgstr "Adhérer au club BDE" -#: apps/registration/forms.py:86 +#: apps/registration/forms.py:92 msgid "Join Kfet Club" msgstr "Adhérer au club Kfet" @@ -1102,34 +1103,34 @@ msgstr "Renvoyer le lien de validation" msgid "Pre-registered users list" msgstr "Liste des utilisateurs en attente d'inscription" -#: apps/registration/views.py:190 +#: apps/registration/views.py:188 msgid "Unregistered users" msgstr "Utilisateurs en attente d'inscription" -#: apps/registration/views.py:203 +#: apps/registration/views.py:201 msgid "Registration detail" msgstr "Détails de l'inscription" -#: apps/registration/views.py:258 +#: apps/registration/views.py:256 msgid "You must join the BDE." msgstr "Vous devez adhérer au BDE." -#: apps/registration/views.py:280 +#: apps/registration/views.py:278 msgid "You must join BDE club before joining Kfet club." msgstr "Vous devez adhérer au club BDE avant d'adhérer au club Kfet." -#: apps/registration/views.py:285 +#: apps/registration/views.py:283 msgid "" "The entered amount is not enough for the memberships, should be at least {}" msgstr "" "Le montant crédité est trop faible pour adhérer, il doit être au minimum de " "{}" -#: apps/registration/views.py:360 +#: apps/registration/views.py:358 msgid "Invalidate pre-registration" msgstr "Invalider l'inscription" -#: apps/treasury/apps.py:12 templates/base.html:126 +#: apps/treasury/apps.py:12 templates/base.html:119 msgid "Treasury" msgstr "Trésorerie" @@ -1163,118 +1164,118 @@ msgstr "Vous ne pouvez pas changer le type de la remise." msgid "Amount" msgstr "Montant" -#: apps/treasury/models.py:20 +#: apps/treasury/models.py:21 msgid "Invoice identifier" msgstr "Numéro de facture" -#: apps/treasury/models.py:34 +#: apps/treasury/models.py:35 msgid "BDE" msgstr "BDE" -#: apps/treasury/models.py:39 +#: apps/treasury/models.py:40 msgid "Object" msgstr "Objet" -#: apps/treasury/models.py:43 +#: apps/treasury/models.py:44 msgid "Description" msgstr "Description" -#: apps/treasury/models.py:48 templates/note/transaction_form.html:123 +#: apps/treasury/models.py:49 templates/note/transaction_form.html:123 msgid "Name" msgstr "Nom" -#: apps/treasury/models.py:52 +#: apps/treasury/models.py:53 msgid "Address" msgstr "Adresse" -#: apps/treasury/models.py:57 +#: apps/treasury/models.py:58 msgid "Place" msgstr "Lieu" -#: apps/treasury/models.py:61 +#: apps/treasury/models.py:62 msgid "Acquitted" msgstr "Acquittée" -#: apps/treasury/models.py:65 +#: apps/treasury/models.py:66 msgid "invoice" msgstr "facture" -#: apps/treasury/models.py:66 +#: apps/treasury/models.py:67 msgid "invoices" msgstr "factures" -#: apps/treasury/models.py:81 +#: apps/treasury/models.py:82 msgid "Designation" msgstr "Désignation" -#: apps/treasury/models.py:85 +#: apps/treasury/models.py:86 msgid "Quantity" msgstr "Quantité" -#: apps/treasury/models.py:89 +#: apps/treasury/models.py:90 msgid "Unit price" msgstr "Prix unitaire" -#: apps/treasury/models.py:105 +#: apps/treasury/models.py:106 msgid "product" msgstr "produit" -#: apps/treasury/models.py:106 +#: apps/treasury/models.py:107 msgid "products" msgstr "produits" -#: apps/treasury/models.py:123 +#: apps/treasury/models.py:124 msgid "remittance type" msgstr "type de remise" -#: apps/treasury/models.py:124 +#: apps/treasury/models.py:125 msgid "remittance types" msgstr "types de remises" -#: apps/treasury/models.py:134 +#: apps/treasury/models.py:135 msgid "Date" msgstr "Date" -#: apps/treasury/models.py:145 +#: apps/treasury/models.py:146 msgid "Comment" msgstr "Commentaire" -#: apps/treasury/models.py:150 +#: apps/treasury/models.py:151 msgid "Closed" msgstr "Fermée" -#: apps/treasury/models.py:154 +#: apps/treasury/models.py:155 msgid "remittance" msgstr "remise" -#: apps/treasury/models.py:155 +#: apps/treasury/models.py:156 msgid "remittances" msgstr "remises" -#: apps/treasury/models.py:187 +#: apps/treasury/models.py:188 msgid "Remittance #{:d}: {}" msgstr "Remise n°{:d} : {}" -#: apps/treasury/models.py:206 apps/treasury/tables.py:76 +#: apps/treasury/models.py:207 apps/treasury/tables.py:76 #: apps/treasury/tables.py:84 templates/treasury/invoice_list.html:13 #: templates/treasury/remittance_list.html:13 #: templates/treasury/sogecredit_list.html:13 msgid "Remittance" msgstr "Remise" -#: apps/treasury/models.py:210 +#: apps/treasury/models.py:211 msgid "special transaction proxy" msgstr "Proxy de transaction spéciale" -#: apps/treasury/models.py:211 +#: apps/treasury/models.py:212 msgid "special transaction proxies" msgstr "Proxys de transactions spéciales" -#: apps/treasury/models.py:233 +#: apps/treasury/models.py:234 msgid "credit transaction" msgstr "transaction de crédit" -#: apps/treasury/models.py:296 +#: apps/treasury/models.py:297 msgid "" "This user doesn't have enough money to pay the memberships with its note. " "Please ask her/him to credit the note before invalidating this credit." @@ -1282,11 +1283,11 @@ msgstr "" "Cet utilisateur n'a pas assez d'argent pour payer les adhésions avec sa " "note. Merci de lui demander de recharger sa note avant d'invalider ce crédit." -#: apps/treasury/models.py:308 templates/treasury/sogecredit_detail.html:10 +#: apps/treasury/models.py:309 templates/treasury/sogecredit_detail.html:10 msgid "Credit from the Société générale" msgstr "Crédit de la Société générale" -#: apps/treasury/models.py:309 +#: apps/treasury/models.py:310 msgid "Credits from the Société générale" msgstr "Crédits de la Société générale" @@ -1366,7 +1367,7 @@ msgid "Manage credits from the Société générale" msgstr "Gérer les crédits de la Société générale" #: apps/wei/apps.py:10 apps/wei/models.py:48 apps/wei/models.py:49 -#: apps/wei/models.py:60 apps/wei/models.py:166 templates/base.html:131 +#: apps/wei/models.py:60 apps/wei/models.py:166 templates/base.html:124 msgid "WEI" msgstr "WEI" @@ -1621,51 +1622,51 @@ msgstr "Trouver une adhésion au WEI" msgid "View registrations to the WEI" msgstr "Voir les inscriptions au WEI" -#: apps/wei/views.py:253 +#: apps/wei/views.py:251 msgid "Find WEI Registration" msgstr "Trouver une inscription au WEI" -#: apps/wei/views.py:264 +#: apps/wei/views.py:262 msgid "Update the WEI" msgstr "Modifier le WEI" -#: apps/wei/views.py:285 +#: apps/wei/views.py:283 msgid "Create new bus" msgstr "Ajouter un nouveau bus" -#: apps/wei/views.py:316 +#: apps/wei/views.py:314 msgid "Update bus" msgstr "Modifier le bus" -#: apps/wei/views.py:346 +#: apps/wei/views.py:344 msgid "Manage bus" msgstr "Gérer le bus" -#: apps/wei/views.py:373 +#: apps/wei/views.py:371 msgid "Create new team" msgstr "Créer une nouvelle équipe" -#: apps/wei/views.py:405 +#: apps/wei/views.py:403 msgid "Update team" msgstr "Modifier l'équipe" -#: apps/wei/views.py:436 +#: apps/wei/views.py:434 msgid "Manage WEI team" msgstr "Gérer l'équipe WEI" -#: apps/wei/views.py:458 +#: apps/wei/views.py:456 msgid "Register first year student to the WEI" msgstr "Inscrire un 1A au WEI" -#: apps/wei/views.py:470 templates/wei/weiclub_info.html:62 +#: apps/wei/views.py:468 templates/wei/weiclub_info.html:62 msgid "Register 1A" msgstr "Inscrire un 1A" -#: apps/wei/views.py:491 apps/wei/views.py:561 +#: apps/wei/views.py:489 apps/wei/views.py:559 msgid "This user is already registered to this WEI." msgstr "Cette personne est déjà inscrite au WEI." -#: apps/wei/views.py:496 +#: apps/wei/views.py:494 msgid "" "This user can't be in her/his first year since he/she has already participed " "to a WEI." @@ -1673,39 +1674,39 @@ msgstr "" "Cet utilisateur ne peut pas être en première année puisqu'iel a déjà " "participé à un WEI." -#: apps/wei/views.py:513 +#: apps/wei/views.py:511 msgid "Register old student to the WEI" msgstr "Inscrire un 2A+ au WEI" -#: apps/wei/views.py:525 templates/wei/weiclub_info.html:65 +#: apps/wei/views.py:523 templates/wei/weiclub_info.html:65 msgid "Register 2A+" msgstr "Inscrire un 2A+" -#: apps/wei/views.py:543 apps/wei/views.py:631 +#: apps/wei/views.py:541 apps/wei/views.py:629 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." -#: apps/wei/views.py:591 +#: apps/wei/views.py:589 msgid "Update WEI Registration" msgstr "Modifier l'inscription WEI" -#: apps/wei/views.py:681 +#: apps/wei/views.py:679 msgid "Delete WEI registration" msgstr "Supprimer l'inscription WEI" -#: apps/wei/views.py:692 +#: apps/wei/views.py:690 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." -#: apps/wei/views.py:711 +#: apps/wei/views.py:709 msgid "Validate WEI registration" msgstr "Valider l'inscription WEI" -#: apps/wei/views.py:792 +#: apps/wei/views.py:790 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:829 apps/wei/views.py:882 apps/wei/views.py:892 +#: apps/wei/views.py:827 apps/wei/views.py:880 apps/wei/views.py:890 #: templates/wei/survey.html:12 templates/wei/survey_closed.html:12 #: templates/wei/survey_end.html:12 msgid "Survey WEI" @@ -1845,15 +1846,11 @@ msgstr "Utilisateurs" msgid "Clubs" msgstr "Clubs" -#: templates/base.html:115 -msgid "Registrations" -msgstr "Inscriptions" - -#: templates/base.html:141 +#: templates/base.html:134 msgid "Admin" msgstr "Admin" -#: templates/base.html:180 +#: templates/base.html:173 msgid "" "Your e-mail address is not validated. Please check your mail inbox and click " "on the validation link." @@ -1996,10 +1993,14 @@ msgstr "Voir mes adhésions" msgid "Save Changes" msgstr "Sauvegarder les changements" -#: templates/member/user_list.html:16 +#: templates/member/user_list.html:17 msgid "There is no user with this pattern." msgstr "Il n'y a pas d'utilisateur trouvé avec cette entrée." +#: templates/member/user_list.html:26 +msgid "Registrations" +msgstr "Inscriptions" + #: templates/note/conso_form.html:28 msgid "Consum" msgstr "Consommer" @@ -2137,6 +2138,25 @@ msgstr "" "Le lien est invalide. Le jeton a sans doute expiré. Merci de nous contacter " "pour activer votre compte." +#: templates/registration/email_validation_email_sent.html:4 +msgid "Account activation" +msgstr "Activation du compte" + +#: templates/registration/email_validation_email_sent.html:7 +msgid "" +"An email has been sent. Please click on the link to activate your account." +msgstr "" +"Un email vient de vous être envoyé. Merci de cliquer sur le lien de " +"validation pour activer votre compte." + +#: templates/registration/email_validation_email_sent.html:11 +msgid "" +"You must also go to the Kfet to pay your membership. The WEI registration " +"includes the BDE membership." +msgstr "" +"Vous devrez également vous rendre à la Kfet pour payer votre adhésion. " +"L'inscription au WEI inclut l'adhésion au BDE." + #: templates/registration/future_profile_detail.html:49 #: templates/wei/weiregistration_confirm_delete.html:12 msgid "Delete registration" @@ -2197,10 +2217,12 @@ msgstr "" msgid "Forgotten your password or username?" msgstr "Mot de passe ou pseudo oublié ?" +#: templates/registration/mails/email_validation_email.html:12 #: templates/registration/mails/email_validation_email.txt:3 msgid "Hi" msgstr "Bonjour" +#: templates/registration/mails/email_validation_email.html:16 #: templates/registration/mails/email_validation_email.txt:5 msgid "" "You recently registered on the Note Kfet. Please click on the link below to " @@ -2209,26 +2231,30 @@ msgstr "" "Vous vous êtes inscrits récemment sur la Note Kfet. Merci de cliquer sur le " "lien ci-dessous pour confirmer votre adresse email." +#: templates/registration/mails/email_validation_email.html:26 #: templates/registration/mails/email_validation_email.txt:9 msgid "" "This link is only valid for a couple of days, after that you will need to " "contact us to validate your email." -msgstr "" -"Ce lien n'est valide que pendant quelques jours. Après cela, vous devrez " -"nous contacter pour valider votre email." +msgstr "Ce lien n'est valide que pendant quelques jours." +#: templates/registration/mails/email_validation_email.html:30 #: templates/registration/mails/email_validation_email.txt:11 msgid "" "After that, you'll have to wait that someone validates your account before " -"you can log in. You will need to pay your membership in the Kfet." +"you can log in. You will need to pay your membership in the Kfet. Note that " +"the WEI registration includes the Kfet membership." msgstr "" "Après cela, vous devrez attendre que quelqu'un valide votre compte avant de " -"pouvoir vous connecter. Vous devrez payer votre adhésion à la Kfet." +"pouvoir vous connecter. Vous devrez payer votre adhésion à la Kfet. Notez " +"que l'adhésion Kfet est incluse dans l'inscription au WEI." +#: templates/registration/mails/email_validation_email.html:34 #: templates/registration/mails/email_validation_email.txt:13 msgid "Thanks" msgstr "Merci" +#: templates/registration/mails/email_validation_email.html:39 #: templates/registration/mails/email_validation_email.txt:15 msgid "The Note Kfet team." msgstr "L'équipe de la Note Kfet." @@ -2311,10 +2337,10 @@ msgid "" "by following the link you received." msgstr "" "Si vous vous êtes déjà inscrits, votre inscription a bien été prise en " -"compte. Le BDE doit d'abord valider votre compte avantque vous puissiez vous " -"connecter. Vous devez vous rendre à la Kfet et payer les frais d'adhésion. " -"Vous devez également valider votre adresse email en suivant le lien que vous " -"avez reçu." +"compte. Le BDE doit d'abord valider votre compte avant que vous puissiez " +"vous connecter. Vous devez vous rendre à la Kfet et payer les frais " +"d'adhésion. Vous devez également valider votre adresse email en suivant le " +"lien que vous avez reçu." #: templates/treasury/invoice_form.html:41 msgid "Add product" diff --git a/templates/registration/email_validation_email_sent.html b/templates/registration/email_validation_email_sent.html index bd4cf8d8..6167ee52 100644 --- a/templates/registration/email_validation_email_sent.html +++ b/templates/registration/email_validation_email_sent.html @@ -1,7 +1,13 @@ {% extends "base.html" %} {% block content %} -

Account Activation

+

{% trans "Account activation" %}

-An email has been sent. Please click on the link to activate your account. +

+ {% trans "An email has been sent. Please click on the link to activate your account." %} +

+ +

+ {% trans "You must also go to the Kfet to pay your membership. The WEI registration includes the BDE membership." %} +

{% endblock %} \ No newline at end of file diff --git a/templates/registration/mails/email_validation_email.html b/templates/registration/mails/email_validation_email.html index 0d3afc0e..84a2379f 100644 --- a/templates/registration/mails/email_validation_email.html +++ b/templates/registration/mails/email_validation_email.html @@ -27,7 +27,7 @@

- {% trans "After that, you'll have to wait that someone validates your account before you can log in. You will need to pay your membership in the Kfet." %} + {% trans "After that, you'll have to wait that someone validates your account before you can log in. You will need to pay your membership in the Kfet. Note that the WEI registration includes the Kfet membership." %}

diff --git a/templates/registration/mails/email_validation_email.txt b/templates/registration/mails/email_validation_email.txt index 69f2d642..6427200f 100644 --- a/templates/registration/mails/email_validation_email.txt +++ b/templates/registration/mails/email_validation_email.txt @@ -8,7 +8,7 @@ https://{{ domain }}{% url 'registration:email_validation' uidb64=uid token=toke {% trans "This link is only valid for a couple of days, after that you will need to contact us to validate your email." %} -{% trans "After that, you'll have to wait that someone validates your account before you can log in. You will need to pay your membership in the Kfet." %} +{% trans "After that, you'll have to wait that someone validates your account before you can log in. You will need to pay your membership in the Kfet. Note that the WEI registration includes the Kfet membership." %} {% trans "Thanks" %},