mirror of
https://github.com/ae-utbm/sith.git
synced 2024-12-22 15:51:19 +00:00
Add a restriction on the counter login view to authorize only the sellers
This commit is contained in:
parent
4c2bf9cbf9
commit
90e47c9d7d
@ -151,6 +151,7 @@ class UserTabsMixin(TabedViewMixin):
|
||||
try:
|
||||
if (self.object.customer and (self.object == self.request.user
|
||||
or self.request.user.is_in_group(settings.SITH_GROUPS['accounting-admin']['name'])
|
||||
or self.request.user.is_in_group(settings.SITH_BAR_MANAGER['unix_name']+settings.SITH_BOARD_SUFFIX)
|
||||
or self.request.user.is_root)):
|
||||
tab_list.append({
|
||||
'url': reverse('core:user_account', kwargs={'user_id': self.object.id}),
|
||||
@ -312,6 +313,7 @@ class UserAccountView(UserTabsMixin, DetailView):
|
||||
res = super(UserAccountView, self).dispatch(request, *arg, **kwargs)
|
||||
if (self.object == request.user
|
||||
or request.user.is_in_group(settings.SITH_GROUPS['accounting-admin']['name'])
|
||||
or request.user.is_in_group(settings.SITH_BAR_MANAGER['unix_name']+settings.SITH_BOARD_SUFFIX)
|
||||
or request.user.is_root):
|
||||
return res
|
||||
raise PermissionDenied
|
||||
|
@ -81,8 +81,8 @@ class CounterMain(DetailView, ProcessFormView, FormMixin):
|
||||
kwargs['login_form'].cleaned_data = {} # add_error fails if there are no cleaned_data
|
||||
if "credentials" in self.request.GET:
|
||||
kwargs['login_form'].add_error(None, _("Bad credentials"))
|
||||
if "subscription" in self.request.GET:
|
||||
kwargs['login_form'].add_error(None, _("User is not subscriber"))
|
||||
if "sellers" in self.request.GET:
|
||||
kwargs['login_form'].add_error(None, _("User is not barman"))
|
||||
kwargs['form'] = self.get_form()
|
||||
if self.object.type == 'BAR':
|
||||
kwargs['barmen'] = self.object.get_barmen_list()
|
||||
@ -356,10 +356,10 @@ class CounterLogin(RedirectView):
|
||||
self.errors = []
|
||||
if form.is_valid():
|
||||
user = User.objects.filter(username=form.cleaned_data['username']).first()
|
||||
if user.is_in_group(settings.SITH_MAIN_MEMBERS_GROUP) and not user in self.counter.get_barmen_list():
|
||||
if user in self.counter.sellers.all() and not user in self.counter.get_barmen_list():
|
||||
self.counter.add_barman(user)
|
||||
else:
|
||||
self.errors += ["subscription"]
|
||||
self.errors += ["sellers"]
|
||||
else:
|
||||
self.errors += ["credentials"]
|
||||
return super(CounterLogin, self).post(request, *args, **kwargs)
|
||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-04 15:46+0200\n"
|
||||
"POT-Creation-Date: 2016-09-09 01:48+0200\n"
|
||||
"PO-Revision-Date: 2016-07-18\n"
|
||||
"Last-Translator: Skia <skia@libskia.so>\n"
|
||||
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
||||
@ -85,12 +85,12 @@ msgstr "Compte club"
|
||||
msgid "%(club_account)s on %(bank_account)s"
|
||||
msgstr "%(club_account)s sur %(bank_account)s"
|
||||
|
||||
#: accounting/models.py:130 club/models.py:146 counter/models.py:280
|
||||
#: accounting/models.py:130 club/models.py:146 counter/models.py:310
|
||||
#: launderette/models.py:122
|
||||
msgid "start date"
|
||||
msgstr "date de début"
|
||||
|
||||
#: accounting/models.py:131 club/models.py:147 counter/models.py:281
|
||||
#: accounting/models.py:131 club/models.py:147 counter/models.py:311
|
||||
msgid "end date"
|
||||
msgstr "date de fin"
|
||||
|
||||
@ -123,13 +123,13 @@ msgstr "numéro"
|
||||
msgid "journal"
|
||||
msgstr "classeur"
|
||||
|
||||
#: accounting/models.py:179 core/models.py:458 core/models.py:736
|
||||
#: counter/models.py:201 counter/models.py:244 counter/models.py:294
|
||||
#: accounting/models.py:179 core/models.py:460 core/models.py:738
|
||||
#: counter/models.py:201 counter/models.py:244 counter/models.py:324
|
||||
#: eboutic/models.py:15 eboutic/models.py:48
|
||||
msgid "date"
|
||||
msgstr "date"
|
||||
|
||||
#: accounting/models.py:180 counter/models.py:295
|
||||
#: accounting/models.py:180 counter/models.py:325
|
||||
msgid "comment"
|
||||
msgstr "commentaire"
|
||||
|
||||
@ -142,7 +142,7 @@ msgstr "méthode de paiement"
|
||||
msgid "cheque number"
|
||||
msgstr "numéro de chèque"
|
||||
|
||||
#: accounting/models.py:183 eboutic/models.py:146
|
||||
#: accounting/models.py:183 eboutic/models.py:116
|
||||
msgid "invoice"
|
||||
msgstr "facture"
|
||||
|
||||
@ -172,7 +172,7 @@ msgstr "Utilisateur"
|
||||
msgid "Club"
|
||||
msgstr "Club"
|
||||
|
||||
#: accounting/models.py:190 core/templates/core/user_base.jinja:51
|
||||
#: accounting/models.py:190 core/views/user.py:159
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
@ -180,7 +180,7 @@ msgstr "Compte"
|
||||
msgid "Company"
|
||||
msgstr "Entreprise"
|
||||
|
||||
#: accounting/models.py:190 sith/settings.py:285 sith/settings_sample.py:274
|
||||
#: accounting/models.py:190 sith/settings.py:286 sith/settings_sample.py:275
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
@ -304,8 +304,8 @@ msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: accounting/templates/accounting/bank_account_details.jinja:17
|
||||
#: club/templates/club/club_base.jinja:11
|
||||
#: core/templates/core/user_base.jinja:12
|
||||
#: club/templates/club/club_base.jinja:11 club/views.py:25
|
||||
#: core/views/user.py:126
|
||||
msgid "Infos"
|
||||
msgstr "Infos"
|
||||
|
||||
@ -325,9 +325,9 @@ msgstr "Nouveau compte club"
|
||||
#: accounting/templates/accounting/bank_account_list.jinja:21
|
||||
#: accounting/templates/accounting/club_account_details.jinja:53
|
||||
#: accounting/templates/accounting/journal_details.jinja:66
|
||||
#: club/templates/club/club_base.jinja:42 core/templates/core/file.jinja:38
|
||||
#: core/templates/core/page.jinja:31 core/templates/core/user_base.jinja:33
|
||||
#: core/templates/core/user_tools.jinja:33
|
||||
#: club/templates/club/club_base.jinja:42 club/views.py:47
|
||||
#: core/templates/core/file.jinja:38 core/templates/core/page.jinja:31
|
||||
#: core/templates/core/user_tools.jinja:33 core/views/user.py:143
|
||||
#: counter/templates/counter/counter_list.jinja:17
|
||||
#: counter/templates/counter/counter_list.jinja:31
|
||||
#: counter/templates/counter/counter_list.jinja:45
|
||||
@ -472,7 +472,7 @@ msgid "Done"
|
||||
msgstr "Effectué"
|
||||
|
||||
#: accounting/templates/accounting/journal_details.jinja:34
|
||||
#: counter/views.py:596
|
||||
#: counter/views.py:613
|
||||
msgid "Comment"
|
||||
msgstr "Commentaire"
|
||||
|
||||
@ -487,8 +487,6 @@ msgid "Edit operation"
|
||||
msgstr "Éditer l'opération"
|
||||
|
||||
#: accounting/templates/accounting/operation_edit.jinja:39
|
||||
#: club/templates/club/club_edit.jinja:8
|
||||
#: club/templates/club/club_edit_prop.jinja:8
|
||||
#: core/templates/core/create.jinja:12 core/templates/core/edit.jinja:12
|
||||
#: core/templates/core/file_edit.jinja:8 core/templates/core/page_prop.jinja:8
|
||||
#: core/templates/core/pagerev_edit.jinja:24
|
||||
@ -542,7 +540,7 @@ msgstr "Vous ne pouvez pas faire de boucles dans les clubs"
|
||||
msgid "A club with that unix_name already exists"
|
||||
msgstr "Un club avec ce nom UNIX existe déjà."
|
||||
|
||||
#: club/models.py:144 counter/models.py:278 counter/models.py:292
|
||||
#: club/models.py:144 counter/models.py:308 counter/models.py:322
|
||||
#: eboutic/models.py:14 eboutic/models.py:47 launderette/models.py:89
|
||||
#: launderette/models.py:126
|
||||
msgid "user"
|
||||
@ -569,34 +567,26 @@ msgstr "L'utilisateur est déjà membre de ce club"
|
||||
msgid "past member"
|
||||
msgstr "Anciens membres"
|
||||
|
||||
#: club/templates/club/club_base.jinja:18
|
||||
#: club/templates/club/club_base.jinja:18 club/views.py:31
|
||||
msgid "Members"
|
||||
msgstr "Membres"
|
||||
|
||||
#: club/templates/club/club_base.jinja:26
|
||||
#: club/templates/club/club_base.jinja:26 club/views.py:36
|
||||
msgid "Old members"
|
||||
msgstr "Anciens membres"
|
||||
|
||||
#: club/templates/club/club_base.jinja:34 core/templates/core/base.jinja:37
|
||||
#: core/templates/core/user_base.jinja:19
|
||||
#: club/templates/club/club_base.jinja:34 club/views.py:42
|
||||
#: core/templates/core/base.jinja:37 core/views/user.py:132
|
||||
msgid "Tools"
|
||||
msgstr "Outils"
|
||||
|
||||
#: club/templates/club/club_base.jinja:50
|
||||
#: club/templates/club/club_base.jinja:50 club/views.py:53
|
||||
#: counter/templates/counter/counter_list.jinja:20
|
||||
#: counter/templates/counter/counter_list.jinja:34
|
||||
#: counter/templates/counter/counter_list.jinja:48
|
||||
msgid "Props"
|
||||
msgstr "Propriétés"
|
||||
|
||||
#: club/templates/club/club_edit.jinja:4
|
||||
msgid "Edit club"
|
||||
msgstr "Éditer le club"
|
||||
|
||||
#: club/templates/club/club_edit_prop.jinja:4
|
||||
msgid "Edit club properties"
|
||||
msgstr "Éditer les propriétés du club"
|
||||
|
||||
#: club/templates/club/club_list.jinja:4
|
||||
#: club/templates/club/club_list.jinja:24
|
||||
msgid "Club list"
|
||||
@ -946,116 +936,116 @@ msgstr "profil visible par les cotisants"
|
||||
msgid "A user with that username already exists"
|
||||
msgstr "Un utilisateur de ce nom d'utilisateur existe déjà"
|
||||
|
||||
#: core/models.py:393 core/templates/core/macros.jinja:17
|
||||
#: core/models.py:395 core/templates/core/macros.jinja:17
|
||||
#: core/templates/core/user_detail.jinja:14
|
||||
#: core/templates/core/user_detail.jinja:16
|
||||
#: core/templates/core/user_edit.jinja:16
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
#: core/models.py:435
|
||||
#: core/models.py:437
|
||||
msgid "Visitor"
|
||||
msgstr "Visiteur"
|
||||
|
||||
#: core/models.py:440
|
||||
#: core/models.py:442
|
||||
msgid "define if we show a users stats"
|
||||
msgstr "Definit si l'on montre les statistiques de l'utilisateur"
|
||||
|
||||
#: core/models.py:442
|
||||
#: core/models.py:444
|
||||
msgid "Show your account statistics to others"
|
||||
msgstr "Montrez vos statistiques de compte aux autres"
|
||||
|
||||
#: core/models.py:449
|
||||
#: core/models.py:451
|
||||
msgid "file name"
|
||||
msgstr "nom du fichier"
|
||||
|
||||
#: core/models.py:450 core/models.py:585
|
||||
#: core/models.py:452 core/models.py:587
|
||||
msgid "parent"
|
||||
msgstr "parent"
|
||||
|
||||
#: core/models.py:451 core/models.py:461
|
||||
#: core/models.py:453 core/models.py:463
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
#: core/models.py:452
|
||||
#: core/models.py:454
|
||||
msgid "owner"
|
||||
msgstr "propriétaire"
|
||||
|
||||
#: core/models.py:453 core/models.py:591
|
||||
#: core/models.py:455 core/models.py:593
|
||||
msgid "edit group"
|
||||
msgstr "groupe d'édition"
|
||||
|
||||
#: core/models.py:454 core/models.py:592
|
||||
#: core/models.py:456 core/models.py:594
|
||||
msgid "view group"
|
||||
msgstr "groupe de vue"
|
||||
|
||||
#: core/models.py:455
|
||||
#: core/models.py:457
|
||||
msgid "is folder"
|
||||
msgstr "est un dossier"
|
||||
|
||||
#: core/models.py:456
|
||||
#: core/models.py:458
|
||||
msgid "mime type"
|
||||
msgstr "type mime"
|
||||
|
||||
#: core/models.py:457
|
||||
#: core/models.py:459
|
||||
msgid "size"
|
||||
msgstr "taille"
|
||||
|
||||
#: core/models.py:489
|
||||
#: core/models.py:491
|
||||
msgid "Character '/' not authorized in name"
|
||||
msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier"
|
||||
|
||||
#: core/models.py:492 core/models.py:497
|
||||
#: core/models.py:494 core/models.py:499
|
||||
msgid "Loop in folder tree"
|
||||
msgstr "Boucle dans l'arborescence des dossiers"
|
||||
|
||||
#: core/models.py:501
|
||||
#: core/models.py:503
|
||||
msgid "You can not make a file be a children of a non folder file"
|
||||
msgstr ""
|
||||
"Vous ne pouvez pas mettre un fichier enfant de quelque chose qui n'est pas "
|
||||
"un dossier"
|
||||
|
||||
#: core/models.py:505
|
||||
#: core/models.py:507
|
||||
msgid "Duplicate file"
|
||||
msgstr "Un fichier de ce nom existe déjà"
|
||||
|
||||
#: core/models.py:515
|
||||
#: core/models.py:517
|
||||
msgid "You must provide a file"
|
||||
msgstr "Vous devez fournir un fichier"
|
||||
|
||||
#: core/models.py:540
|
||||
#: core/models.py:542
|
||||
msgid "Folder: "
|
||||
msgstr "Dossier : "
|
||||
|
||||
#: core/models.py:542
|
||||
#: core/models.py:544
|
||||
msgid "File: "
|
||||
msgstr "Fichier : "
|
||||
|
||||
#: core/models.py:584 core/models.py:588
|
||||
#: core/models.py:586 core/models.py:590
|
||||
msgid "page name"
|
||||
msgstr "nom de la page"
|
||||
|
||||
#: core/models.py:589
|
||||
#: core/models.py:591
|
||||
msgid "owner group"
|
||||
msgstr "groupe propriétaire"
|
||||
|
||||
#: core/models.py:620
|
||||
#: core/models.py:622
|
||||
msgid "Duplicate page"
|
||||
msgstr "Une page de ce nom existe déjà"
|
||||
|
||||
#: core/models.py:626
|
||||
#: core/models.py:628
|
||||
msgid "Loop in page tree"
|
||||
msgstr "Boucle dans l'arborescence des pages"
|
||||
|
||||
#: core/models.py:733
|
||||
#: core/models.py:735
|
||||
msgid "revision"
|
||||
msgstr "révision"
|
||||
|
||||
#: core/models.py:734
|
||||
#: core/models.py:736
|
||||
msgid "page title"
|
||||
msgstr "titre de la page"
|
||||
|
||||
#: core/models.py:735
|
||||
#: core/models.py:737
|
||||
msgid "page content"
|
||||
msgstr "contenu de la page"
|
||||
|
||||
@ -1129,7 +1119,7 @@ msgstr "Partenaires"
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: core/templates/core/base.jinja:87
|
||||
#: core/templates/core/base.jinja:103
|
||||
msgid "Site made by good people"
|
||||
msgstr "Site réalisé par des gens bons"
|
||||
|
||||
@ -1543,15 +1533,6 @@ msgstr "Articles"
|
||||
msgid "User has no account"
|
||||
msgstr "L'utilisateur n'a pas de compte"
|
||||
|
||||
#: core/templates/core/user_base.jinja:26
|
||||
msgid "Stats"
|
||||
msgstr "Stats"
|
||||
|
||||
#: core/templates/core/user_base.jinja:41
|
||||
#: core/templates/core/user_tools.jinja:14
|
||||
msgid "Groups"
|
||||
msgstr "Groupes"
|
||||
|
||||
#: core/templates/core/user_detail.jinja:4
|
||||
#, python-format
|
||||
msgid "%(user_name)s's profile"
|
||||
@ -1656,12 +1637,16 @@ msgstr "Outils utilisateurs"
|
||||
msgid "Sith management"
|
||||
msgstr "Gestion de Sith"
|
||||
|
||||
#: core/templates/core/user_tools.jinja:14 core/views/user.py:149
|
||||
msgid "Groups"
|
||||
msgstr "Groupes"
|
||||
|
||||
#: core/templates/core/user_tools.jinja:17
|
||||
msgid "Subscriptions"
|
||||
msgstr "Cotisations"
|
||||
|
||||
#: core/templates/core/user_tools.jinja:22
|
||||
#: counter/templates/counter/counter_base.jinja:11 counter/views.py:511
|
||||
#: core/templates/core/user_tools.jinja:22 counter/views.py:392
|
||||
#: counter/views.py:526
|
||||
msgid "Counters"
|
||||
msgstr "Comptoirs"
|
||||
|
||||
@ -1737,7 +1722,11 @@ msgstr "Blouse : montrez aux autres à quoi ressemble votre blouse !"
|
||||
msgid "Bad image format, only jpeg, png, and gif are accepted"
|
||||
msgstr "Mauvais format d'image, seuls les jpeg, png, et gif sont acceptés"
|
||||
|
||||
#: core/views/user.py:184
|
||||
#: core/views/user.py:137
|
||||
msgid "Stats"
|
||||
msgstr "Stats"
|
||||
|
||||
#: core/views/user.py:226
|
||||
msgid "User already has a profile picture"
|
||||
msgstr "L'utilisateur a déjà une photo de profil"
|
||||
|
||||
@ -1822,8 +1811,8 @@ msgstr "Bureau"
|
||||
#: eboutic/templates/eboutic/eboutic_main.jinja:24
|
||||
#: eboutic/templates/eboutic/eboutic_makecommand.jinja:8
|
||||
#: eboutic/templates/eboutic/eboutic_payment_result.jinja:4
|
||||
#: sith/settings.py:284 sith/settings.py:292 sith/settings_sample.py:273
|
||||
#: sith/settings_sample.py:281
|
||||
#: sith/settings.py:285 sith/settings.py:293 sith/settings_sample.py:274
|
||||
#: sith/settings_sample.py:282
|
||||
msgid "Eboutic"
|
||||
msgstr "Eboutic"
|
||||
|
||||
@ -1831,7 +1820,7 @@ msgstr "Eboutic"
|
||||
msgid "sellers"
|
||||
msgstr "vendeurs"
|
||||
|
||||
#: counter/models.py:123 counter/models.py:279 counter/models.py:293
|
||||
#: counter/models.py:123 counter/models.py:309 counter/models.py:323
|
||||
#: launderette/models.py:16
|
||||
msgid "counter"
|
||||
msgstr "comptoir"
|
||||
@ -1848,11 +1837,11 @@ msgstr "est validé"
|
||||
msgid "refilling"
|
||||
msgstr "rechargement"
|
||||
|
||||
#: counter/models.py:240 eboutic/models.py:133
|
||||
#: counter/models.py:240 eboutic/models.py:103
|
||||
msgid "unit price"
|
||||
msgstr "prix unitaire"
|
||||
|
||||
#: counter/models.py:241 counter/models.py:318 eboutic/models.py:134
|
||||
#: counter/models.py:241 counter/models.py:348 eboutic/models.py:104
|
||||
msgid "quantity"
|
||||
msgstr "quantité"
|
||||
|
||||
@ -1860,9 +1849,9 @@ msgstr "quantité"
|
||||
msgid "Sith account"
|
||||
msgstr "Compte utilisateur"
|
||||
|
||||
#: counter/models.py:246 sith/settings.py:277 sith/settings.py:282
|
||||
#: sith/settings.py:304 sith/settings_sample.py:266
|
||||
#: sith/settings_sample.py:271 sith/settings_sample.py:293
|
||||
#: counter/models.py:246 sith/settings.py:278 sith/settings.py:283
|
||||
#: sith/settings.py:305 sith/settings_sample.py:267
|
||||
#: sith/settings_sample.py:272 sith/settings_sample.py:294
|
||||
msgid "Credit card"
|
||||
msgstr "Carte bancaire"
|
||||
|
||||
@ -1870,35 +1859,35 @@ msgstr "Carte bancaire"
|
||||
msgid "selling"
|
||||
msgstr "vente"
|
||||
|
||||
#: counter/models.py:282
|
||||
#: counter/models.py:312
|
||||
msgid "last activity date"
|
||||
msgstr "dernière activité"
|
||||
|
||||
#: counter/models.py:285
|
||||
#: counter/models.py:315
|
||||
msgid "permanency"
|
||||
msgstr "permanence"
|
||||
|
||||
#: counter/models.py:296
|
||||
#: counter/models.py:326
|
||||
msgid "emptied"
|
||||
msgstr "coffre vidée"
|
||||
|
||||
#: counter/models.py:299
|
||||
#: counter/models.py:329
|
||||
msgid "cash register summary"
|
||||
msgstr "relevé de caisse"
|
||||
|
||||
#: counter/models.py:316
|
||||
#: counter/models.py:346
|
||||
msgid "cash summary"
|
||||
msgstr "relevé"
|
||||
|
||||
#: counter/models.py:317
|
||||
#: counter/models.py:347
|
||||
msgid "value"
|
||||
msgstr "valeur"
|
||||
|
||||
#: counter/models.py:319
|
||||
#: counter/models.py:349
|
||||
msgid "check"
|
||||
msgstr "chèque"
|
||||
|
||||
#: counter/models.py:322
|
||||
#: counter/models.py:352
|
||||
msgid "cash register summary item"
|
||||
msgstr "élément de relevé de caisse"
|
||||
|
||||
@ -1907,23 +1896,6 @@ msgstr "élément de relevé de caisse"
|
||||
msgid "Make a cash register summary"
|
||||
msgstr "Faire un relevé de caisse"
|
||||
|
||||
#: counter/templates/counter/counter_base.jinja:5
|
||||
msgid "Counter administration"
|
||||
msgstr "Administration des comptoirs"
|
||||
|
||||
#: counter/templates/counter/counter_base.jinja:16
|
||||
msgid "Products"
|
||||
msgstr "Produits"
|
||||
|
||||
#: counter/templates/counter/counter_base.jinja:21
|
||||
#: counter/templates/counter/product_list.jinja:10
|
||||
msgid "Archived products"
|
||||
msgstr "Produits archivés"
|
||||
|
||||
#: counter/templates/counter/counter_base.jinja:26
|
||||
msgid "Product types"
|
||||
msgstr "Types de produit"
|
||||
|
||||
#: counter/templates/counter/counter_click.jinja:29
|
||||
msgid "Customer"
|
||||
msgstr "Client"
|
||||
@ -2033,7 +2005,7 @@ msgid "Barman: "
|
||||
msgstr "Barman : "
|
||||
|
||||
#: counter/templates/counter/product_list.jinja:4
|
||||
#: counter/templates/counter/product_list.jinja:13
|
||||
#: counter/templates/counter/product_list.jinja:12
|
||||
msgid "Product list"
|
||||
msgstr "Liste des produits"
|
||||
|
||||
@ -2041,7 +2013,7 @@ msgstr "Liste des produits"
|
||||
msgid "New product"
|
||||
msgstr "Nouveau produit"
|
||||
|
||||
#: counter/templates/counter/product_list.jinja:23
|
||||
#: counter/templates/counter/product_list.jinja:22
|
||||
msgid "There is no products in this website."
|
||||
msgstr "Il n'y a pas de produits dans ce site web."
|
||||
|
||||
@ -2071,8 +2043,8 @@ msgid "Bad credentials"
|
||||
msgstr "Mauvais identifiants"
|
||||
|
||||
#: counter/views.py:85
|
||||
msgid "User is not subscriber"
|
||||
msgstr "L'utilisateur n'est pas cotisant."
|
||||
msgid "User is not barman"
|
||||
msgstr "L'utilisateur n'est pas barman."
|
||||
|
||||
#: counter/views.py:265
|
||||
msgid "END"
|
||||
@ -2086,65 +2058,81 @@ msgstr "ANN"
|
||||
msgid "You have not enough money to buy all the basket"
|
||||
msgstr "Vous n'avez pas assez d'argent pour acheter le panier"
|
||||
|
||||
#: counter/views.py:508
|
||||
#: counter/views.py:387
|
||||
msgid "Counter administration"
|
||||
msgstr "Administration des comptoirs"
|
||||
|
||||
#: counter/views.py:397
|
||||
msgid "Products"
|
||||
msgstr "Produits"
|
||||
|
||||
#: counter/views.py:402
|
||||
msgid "Archived products"
|
||||
msgstr "Produits archivés"
|
||||
|
||||
#: counter/views.py:407
|
||||
msgid "Product types"
|
||||
msgstr "Types de produit"
|
||||
|
||||
#: counter/views.py:523
|
||||
msgid "Parent product"
|
||||
msgstr "Produit parent"
|
||||
|
||||
#: counter/views.py:509
|
||||
#: counter/views.py:524
|
||||
msgid "Buying groups"
|
||||
msgstr "Groupes d'achat"
|
||||
|
||||
#: counter/views.py:576
|
||||
#: counter/views.py:593
|
||||
msgid "10 cents"
|
||||
msgstr "10 centimes"
|
||||
|
||||
#: counter/views.py:577
|
||||
#: counter/views.py:594
|
||||
msgid "20 cents"
|
||||
msgstr "20 centimes"
|
||||
|
||||
#: counter/views.py:578
|
||||
#: counter/views.py:595
|
||||
msgid "50 cents"
|
||||
msgstr "50 centimes"
|
||||
|
||||
#: counter/views.py:579
|
||||
#: counter/views.py:596
|
||||
msgid "1 euro"
|
||||
msgstr "1 €"
|
||||
|
||||
#: counter/views.py:580
|
||||
#: counter/views.py:597
|
||||
msgid "2 euros"
|
||||
msgstr "2 €"
|
||||
|
||||
#: counter/views.py:581
|
||||
#: counter/views.py:598
|
||||
msgid "5 euros"
|
||||
msgstr "5 €"
|
||||
|
||||
#: counter/views.py:582
|
||||
#: counter/views.py:599
|
||||
msgid "10 euros"
|
||||
msgstr "10 €"
|
||||
|
||||
#: counter/views.py:583
|
||||
#: counter/views.py:600
|
||||
msgid "20 euros"
|
||||
msgstr "20 €"
|
||||
|
||||
#: counter/views.py:584
|
||||
#: counter/views.py:601
|
||||
msgid "50 euros"
|
||||
msgstr "50 €"
|
||||
|
||||
#: counter/views.py:585
|
||||
#: counter/views.py:602
|
||||
msgid "100 euros"
|
||||
msgstr "100 €"
|
||||
|
||||
#: counter/views.py:586 counter/views.py:588 counter/views.py:590
|
||||
#: counter/views.py:592 counter/views.py:594
|
||||
#: counter/views.py:603 counter/views.py:605 counter/views.py:607
|
||||
#: counter/views.py:609 counter/views.py:611
|
||||
msgid "Check amount"
|
||||
msgstr "Montant du chèque"
|
||||
|
||||
#: counter/views.py:587 counter/views.py:589 counter/views.py:591
|
||||
#: counter/views.py:593 counter/views.py:595
|
||||
#: counter/views.py:604 counter/views.py:606 counter/views.py:608
|
||||
#: counter/views.py:610 counter/views.py:612
|
||||
msgid "Check quantity"
|
||||
msgstr "Nombre de chèque"
|
||||
|
||||
#: counter/views.py:597
|
||||
#: counter/views.py:614
|
||||
msgid "Emptied"
|
||||
msgstr "Coffre vidé"
|
||||
|
||||
@ -2156,19 +2144,19 @@ msgstr "validé"
|
||||
msgid "Invoice already validated"
|
||||
msgstr "Facture déjà validée"
|
||||
|
||||
#: eboutic/models.py:130
|
||||
#: eboutic/models.py:100
|
||||
msgid "product id"
|
||||
msgstr "ID du produit"
|
||||
|
||||
#: eboutic/models.py:131
|
||||
#: eboutic/models.py:101
|
||||
msgid "product name"
|
||||
msgstr "nom du produit"
|
||||
|
||||
#: eboutic/models.py:132
|
||||
#: eboutic/models.py:102
|
||||
msgid "product type id"
|
||||
msgstr "id du type du produit"
|
||||
|
||||
#: eboutic/models.py:143
|
||||
#: eboutic/models.py:113
|
||||
msgid "basket"
|
||||
msgstr "panier"
|
||||
|
||||
@ -2292,12 +2280,12 @@ msgid "Washing and drying"
|
||||
msgstr "Lavage et séchage"
|
||||
|
||||
#: launderette/templates/launderette/launderette_book.jinja:26
|
||||
#: sith/settings.py:418 sith/settings_sample.py:407
|
||||
#: sith/settings.py:419 sith/settings_sample.py:408
|
||||
msgid "Washing"
|
||||
msgstr "Lavage"
|
||||
|
||||
#: launderette/templates/launderette/launderette_book.jinja:30
|
||||
#: sith/settings.py:418 sith/settings_sample.py:407
|
||||
#: sith/settings.py:419 sith/settings_sample.py:408
|
||||
msgid "Drying"
|
||||
msgstr "Séchage"
|
||||
|
||||
@ -2352,120 +2340,119 @@ msgstr "L'utilisateur n'a pas réservé de créneau"
|
||||
msgid "Token not found"
|
||||
msgstr "Jeton non trouvé"
|
||||
|
||||
#: sith/settings.py:172 sith/settings_sample.py:162
|
||||
#: sith/settings.py:173 sith/settings_sample.py:162
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: sith/settings.py:173 sith/settings_sample.py:163
|
||||
#: sith/settings.py:174 sith/settings_sample.py:163
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: sith/settings.py:274 sith/settings.py:281 sith/settings.py:302
|
||||
#: sith/settings_sample.py:263 sith/settings_sample.py:270
|
||||
#: sith/settings_sample.py:291
|
||||
#: sith/settings.py:275 sith/settings.py:282 sith/settings.py:303
|
||||
#: sith/settings_sample.py:264 sith/settings_sample.py:271
|
||||
#: sith/settings_sample.py:292
|
||||
msgid "Check"
|
||||
msgstr "Chèque"
|
||||
|
||||
#: sith/settings.py:275 sith/settings.py:283 sith/settings.py:303
|
||||
#: sith/settings_sample.py:264 sith/settings_sample.py:272
|
||||
#: sith/settings_sample.py:292
|
||||
#: sith/settings.py:276 sith/settings.py:284 sith/settings.py:304
|
||||
#: sith/settings_sample.py:265 sith/settings_sample.py:273
|
||||
#: sith/settings_sample.py:293
|
||||
msgid "Cash"
|
||||
msgstr "Espèces"
|
||||
|
||||
#: sith/settings.py:276 sith/settings_sample.py:265
|
||||
#: sith/settings.py:277 sith/settings_sample.py:266
|
||||
msgid "Transfert"
|
||||
msgstr "Virement"
|
||||
|
||||
#: sith/settings.py:289 sith/settings_sample.py:278
|
||||
#: sith/settings.py:290 sith/settings_sample.py:279
|
||||
msgid "Belfort"
|
||||
msgstr "Belfort"
|
||||
|
||||
#: sith/settings.py:290 sith/settings_sample.py:279
|
||||
#: sith/settings.py:291 sith/settings_sample.py:280
|
||||
msgid "Sevenans"
|
||||
msgstr "Sevenans"
|
||||
|
||||
#: sith/settings.py:291 sith/settings_sample.py:280
|
||||
#: sith/settings.py:292 sith/settings_sample.py:281
|
||||
msgid "Montbéliard"
|
||||
msgstr "Montbéliard"
|
||||
|
||||
#: sith/settings.py:331 sith/settings_sample.py:320
|
||||
#: sith/settings.py:332 sith/settings_sample.py:321
|
||||
msgid "One semester"
|
||||
msgstr "Un semestre, 15 €"
|
||||
|
||||
#: sith/settings.py:336 sith/settings_sample.py:325
|
||||
#: sith/settings.py:337 sith/settings_sample.py:326
|
||||
msgid "Two semesters"
|
||||
msgstr "Deux semestres, 28 €"
|
||||
|
||||
#: sith/settings.py:341 sith/settings_sample.py:330
|
||||
#: sith/settings.py:342 sith/settings_sample.py:331
|
||||
msgid "Common core cursus"
|
||||
msgstr "Cursus tronc commun, 45 €"
|
||||
|
||||
#: sith/settings.py:346 sith/settings_sample.py:335
|
||||
#: sith/settings_sample.py:340
|
||||
#: sith/settings.py:347 sith/settings_sample.py:336
|
||||
msgid "Branch cursus"
|
||||
msgstr "Cursus branche, 45 €"
|
||||
|
||||
#: sith/settings.py:351
|
||||
#: sith/settings.py:352 sith/settings_sample.py:341
|
||||
msgid "Alternating cursus"
|
||||
msgstr "Cursus alternant, 30 €"
|
||||
|
||||
#: sith/settings.py:356 sith/settings_sample.py:345
|
||||
#: sith/settings.py:357 sith/settings_sample.py:346
|
||||
msgid "Honorary member"
|
||||
msgstr "Membre honoraire, 0 €"
|
||||
|
||||
#: sith/settings.py:361 sith/settings_sample.py:350
|
||||
#: sith/settings.py:362 sith/settings_sample.py:351
|
||||
msgid "Assidu member"
|
||||
msgstr "Membre d'Assidu, 0 €"
|
||||
|
||||
#: sith/settings.py:366 sith/settings_sample.py:355
|
||||
#: sith/settings.py:367 sith/settings_sample.py:356
|
||||
msgid "Amicale/DOCEO member"
|
||||
msgstr "Membre de l'Amicale/DOCEO, 0 €"
|
||||
|
||||
#: sith/settings.py:371 sith/settings_sample.py:360
|
||||
#: sith/settings.py:372 sith/settings_sample.py:361
|
||||
msgid "UT network member"
|
||||
msgstr "Cotisant du réseau UT, 0 €"
|
||||
|
||||
#: sith/settings.py:376 sith/settings_sample.py:365
|
||||
#: sith/settings.py:377 sith/settings_sample.py:366
|
||||
msgid "CROUS member"
|
||||
msgstr "Membres du CROUS, 0 €"
|
||||
|
||||
#: sith/settings.py:381 sith/settings_sample.py:370
|
||||
#: sith/settings.py:382 sith/settings_sample.py:371
|
||||
msgid "Sbarro/ESTA member"
|
||||
msgstr "Membre de Sbarro ou de l'ESTA, 15 €"
|
||||
|
||||
#: sith/settings.py:389 sith/settings_sample.py:378
|
||||
#: sith/settings.py:390 sith/settings_sample.py:379
|
||||
msgid "President"
|
||||
msgstr "Président"
|
||||
|
||||
#: sith/settings.py:390 sith/settings_sample.py:379
|
||||
#: sith/settings.py:391 sith/settings_sample.py:380
|
||||
msgid "Vice-President"
|
||||
msgstr "Vice-Président"
|
||||
|
||||
#: sith/settings.py:391 sith/settings_sample.py:380
|
||||
#: sith/settings.py:392 sith/settings_sample.py:381
|
||||
msgid "Treasurer"
|
||||
msgstr "Trésorier"
|
||||
|
||||
#: sith/settings.py:392 sith/settings_sample.py:381
|
||||
#: sith/settings.py:393 sith/settings_sample.py:382
|
||||
msgid "Communication supervisor"
|
||||
msgstr "Responsable com"
|
||||
|
||||
#: sith/settings.py:393 sith/settings_sample.py:382
|
||||
#: sith/settings.py:394 sith/settings_sample.py:383
|
||||
msgid "Secretary"
|
||||
msgstr "Secrétaire"
|
||||
|
||||
#: sith/settings.py:394 sith/settings_sample.py:383
|
||||
#: sith/settings.py:395 sith/settings_sample.py:384
|
||||
msgid "IT supervisor"
|
||||
msgstr "Responsable info"
|
||||
|
||||
#: sith/settings.py:395 sith/settings_sample.py:384
|
||||
#: sith/settings.py:396 sith/settings_sample.py:385
|
||||
msgid "Board member"
|
||||
msgstr "Membre du bureau"
|
||||
|
||||
#: sith/settings.py:396 sith/settings_sample.py:385
|
||||
#: sith/settings.py:397 sith/settings_sample.py:386
|
||||
msgid "Active member"
|
||||
msgstr "Membre actif"
|
||||
|
||||
#: sith/settings.py:397 sith/settings_sample.py:386
|
||||
#: sith/settings.py:398 sith/settings_sample.py:387
|
||||
msgid "Curious"
|
||||
msgstr "Curieux"
|
||||
|
||||
@ -2509,3 +2496,9 @@ msgstr "Un utilisateur avec cette adresse email existe déjà"
|
||||
msgid "You must either choose an existing user or create a new one properly"
|
||||
msgstr ""
|
||||
"Vous devez soit choisir un utilisateur existant, ou en créer un proprement."
|
||||
|
||||
#~ msgid "Edit club"
|
||||
#~ msgstr "Éditer le club"
|
||||
|
||||
#~ msgid "Edit club properties"
|
||||
#~ msgstr "Éditer les propriétés du club"
|
||||
|
Loading…
Reference in New Issue
Block a user