From 90e47c9d7d3e4de0ac85f9d3186adbaeed1add35 Mon Sep 17 00:00:00 2001 From: Skia Date: Fri, 9 Sep 2016 01:54:26 +0200 Subject: [PATCH] Add a restriction on the counter login view to authorize only the sellers --- core/views/user.py | 2 + counter/views.py | 8 +- locale/fr/LC_MESSAGES/django.mo | Bin 33714 -> 33596 bytes locale/fr/LC_MESSAGES/django.po | 321 ++++++++++++++++---------------- 4 files changed, 163 insertions(+), 168 deletions(-) diff --git a/core/views/user.py b/core/views/user.py index 41224f64..a4d95ab7 100644 --- a/core/views/user.py +++ b/core/views/user.py @@ -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 diff --git a/counter/views.py b/counter/views.py index 77d1c26b..4e02bde4 100644 --- a/counter/views.py +++ b/counter/views.py @@ -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) diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index bec567e6a736c6af0a11d1905cc9fe3ed495d11a..18612421f378f38fe7b69b512b05536e306990d9 100644 GIT binary patch delta 12034 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 KEq_u}@c#i9u5YXW diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 6a0ae3fd..7b3022e6 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: AE info \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"