Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
AE
Sith
Commits
1b4324f3
Commit
1b4324f3
authored
Jul 18, 2016
by
Skia
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add french translation file
parent
beebe636
Pipeline
#57
failed with stage
in 1 minute and 8 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
483 additions
and
25 deletions
+483
-25
club/migrations/0002_auto_20160718_1456.py
club/migrations/0002_auto_20160718_1456.py
+19
-0
club/models.py
club/models.py
+1
-1
counter/views.py
counter/views.py
+2
-2
locale/fr/LC_MESSAGES/django.mo
locale/fr/LC_MESSAGES/django.mo
+0
-0
locale/fr/LC_MESSAGES/django.po
locale/fr/LC_MESSAGES/django.po
+433
-0
sith/settings_sample.py
sith/settings_sample.py
+28
-22
No files found.
club/migrations/0002_auto_20160718_1456.py
0 → 100644
View file @
1b4324f3
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'club'
,
'0001_initial'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'membership'
,
name
=
'role'
,
field
=
models
.
IntegerField
(
verbose_name
=
'role'
,
default
=
0
,
choices
=
[(
0
,
'Curious'
),
(
1
,
'Active member'
),
(
2
,
'Board member'
),
(
3
,
'IT supervisor'
),
(
4
,
'Secretary'
),
(
5
,
'Communication supervisor'
),
(
7
,
'Treasurer'
),
(
9
,
'Vice-President'
),
(
10
,
'President'
)]),
),
]
club/models.py
View file @
1b4324f3
...
@@ -120,7 +120,7 @@ class Membership(models.Model):
...
@@ -120,7 +120,7 @@ class Membership(models.Model):
raise
ValidationError
(
_
(
'User is already member of that club'
))
raise
ValidationError
(
_
(
'User is already member of that club'
))
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
club
.
name
+
' - '
+
self
.
user
.
username
+
' - '
+
settings
.
SITH_CLUB_ROLES
[
self
.
role
]
+
str
(
return
self
.
club
.
name
+
' - '
+
self
.
user
.
username
+
' - '
+
str
(
settings
.
SITH_CLUB_ROLES
[
self
.
role
]
)
+
str
(
" - "
+
str
(
_
(
'past member'
))
if
self
.
end_date
is
not
None
else
""
" - "
+
str
(
_
(
'past member'
))
if
self
.
end_date
is
not
None
else
""
)
)
...
...
counter/views.py
View file @
1b4324f3
...
@@ -191,9 +191,9 @@ class CounterClick(DetailView):
...
@@ -191,9 +191,9 @@ class CounterClick(DetailView):
def
parse_code
(
self
,
request
):
def
parse_code
(
self
,
request
):
"""Parse the string entered by the barman"""
"""Parse the string entered by the barman"""
string
=
str
(
request
.
POST
[
'code'
]).
upper
()
string
=
str
(
request
.
POST
[
'code'
]).
upper
()
if
string
==
_
(
"
FIN
"
):
if
string
==
_
(
"
END
"
):
return
self
.
finish
(
request
)
return
self
.
finish
(
request
)
elif
string
==
_
(
"A
N
N"
):
elif
string
==
_
(
"
C
AN"
):
return
self
.
cancel
(
request
)
return
self
.
cancel
(
request
)
regex
=
re
.
compile
(
r
"^((?P<nb>[0-9]+)X)?(?P<code>[A-Z0-9]+)$"
)
regex
=
re
.
compile
(
r
"^((?P<nb>[0-9]+)X)?(?P<code>[A-Z0-9]+)$"
)
m
=
regex
.
match
(
string
)
m
=
regex
.
match
(
string
)
...
...
locale/fr/LC_MESSAGES/django.mo
0 → 100644
View file @
1b4324f3
File added
locale/fr/LC_MESSAGES/django.po
0 → 100644
View file @
1b4324f3
# Sith AE french translation file
# Copyright (C) 2016
# This file is distributed under the same license as the Sith package.
# Skia <skia@libskia.so>, 2016
#
msgid
""
msgstr
""
"Report-Msgid-Bugs-To:
\n
"
"POT-Creation-Date: 2016-07-18 15:44+0000
\n
"
"PO-Revision-Date: 2016-07-18
\n
"
"Last-Translator: Skia <skia@libskia.so>
\n
"
"Language-Team: AE info <ae.info@utbm.fr>
\n
"
"Language:
\n
"
"MIME-Version: 1.0
\n
"
"Content-Type: text/plain; charset=UTF-8
\n
"
"Content-Transfer-Encoding: 8bit
\n
"
"Plural-Forms: nplurals=2; plural=(n > 1);
\n
"
#: accounting/models.py:29 accounting/models.py:52 accounting/models.py:91
#: club/models.py:18 counter/models.py:35 counter/models.py:54
#: counter/models.py:76
msgid
"name"
msgstr
"nom"
#: accounting/models.py:30
msgid
"iban"
msgstr
"IBAN"
#: accounting/models.py:31
msgid
"account number"
msgstr
"numero de compte"
#: accounting/models.py:89 club/models.py:109 counter/models.py:211
msgid
"start date"
msgstr
"date de début"
#: accounting/models.py:90 club/models.py:110 counter/models.py:212
msgid
"end date"
msgstr
"date de fin"
#: accounting/models.py:92
msgid
"is closed"
msgstr
"est fermé"
#: accounting/models.py:94 accounting/models.py:132 counter/models.py:21
#: counter/models.py:159
msgid
"amount"
msgstr
"montant"
#: accounting/models.py:95
msgid
"effective_amount"
msgstr
"montant effectif"
#: accounting/models.py:133 core/models.py:456 counter/models.py:162
#: counter/models.py:190
msgid
"date"
msgstr
"date"
#: accounting/models.py:134 accounting/models.py:182
msgid
"label"
msgstr
"intitulé"
#: accounting/models.py:135
msgid
"remark"
msgstr
"remarque"
#: accounting/models.py:136 counter/models.py:163 subscription/models.py:34
msgid
"payment method"
msgstr
"méthode de paiement"
#: accounting/models.py:137
msgid
"cheque number"
msgstr
"numéro de chèque"
#: accounting/models.py:139
msgid
"is done"
msgstr
"est fait"
#: accounting/models.py:181 counter/models.py:57
msgid
"code"
msgstr
"code"
#: accounting/models.py:183
msgid
"movement type"
msgstr
"type de mouvement"
#: club/models.py:20
msgid
"unix name"
msgstr
"nom unix"
#: club/models.py:24
msgid
""
"Enter a valid unix name. This value may contain only letters, numbers ./-/_ "
"characters."
msgstr
""
"Entrez un nom UNIX valide. Cette valeur peut contenir uniquement des "
"lettres, des nombres, et les caractères ./-/_"
#: club/models.py:29
msgid
"A club with that unix name already exists."
msgstr
"Un club avec ce nom UNIX existe déjà."
#: club/models.py:32
msgid
"address"
msgstr
"Adresse"
#: club/models.py:45
msgid
"You can not make loops in clubs"
msgstr
"Vous ne pouvez pas faire de boucles dans les clubs"
#: club/models.py:111
msgid
"role"
msgstr
"rôle"
#: club/models.py:113 core/models.py:27 counter/models.py:36
#: counter/models.py:55
msgid
"description"
msgstr
"description"
#: club/models.py:118
msgid
"User must be subscriber to take part to a club"
msgstr
"L'utilisateur doit être cotisant pour faire partie d'un club"
#: club/models.py:120
msgid
"User is already member of that club"
msgstr
"L'utilisateur est déjà membre de ce club"
#: club/models.py:124
msgid
"past member"
msgstr
"Anciens membres"
#: core/models.py:23
msgid
"meta group status"
msgstr
"Status du meta-groupe"
#: core/models.py:25
msgid
"Whether a group is a meta group or not"
msgstr
"Si un groupe est un meta-groupe ou pas"
#: core/models.py:60
msgid
"username"
msgstr
"nom d'utilisateur"
#: core/models.py:63
msgid
"Required. 254 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr
""
"Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et @/./"
"+/-/_"
#: core/models.py:67
msgid
""
"Enter a valid username. This value may contain only letters, numbers and @/./"
"+/-/_ characters."
msgstr
""
"Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et @/./"
"+/-/_"
#: core/models.py:72
msgid
"A user with that username already exists."
msgstr
"Un utilisateur de ce nom existe déjà"
#: core/models.py:75
msgid
"first name"
msgstr
"Prénom"
#: core/models.py:76
msgid
"last name"
msgstr
"Nom"
#: core/models.py:77
msgid
"email address"
msgstr
"adresse email"
#: core/models.py:78
msgid
"date of birth"
msgstr
"date de naissance"
#: core/models.py:81
msgid
"staff status"
msgstr
"status
\"
staff
\"
"
#: core/models.py:83
msgid
"Designates whether the user can log into this admin site."
msgstr
"Est-ce que l'utilisateur peut se logger à la partie admin du site."
#: core/models.py:86
msgid
"active"
msgstr
"actif"
#: core/models.py:89
msgid
""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr
""
"Est-ce que l'utilisateur doit être traité comme actif. Déselectionnez au "
"lieu de supprimer les comptes."
#: core/models.py:93
msgid
"date joined"
msgstr
"date d'inscription"
#: core/models.py:95
msgid
"superuser"
msgstr
"super-utilisateur"
#: core/models.py:98
msgid
"Designates whether this user is a superuser. "
msgstr
"Est-ce que l'utilisateur est super-utilisateur."
#: core/models.py:274
msgid
"Visitor"
msgstr
"Visiteur"
#: core/models.py:279
msgid
"define if we show a users stats"
msgstr
"Definit si l'on montre les statistiques de l'utilisateur"
#: core/models.py:281
msgid
"Show your account statistics to others"
msgstr
"Montrez vos statistiques de compte aux autres"
#: core/models.py:307 core/models.py:311
msgid
"page name"
msgstr
"nom de la page"
#: core/models.py:344
msgid
"Duplicate page"
msgstr
"Duppliquer la page"
#: core/models.py:350
msgid
"Loop in page tree"
msgstr
"Boucle dans l'arborescence des pages"
#: core/models.py:454
msgid
"page title"
msgstr
"titre de la page"
#: core/models.py:455
msgid
"page content"
msgstr
"contenu de la page"
#: core/templates/core/password_reset_email.jinja:2
#, python-format
# msgid ""
# "You're receiving this email because you requested a password reset for your "
# "user account at %(site_name)s."
# msgstr ""
# "Vous avez reçu cet email parce que vous avez demandé une réinitialisation du "
# "mot de passe pour votre compte sur le site %(site_name)."
#: core/templates/core/password_reset_email.jinja:4
msgid
"Please go to the following page and choose a new password:"
msgstr
""
"Merci de vous rendre sur la page suivante et de choisir un nouveau mot de "
"passe :"
#: core/templates/core/password_reset_email.jinja:8
msgid
"Your username, in case you've forgotten: "
msgstr
"Votre nom d'utilisateur, en cas d'oubli :"
#: core/templates/core/password_reset_email.jinja:10
msgid
"Thanks for using our site! "
msgstr
"Merci d'utiliser notre site!"
#: core/templates/core/password_reset_email.jinja:12
#, python-format
msgid
"The %(site_name)s team"
msgstr
"L'équipe de %(site_name)s"
#: counter/models.py:20
msgid
"account id"
msgstr
"numéro de compte"
#: counter/models.py:24
msgid
"customer"
msgstr
"client"
#: counter/models.py:25
msgid
"customers"
msgstr
"clients"
#: counter/models.py:58
msgid
"purchase price"
msgstr
"prix d'achat"
#: counter/models.py:59
msgid
"selling price"
msgstr
"prix de vente"
#: counter/models.py:60
msgid
"special selling price"
msgstr
"prix de vente spécial"
#: counter/models.py:79 subscription/models.py:29
msgid
"subscription type"
msgstr
"type d'inscription"
#: counter/models.py:81
msgid
"Bar"
msgstr
"Bar"
#: counter/models.py:81
msgid
"Office"
msgstr
"Bureau"
#: counter/models.py:165
msgid
"bank"
msgstr
"banque"
#: counter/models.py:186
msgid
"unit price"
msgstr
"prix unitaire"
#: counter/models.py:187
msgid
"quantity"
msgstr
"quantité"
#: counter/views.py:194
msgid
"END"
msgstr
"FIN"
#: counter/views.py:196
msgid
"CAN"
msgstr
"ANN"
#: sith/settings.py:227 sith/settings.py:234 sith/settings.py:246
#: sith/settings_sample.py:227 sith/settings_sample.py:234
#: sith/settings_sample.py:246
msgid
"Check"
msgstr
"Chèque"
#: sith/settings.py:228 sith/settings.py:235 sith/settings.py:247
#: sith/settings_sample.py:228 sith/settings_sample.py:235
#: sith/settings_sample.py:247
msgid
"Cash"
msgstr
"Espèces"
#: sith/settings.py:229 sith/settings_sample.py:229
msgid
"Transfert"
msgstr
"Virement"
#: sith/settings.py:230 sith/settings_sample.py:230
msgid
"Credit card"
msgstr
"Carte banquaire"
#: sith/settings.py:236 sith/settings_sample.py:236
msgid
"Other"
msgstr
"Autre"
#: sith/settings.py:260 sith/settings_sample.py:260
msgid
"One semester"
msgstr
"Un semestre"
#: sith/settings.py:265 sith/settings_sample.py:265
msgid
"Two semesters"
msgstr
"Deux semestres"
#: sith/settings.py:270 sith/settings_sample.py:270
msgid
"Common core cursus"
msgstr
"Cursus tronc commun"
#: sith/settings.py:275 sith/settings_sample.py:275
msgid
"Branch cursus"
msgstr
"Cursus branche"
#: sith/settings.py:283 sith/settings_sample.py:283
msgid
"President"
msgstr
"Président"
#: sith/settings.py:284 sith/settings_sample.py:284
msgid
"Vice-President"
msgstr
"Vice-Président"
#: sith/settings.py:285 sith/settings_sample.py:285
msgid
"Treasurer"
msgstr
"Trésorier"
#: sith/settings.py:286 sith/settings_sample.py:286
msgid
"Communication supervisor"
msgstr
"Responsable com"
#: sith/settings.py:287 sith/settings_sample.py:287
msgid
"Secretary"
msgstr
"Secrétaire"
#: sith/settings.py:288 sith/settings_sample.py:288
msgid
"IT supervisor"
msgstr
"Responsable info"
#: sith/settings.py:289 sith/settings_sample.py:289
msgid
"Board member"
msgstr
"Membre du bureau"
#: sith/settings.py:290 sith/settings_sample.py:290
msgid
"Active member"
msgstr
"Membre actif"
#: sith/settings.py:291 sith/settings_sample.py:291
msgid
"Curious"
msgstr
"Curieux"
#: subscription/models.py:13
msgid
"Bad subscription type"
msgstr
"Mauvais type de cotisation"
#: subscription/models.py:17
msgid
"Bad payment method"
msgstr
"Mauvais type de paiement"
#: subscription/models.py:32
msgid
"subscription start"
msgstr
"début de la cotisation"
#: subscription/models.py:33
msgid
"subscription end"
msgstr
"fin de la cotisation"
#: subscription/models.py:47
msgid
"You can not subscribe many time for the same period"
msgstr
"Vous ne pouvez pas cotiser plusieurs fois pour la même période"
#: subscription/models.py:51
msgid
"You are trying to create a subscription without member"
msgstr
"Vous essayez de créer une cotisation sans membre"
#: subscription/views.py:41
msgid
"A user with that email address already exists"
msgstr
"Un utilisateur avec cette adresse email existe déjà"
#: subscription/views.py:56
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."
sith/settings_sample.py
View file @
1b4324f3
...
@@ -12,6 +12,7 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
...
@@ -12,6 +12,7 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import
os
import
os
from
django.utils.translation
import
ugettext_lazy
as
_
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)))
BASE_DIR
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
)))
...
@@ -52,6 +53,7 @@ MIDDLEWARE_CLASSES = (
...
@@ -52,6 +53,7 @@ MIDDLEWARE_CLASSES = (
'django.contrib.auth.middleware.AuthenticationMiddleware'
,
'django.contrib.auth.middleware.AuthenticationMiddleware'
,
'django.contrib.auth.middleware.SessionAuthenticationMiddleware'
,
'django.contrib.auth.middleware.SessionAuthenticationMiddleware'
,
'django.contrib.messages.middleware.MessageMiddleware'
,
'django.contrib.messages.middleware.MessageMiddleware'
,
'django.middleware.locale.LocaleMiddleware'
,
'django.middleware.clickjacking.XFrameOptionsMiddleware'
,
'django.middleware.clickjacking.XFrameOptionsMiddleware'
,
'django.middleware.security.SecurityMiddleware'
,
'django.middleware.security.SecurityMiddleware'
,
'core.middleware.AuthenticationMiddleware'
,
'core.middleware.AuthenticationMiddleware'
,
...
@@ -152,6 +154,10 @@ USE_L10N = True
...
@@ -152,6 +154,10 @@ USE_L10N = True
USE_TZ
=
True
USE_TZ
=
True
LOCALE_PATHS
=
(
os
.
path
.
join
(
BASE_DIR
,
"locale"
),
)
# Medias
# Medias
MEDIA_ROOT
=
'./data/'
MEDIA_ROOT
=
'./data/'
MEDIA_URL
=
'/data/'
MEDIA_URL
=
'/data/'
...
@@ -218,16 +224,16 @@ SITH_MAIN_BOARD_GROUP=SITH_MAIN_CLUB['unix_name']+SITH_BOARD_SUFFIX
...
@@ -218,16 +224,16 @@ SITH_MAIN_BOARD_GROUP=SITH_MAIN_CLUB['unix_name']+SITH_BOARD_SUFFIX
SITH_MAIN_MEMBERS_GROUP
=
SITH_MAIN_CLUB
[
'unix_name'
]
+
SITH_MEMBER_SUFFIX
SITH_MAIN_MEMBERS_GROUP
=
SITH_MAIN_CLUB
[
'unix_name'
]
+
SITH_MEMBER_SUFFIX
SITH_ACCOUNTING_PAYMENT_METHOD
=
[
SITH_ACCOUNTING_PAYMENT_METHOD
=
[
(
'cheque'
,
'Ch
èque'
),
(
'cheque'
,
_
(
'Ch
eck'
)
),
(
'cash'
,
'Espèce'
),
(
'cash'
,
_
(
'Cash'
)
),
(
'transfert'
,
'Viremen
t'
),
(
'transfert'
,
_
(
'Transfer
t'
)
)
,
(
'card'
,
'Carte banquaire'
),
(
'card'
,
_
(
'Credit card'
)
),
]
]
SITH_SUBSCRIPTION_PAYMENT_METHOD
=
[
SITH_SUBSCRIPTION_PAYMENT_METHOD
=
[
(
'cheque'
,
'Ch
èque'
),
(
'cheque'
,
_
(
'Ch
eck'
)
),
(
'cash'
,
'Espèce'
),
(
'cash'
,
_
(
'Cash'
)
),
(
'other'
,
'Autre'
),
(
'other'
,
_
(
'Other'
)
),
]
]
SITH_COUNTER_BARS
=
[
SITH_COUNTER_BARS
=
[
...
@@ -237,8 +243,8 @@ SITH_COUNTER_BARS = [
...
@@ -237,8 +243,8 @@ SITH_COUNTER_BARS = [
]
]
SITH_COUNTER_PAYMENT_METHOD
=
[
SITH_COUNTER_PAYMENT_METHOD
=
[
(
'cheque'
,
'Ch
èque'
),
(
'cheque'
,
_
(
'Ch
eck'
)
),
(
'cash'
,
'Espèce'
),
(
'cash'
,
_
(
'Cash'
)
),
]
]
SITH_COUNTER_BANK
=
[
SITH_COUNTER_BANK
=
[
...
@@ -251,22 +257,22 @@ SITH_COUNTER_BANK = [
...
@@ -251,22 +257,22 @@ SITH_COUNTER_BANK = [
# Subscription durations are in semestres (should be settingized)
# Subscription durations are in semestres (should be settingized)
SITH_SUBSCRIPTIONS
=
{
SITH_SUBSCRIPTIONS
=
{
'un-semestre'
:
{
'un-semestre'
:
{
'name'
:
'Un
semest
re'
,
'name'
:
_
(
'One
semest
er'
)
,
'price'
:
15
,
'price'
:
15
,
'duration'
:
1
,
'duration'
:
1
,
},
},
'deux-semestres'
:
{
'deux-semestres'
:
{
'name'
:
'Deux
semest
r
es'
,
'name'
:
_
(
'Two
semeste
r
s'
)
,
'price'
:
28
,
'price'
:
28
,
'duration'
:
2
,
'duration'
:
2
,
},
},
'cursus-tronc-commun'
:
{
'cursus-tronc-commun'
:
{
'name'
:
'Cursus Tronc Commun'
,
'name'
:
_
(
'Common core cursus'
)
,
'price'
:
45
,
'price'
:
45
,
'duration'
:
4
,
'duration'
:
4
,
},
},
'cursus-branche'
:
{
'cursus-branche'
:
{
'name'
:
'Cursus Branche'
,
'name'
:
_
(
'Branch cursus'
)
,
'price'
:
45
,
'price'
:
45
,
'duration'
:
6
,
'duration'
:
6
,
},
},
...
@@ -274,15 +280,15 @@ SITH_SUBSCRIPTIONS = {
...
@@ -274,15 +280,15 @@ SITH_SUBSCRIPTIONS = {
}
}
SITH_CLUB_ROLES
=
{
SITH_CLUB_ROLES
=
{
10
:
'Pr
é
sident'
,
10
:
_
(
'Pr
e
sident'
)
,
9
:
'Vice-Pr
é
sident'
,
9
:
_
(
'Vice-Pr
e
sident'
)
,
7
:
'Tr
ésori
er'
,
7
:
_
(
'Tr
easur
er'
)
,
5
:
'Responsable com'
,
5
:
_
(
'Communication supervisor'
)
,
4
:
'Secr
é
ta
ire'
,
4
:
_
(
'Secr
e
ta
ry'
)
,
3
:
'Responsable info'
,
3
:
_
(
'IT supervisor'
)
,
2
:
'Membre du bureau'
,
2
:
_
(
'Board member'
)
,
1
:
'Membre actif'
,
1
:
_
(
'Active member'
)
,
0
:
'Curi
eux'
,
0
:
_
(
'Curi
ous'
)
,
}
}