mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-09-12 09:13:08 +00:00
Merge branch 'advanced_search_email_state' into 'dev'
Add email state filter in advanced search See merge request re2o/re2o!501
This commit is contained in:
commit
90dab4a380
16 changed files with 166 additions and 125 deletions
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2019-01-07 01:37+0100\n"
|
"PO-Revision-Date: 2019-01-07 01:37+0100\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language: fr_FR\n"
|
"Language: fr_FR\n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-23 16:01+0200\n"
|
"PO-Revision-Date: 2018-06-23 16:01+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-23 16:35+0200\n"
|
"PO-Revision-Date: 2018-06-23 16:35+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2019-11-16 00:22+0100\n"
|
"PO-Revision-Date: 2019-11-16 00:22+0100\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-19 03:09+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-24 15:54+0200\n"
|
"PO-Revision-Date: 2018-06-24 15:54+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -166,7 +166,8 @@ def contains_filter(attribute, word, case_sensitive=False):
|
||||||
|
|
||||||
|
|
||||||
def search_single_word(word, filters, user, start, end,
|
def search_single_word(word, filters, user, start, end,
|
||||||
user_state, aff, case_sensitive=False):
|
user_state, email_state, aff,
|
||||||
|
case_sensitive=False):
|
||||||
""" Construct the correct filters to match differents fields of some models
|
""" Construct the correct filters to match differents fields of some models
|
||||||
with the given query according to the given filters.
|
with the given query according to the given filters.
|
||||||
The match field are either CharField or IntegerField that will be displayed
|
The match field are either CharField or IntegerField that will be displayed
|
||||||
|
@ -199,6 +200,9 @@ def search_single_word(word, filters, user, start, end,
|
||||||
filter_clubs &= Q(state__in=user_state)
|
filter_clubs &= Q(state__in=user_state)
|
||||||
filter_users &= Q(state__in=user_state)
|
filter_users &= Q(state__in=user_state)
|
||||||
|
|
||||||
|
filter_clubs &= Q(email_state__in=email_state)
|
||||||
|
filter_users &= Q(email_state__in=email_state)
|
||||||
|
|
||||||
filters["users"] |= filter_users
|
filters["users"] |= filter_users
|
||||||
filters["clubs"] |= filter_clubs
|
filters["clubs"] |= filter_clubs
|
||||||
|
|
||||||
|
@ -207,7 +211,8 @@ def search_single_word(word, filters, user, start, end,
|
||||||
filter_machines = (
|
filter_machines = (
|
||||||
contains_filter("name", word, case_sensitive)
|
contains_filter("name", word, case_sensitive)
|
||||||
| (contains_filter("user__pseudo", word, case_sensitive)
|
| (contains_filter("user__pseudo", word, case_sensitive)
|
||||||
& Q(user__state__in=user_state))
|
& Q(user__state__in=user_state)
|
||||||
|
& Q(user__email_state__in=email_state))
|
||||||
| contains_filter("interface__domain__name", word, case_sensitive)
|
| contains_filter("interface__domain__name", word, case_sensitive)
|
||||||
| contains_filter("interface__domain__related_domain__name",
|
| contains_filter("interface__domain__related_domain__name",
|
||||||
word, case_sensitive)
|
word, case_sensitive)
|
||||||
|
@ -228,6 +233,7 @@ def search_single_word(word, filters, user, start, end,
|
||||||
filter_factures = (
|
filter_factures = (
|
||||||
contains_filter("user__pseudo", word, case_sensitive)
|
contains_filter("user__pseudo", word, case_sensitive)
|
||||||
& Q(user__state__in=user_state)
|
& Q(user__state__in=user_state)
|
||||||
|
& Q(user__email_state__in=email_state)
|
||||||
)
|
)
|
||||||
if start is not None:
|
if start is not None:
|
||||||
filter_factures &= Q(date__gte=start)
|
filter_factures &= Q(date__gte=start)
|
||||||
|
@ -240,6 +246,7 @@ def search_single_word(word, filters, user, start, end,
|
||||||
filter_bans = (
|
filter_bans = (
|
||||||
contains_filter("user__pseudo", word, case_sensitive)
|
contains_filter("user__pseudo", word, case_sensitive)
|
||||||
& Q(user__state__in=user_state)
|
& Q(user__state__in=user_state)
|
||||||
|
& Q(user__email_state__in=email_state)
|
||||||
) | contains_filter("raison", word, case_sensitive)
|
) | contains_filter("raison", word, case_sensitive)
|
||||||
if start is not None:
|
if start is not None:
|
||||||
filter_bans &= (
|
filter_bans &= (
|
||||||
|
@ -260,6 +267,7 @@ def search_single_word(word, filters, user, start, end,
|
||||||
filter_whitelists = (
|
filter_whitelists = (
|
||||||
contains_filter("user__pseudo", word, case_sensitive)
|
contains_filter("user__pseudo", word, case_sensitive)
|
||||||
& Q(user__state__in=user_state)
|
& Q(user__state__in=user_state)
|
||||||
|
& Q(user__email_state__in=email_state)
|
||||||
) | contains_filter("raison", word, case_sensitive)
|
) | contains_filter("raison", word, case_sensitive)
|
||||||
if start is not None:
|
if start is not None:
|
||||||
filter_whitelists &= (
|
filter_whitelists &= (
|
||||||
|
@ -397,7 +405,7 @@ def apply_filters(filters, user, aff):
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
def search_single_query(query, filters, user, start, end, user_state, aff):
|
def search_single_query(query, filters, user, start, end, user_state, email_state, aff):
|
||||||
""" Handle different queries an construct the correct filters using
|
""" Handle different queries an construct the correct filters using
|
||||||
search_single_word"""
|
search_single_word"""
|
||||||
if query.operator == "+":
|
if query.operator == "+":
|
||||||
|
@ -406,7 +414,8 @@ def search_single_query(query, filters, user, start, end, user_state, aff):
|
||||||
for q in query.subqueries:
|
for q in query.subqueries:
|
||||||
# Construct an independent filter for each subquery
|
# Construct an independent filter for each subquery
|
||||||
subfilters = search_single_query(q, empty_filters(), user,
|
subfilters = search_single_query(q, empty_filters(), user,
|
||||||
start, end, user_state, aff)
|
start, end, user_state,
|
||||||
|
email_state, aff)
|
||||||
|
|
||||||
# Apply the subfilter
|
# Apply the subfilter
|
||||||
for field in filter_fields():
|
for field in filter_fields():
|
||||||
|
@ -420,7 +429,8 @@ def search_single_query(query, filters, user, start, end, user_state, aff):
|
||||||
|
|
||||||
# Handle standard queries
|
# Handle standard queries
|
||||||
return search_single_word(query.text, filters, user, start, end,
|
return search_single_word(query.text, filters, user, start, end,
|
||||||
user_state, aff, query.case_sensitive)
|
user_state, email_state, aff,
|
||||||
|
query.case_sensitive)
|
||||||
|
|
||||||
|
|
||||||
def create_queries(query):
|
def create_queries(query):
|
||||||
|
|
|
@ -37,6 +37,12 @@ CHOICES_USER = (
|
||||||
("4", _("Fully archived")),
|
("4", _("Fully archived")),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
CHOICES_EMAILS = (
|
||||||
|
("0", _("Confirmed")),
|
||||||
|
("1", _("Not confirmed")),
|
||||||
|
("2", _("Waiting for email confirmation")),
|
||||||
|
)
|
||||||
|
|
||||||
CHOICES_AFF = (
|
CHOICES_AFF = (
|
||||||
("0", _("Users")),
|
("0", _("Users")),
|
||||||
("1", _("Machines")),
|
("1", _("Machines")),
|
||||||
|
@ -93,6 +99,13 @@ class SearchFormPlus(Form):
|
||||||
choices=CHOICES_USER,
|
choices=CHOICES_USER,
|
||||||
initial=initial_choices(CHOICES_USER),
|
initial=initial_choices(CHOICES_USER),
|
||||||
)
|
)
|
||||||
|
m = forms.MultipleChoiceField(
|
||||||
|
label=_("Email state filter"),
|
||||||
|
required=False,
|
||||||
|
widget=forms.CheckboxSelectMultiple,
|
||||||
|
choices=CHOICES_EMAILS,
|
||||||
|
initial=initial_choices(CHOICES_EMAILS),
|
||||||
|
)
|
||||||
a = forms.MultipleChoiceField(
|
a = forms.MultipleChoiceField(
|
||||||
label=_("Display filter"),
|
label=_("Display filter"),
|
||||||
required=False,
|
required=False,
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-24 20:10+0200\n"
|
"PO-Revision-Date: 2018-06-24 20:10+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -51,43 +51,55 @@ msgid "Fully archived"
|
||||||
msgstr "Complètement archivés"
|
msgstr "Complètement archivés"
|
||||||
|
|
||||||
#: search/forms.py:41
|
#: search/forms.py:41
|
||||||
|
msgid "Confirmed"
|
||||||
|
msgstr "Confirmé"
|
||||||
|
|
||||||
|
#: search/forms.py:42
|
||||||
|
msgid "Not confirmed"
|
||||||
|
msgstr "Non confirmé"
|
||||||
|
|
||||||
|
#: search/forms.py:43
|
||||||
|
msgid "Waiting for email confirmation"
|
||||||
|
msgstr "En attente de confirmation du mail"
|
||||||
|
|
||||||
|
#: search/forms.py:47
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr "Utilisateurs"
|
msgstr "Utilisateurs"
|
||||||
|
|
||||||
#: search/forms.py:42
|
#: search/forms.py:48
|
||||||
msgid "Machines"
|
msgid "Machines"
|
||||||
msgstr "Machines"
|
msgstr "Machines"
|
||||||
|
|
||||||
#: search/forms.py:43
|
#: search/forms.py:49
|
||||||
msgid "Invoices"
|
msgid "Invoices"
|
||||||
msgstr "Factures"
|
msgstr "Factures"
|
||||||
|
|
||||||
#: search/forms.py:44
|
#: search/forms.py:50
|
||||||
msgid "Bans"
|
msgid "Bans"
|
||||||
msgstr "Bannissements"
|
msgstr "Bannissements"
|
||||||
|
|
||||||
#: search/forms.py:45
|
#: search/forms.py:51
|
||||||
msgid "Whitelists"
|
msgid "Whitelists"
|
||||||
msgstr "Accès gracieux"
|
msgstr "Accès gracieux"
|
||||||
|
|
||||||
#: search/forms.py:46
|
#: search/forms.py:52
|
||||||
msgid "Rooms"
|
msgid "Rooms"
|
||||||
msgstr "Chambres"
|
msgstr "Chambres"
|
||||||
|
|
||||||
#: search/forms.py:47
|
#: search/forms.py:53
|
||||||
msgid "Ports"
|
msgid "Ports"
|
||||||
msgstr "Ports"
|
msgstr "Ports"
|
||||||
|
|
||||||
#: search/forms.py:48
|
#: search/forms.py:54
|
||||||
msgid "Switches"
|
msgid "Switches"
|
||||||
msgstr "Commutateurs réseau"
|
msgstr "Commutateurs réseau"
|
||||||
|
|
||||||
#: search/forms.py:62 search/forms.py:78 search/templates/search/search.html:29
|
#: search/forms.py:68 search/forms.py:84 search/templates/search/search.html:29
|
||||||
#: search/templates/search/search.html:48
|
#: search/templates/search/search.html:51
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Rechercher"
|
msgstr "Rechercher"
|
||||||
|
|
||||||
#: search/forms.py:65 search/forms.py:81
|
#: search/forms.py:71 search/forms.py:87
|
||||||
msgid ""
|
msgid ""
|
||||||
"Use « » and «,» to specify distinct words, «\"query\"» for an exact search, "
|
"Use « » and «,» to specify distinct words, «\"query\"» for an exact search, "
|
||||||
"«\\» to escape a character and «+» to combine keywords."
|
"«\\» to escape a character and «+» to combine keywords."
|
||||||
|
@ -96,19 +108,23 @@ msgstr ""
|
||||||
"recherche exacte, «\\» pour échapper un caractère et «+» pour combiner des "
|
"recherche exacte, «\\» pour échapper un caractère et «+» pour combiner des "
|
||||||
"mots clés."
|
"mots clés."
|
||||||
|
|
||||||
#: search/forms.py:90
|
#: search/forms.py:96
|
||||||
msgid "Users filter"
|
msgid "Users filter"
|
||||||
msgstr "Filtre utilisateurs"
|
msgstr "Filtre utilisateurs"
|
||||||
|
|
||||||
#: search/forms.py:97
|
#: search/forms.py:103
|
||||||
|
msgid "Email state filter"
|
||||||
|
msgstr "Filtre mails"
|
||||||
|
|
||||||
|
#: search/forms.py:110
|
||||||
msgid "Display filter"
|
msgid "Display filter"
|
||||||
msgstr "Filtre affichage"
|
msgstr "Filtre affichage"
|
||||||
|
|
||||||
#: search/forms.py:103
|
#: search/forms.py:116
|
||||||
msgid "Start date"
|
msgid "Start date"
|
||||||
msgstr "Date de début"
|
msgstr "Date de début"
|
||||||
|
|
||||||
#: search/forms.py:104
|
#: search/forms.py:117
|
||||||
msgid "End date"
|
msgid "End date"
|
||||||
msgstr "Date de fin"
|
msgstr "Date de fin"
|
||||||
|
|
||||||
|
@ -176,6 +192,3 @@ msgstr "Recherche avancée"
|
||||||
|
|
||||||
#~ msgid "Unverified"
|
#~ msgid "Unverified"
|
||||||
#~ msgstr "Non-confirmé"
|
#~ msgstr "Non-confirmé"
|
||||||
|
|
||||||
#~ msgid "Waiting for email confirmation"
|
|
||||||
#~ msgstr "En attente de confirmation du mail"
|
|
||||||
|
|
|
@ -36,6 +36,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
{% if search_form.u %}
|
{% if search_form.u %}
|
||||||
{% include 'buttons/multiple_checkbox_alt.html' with field=search_form.u %}
|
{% include 'buttons/multiple_checkbox_alt.html' with field=search_form.u %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if search_form.m %}
|
||||||
|
{% include 'buttons/multiple_checkbox_alt.html' with field=search_form.m %}
|
||||||
|
{% endif %}
|
||||||
{% if search_form.a %}
|
{% if search_form.a %}
|
||||||
{% include 'buttons/multiple_checkbox_alt.html' with field=search_form.a %}
|
{% include 'buttons/multiple_checkbox_alt.html' with field=search_form.a %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -38,6 +38,7 @@ from search.forms import (
|
||||||
SearchForm,
|
SearchForm,
|
||||||
SearchFormPlus,
|
SearchFormPlus,
|
||||||
CHOICES_USER,
|
CHOICES_USER,
|
||||||
|
CHOICES_EMAILS,
|
||||||
CHOICES_AFF,
|
CHOICES_AFF,
|
||||||
initial_choices,
|
initial_choices,
|
||||||
)
|
)
|
||||||
|
@ -56,6 +57,7 @@ def get_results(query, request, params):
|
||||||
start = params.get("s", None)
|
start = params.get("s", None)
|
||||||
end = params.get("e", None)
|
end = params.get("e", None)
|
||||||
user_state = params.get("u", initial_choices(CHOICES_USER))
|
user_state = params.get("u", initial_choices(CHOICES_USER))
|
||||||
|
email_state = params.get("m", initial_choices(CHOICES_EMAILS))
|
||||||
aff = params.get("a", initial_choices(CHOICES_AFF))
|
aff = params.get("a", initial_choices(CHOICES_AFF))
|
||||||
|
|
||||||
filters = empty_filters()
|
filters = empty_filters()
|
||||||
|
@ -63,7 +65,7 @@ def get_results(query, request, params):
|
||||||
queries = create_queries(query)
|
queries = create_queries(query)
|
||||||
for q in queries:
|
for q in queries:
|
||||||
filters = search_single_query(
|
filters = search_single_query(
|
||||||
q, filters, request.user, start, end, user_state, aff
|
q, filters, request.user, start, end, user_state, email_state, aff
|
||||||
)
|
)
|
||||||
|
|
||||||
results = apply_filters(filters, request.user, aff)
|
results = apply_filters(filters, request.user, aff)
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
"PO-Revision-Date: 2018-03-31 16:09+0002\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2019-11-16 00:35+0100\n"
|
"PO-Revision-Date: 2019-11-16 00:35+0100\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-25 14:53+0200\n"
|
"PO-Revision-Date: 2018-06-25 14:53+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
|
|
@ -21,7 +21,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2.5\n"
|
"Project-Id-Version: 2.5\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-04-18 01:38+0200\n"
|
"POT-Creation-Date: 2020-04-19 17:12+0200\n"
|
||||||
"PO-Revision-Date: 2018-06-27 23:35+0200\n"
|
"PO-Revision-Date: 2018-06-27 23:35+0200\n"
|
||||||
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -39,7 +39,7 @@ msgstr "Vous n'avez pas le droit de voir cette application."
|
||||||
msgid "Current password"
|
msgid "Current password"
|
||||||
msgstr "Mot de passe actuel"
|
msgstr "Mot de passe actuel"
|
||||||
|
|
||||||
#: users/forms.py:83 users/forms.py:613 users/forms.py:641
|
#: users/forms.py:83 users/forms.py:628 users/forms.py:656
|
||||||
msgid "New password"
|
msgid "New password"
|
||||||
msgstr "Nouveau mot de passe"
|
msgstr "Nouveau mot de passe"
|
||||||
|
|
||||||
|
@ -55,12 +55,12 @@ msgstr "Les nouveaux mots de passe ne correspondent pas."
|
||||||
msgid "The current password is incorrect."
|
msgid "The current password is incorrect."
|
||||||
msgstr "Le mot de passe actuel est incorrect."
|
msgstr "Le mot de passe actuel est incorrect."
|
||||||
|
|
||||||
#: users/forms.py:132 users/forms.py:189 users/forms.py:410
|
#: users/forms.py:132 users/forms.py:189 users/forms.py:425
|
||||||
#: users/models.py:1893
|
#: users/models.py:1894
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Mot de passe"
|
msgstr "Mot de passe"
|
||||||
|
|
||||||
#: users/forms.py:138 users/forms.py:192 users/forms.py:417
|
#: users/forms.py:138 users/forms.py:192 users/forms.py:432
|
||||||
msgid "Password confirmation"
|
msgid "Password confirmation"
|
||||||
msgstr "Confirmation du mot de passe"
|
msgstr "Confirmation du mot de passe"
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ msgid "You can't use an internal address as your external address."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous ne pouvez pas utiliser une adresse interne pour votre adresse externe."
|
"Vous ne pouvez pas utiliser une adresse interne pour votre adresse externe."
|
||||||
|
|
||||||
#: users/forms.py:169 users/forms.py:212 users/forms.py:491
|
#: users/forms.py:169 users/forms.py:212 users/forms.py:506
|
||||||
msgid "The passwords don't match."
|
msgid "The passwords don't match."
|
||||||
msgstr "Les mots de passe ne correspondent pas."
|
msgstr "Les mots de passe ne correspondent pas."
|
||||||
|
|
||||||
|
@ -114,36 +114,36 @@ msgstr "Prénom"
|
||||||
msgid "Surname"
|
msgid "Surname"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
#: users/forms.py:329 users/forms.py:551 users/models.py:1893
|
#: users/forms.py:329 users/forms.py:566 users/models.py:1894
|
||||||
#: users/templates/users/aff_emailaddress.html:36
|
#: users/templates/users/aff_emailaddress.html:36
|
||||||
#: users/templates/users/profil.html:209
|
#: users/templates/users/profil.html:209
|
||||||
msgid "Email address"
|
msgid "Email address"
|
||||||
msgstr "Adresse mail"
|
msgstr "Adresse mail"
|
||||||
|
|
||||||
#: users/forms.py:330 users/forms.py:549 users/forms.py:694
|
#: users/forms.py:330 users/forms.py:564 users/forms.py:709
|
||||||
#: users/templates/users/aff_schools.html:37
|
#: users/templates/users/aff_schools.html:37
|
||||||
#: users/templates/users/profil.html:230
|
#: users/templates/users/profil.html:230
|
||||||
msgid "School"
|
msgid "School"
|
||||||
msgstr "Établissement"
|
msgstr "Établissement"
|
||||||
|
|
||||||
#: users/forms.py:331 users/forms.py:550
|
#: users/forms.py:331 users/forms.py:565
|
||||||
#: users/templates/users/aff_serviceusers.html:34
|
#: users/templates/users/aff_serviceusers.html:34
|
||||||
#: users/templates/users/profil.html:235
|
#: users/templates/users/profil.html:235
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Commentaire"
|
msgstr "Commentaire"
|
||||||
|
|
||||||
#: users/forms.py:333 users/forms.py:553
|
#: users/forms.py:333 users/forms.py:568
|
||||||
#: users/templates/users/aff_clubs.html:40
|
#: users/templates/users/aff_clubs.html:40
|
||||||
#: users/templates/users/aff_users.html:41
|
#: users/templates/users/aff_users.html:41
|
||||||
#: users/templates/users/profil.html:214
|
#: users/templates/users/profil.html:214
|
||||||
msgid "Room"
|
msgid "Room"
|
||||||
msgstr "Chambre"
|
msgstr "Chambre"
|
||||||
|
|
||||||
#: users/forms.py:334 users/forms.py:554
|
#: users/forms.py:334 users/forms.py:569
|
||||||
msgid "No room"
|
msgid "No room"
|
||||||
msgstr "Pas de chambre"
|
msgstr "Pas de chambre"
|
||||||
|
|
||||||
#: users/forms.py:335 users/forms.py:555
|
#: users/forms.py:335 users/forms.py:570
|
||||||
msgid "Select a school"
|
msgid "Select a school"
|
||||||
msgstr "Sélectionnez un établissement"
|
msgstr "Sélectionnez un établissement"
|
||||||
|
|
||||||
|
@ -151,15 +151,15 @@ msgstr "Sélectionnez un établissement"
|
||||||
msgid "Force the move?"
|
msgid "Force the move?"
|
||||||
msgstr "Forcer le déménagement ?"
|
msgstr "Forcer le déménagement ?"
|
||||||
|
|
||||||
#: users/forms.py:361 users/forms.py:845
|
#: users/forms.py:361 users/forms.py:860
|
||||||
msgid "You can't use a {} address."
|
msgid "You can't use a {} address."
|
||||||
msgstr "Vous ne pouvez pas utiliser une adresse {}."
|
msgstr "Vous ne pouvez pas utiliser une adresse {}."
|
||||||
|
|
||||||
#: users/forms.py:371 users/forms.py:578
|
#: users/forms.py:371 users/forms.py:593
|
||||||
msgid "A valid telephone number is required."
|
msgid "A valid telephone number is required."
|
||||||
msgstr "Un numéro de téléphone valide est requis."
|
msgstr "Un numéro de téléphone valide est requis."
|
||||||
|
|
||||||
#: users/forms.py:390
|
#: users/forms.py:405
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this options is set, you will receive a link to set your initial password "
|
"If this options is set, you will receive a link to set your initial password "
|
||||||
"by email. If you do not have any means of accessing your emails, you can "
|
"by email. If you do not have any means of accessing your emails, you can "
|
||||||
|
@ -174,11 +174,11 @@ msgstr ""
|
||||||
"votre adresse dans les délais impartis, votre connexion sera automatiquement "
|
"votre adresse dans les délais impartis, votre connexion sera automatiquement "
|
||||||
"suspendue."
|
"suspendue."
|
||||||
|
|
||||||
#: users/forms.py:404
|
#: users/forms.py:419
|
||||||
msgid "Send password reset link by email."
|
msgid "Send password reset link by email."
|
||||||
msgstr "Envoyer le lien de modification du mot de passe par mail."
|
msgstr "Envoyer le lien de modification du mot de passe par mail."
|
||||||
|
|
||||||
#: users/forms.py:425
|
#: users/forms.py:440
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you already have an account, please use it. If your lost access to it, "
|
"If you already have an account, please use it. If your lost access to it, "
|
||||||
"please consider using the forgotten password button on the login page or "
|
"please consider using the forgotten password button on the login page or "
|
||||||
|
@ -189,101 +189,101 @@ msgstr ""
|
||||||
"passe oublié est à votre disposition. Si vous avez oublié votre login, "
|
"passe oublié est à votre disposition. Si vous avez oublié votre login, "
|
||||||
"contactez le support."
|
"contactez le support."
|
||||||
|
|
||||||
#: users/forms.py:432
|
#: users/forms.py:447
|
||||||
msgid "I certify that I have not had an account before."
|
msgid "I certify that I have not had an account before."
|
||||||
msgstr "Je certifie sur l'honneur ne pas déjà avoir de compte."
|
msgstr "Je certifie sur l'honneur ne pas déjà avoir de compte."
|
||||||
|
|
||||||
#: users/forms.py:457
|
#: users/forms.py:472
|
||||||
msgid "I commit to accept the"
|
msgid "I commit to accept the"
|
||||||
msgstr "J'accepte les"
|
msgstr "J'accepte les"
|
||||||
|
|
||||||
#: users/forms.py:459
|
#: users/forms.py:474
|
||||||
msgid "General Terms of Use"
|
msgid "General Terms of Use"
|
||||||
msgstr "Conditions Générales d'Utilisation"
|
msgstr "Conditions Générales d'Utilisation"
|
||||||
|
|
||||||
#: users/forms.py:477
|
#: users/forms.py:492
|
||||||
msgid "Password must contain at least 8 characters."
|
msgid "Password must contain at least 8 characters."
|
||||||
msgstr "Le mot de passe doit contenir au moins 8 caractères."
|
msgstr "Le mot de passe doit contenir au moins 8 caractères."
|
||||||
|
|
||||||
#: users/forms.py:518
|
#: users/forms.py:533
|
||||||
msgid "Leave empty if you don't have any GPG key."
|
msgid "Leave empty if you don't have any GPG key."
|
||||||
msgstr "Laissez vide si vous n'avez pas de clé GPG."
|
msgstr "Laissez vide si vous n'avez pas de clé GPG."
|
||||||
|
|
||||||
#: users/forms.py:521
|
#: users/forms.py:536
|
||||||
msgid "Default shell"
|
msgid "Default shell"
|
||||||
msgstr "Interface en ligne de commande par défaut"
|
msgstr "Interface en ligne de commande par défaut"
|
||||||
|
|
||||||
#: users/forms.py:548 users/templates/users/aff_clubs.html:36
|
#: users/forms.py:563 users/templates/users/aff_clubs.html:36
|
||||||
#: users/templates/users/aff_serviceusers.html:32
|
#: users/templates/users/aff_serviceusers.html:32
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
#: users/forms.py:556
|
#: users/forms.py:571
|
||||||
msgid "Use a mailing list"
|
msgid "Use a mailing list"
|
||||||
msgstr "Utiliser une liste de diffusion"
|
msgstr "Utiliser une liste de diffusion"
|
||||||
|
|
||||||
#: users/forms.py:662 users/templates/users/profil.html:277
|
#: users/forms.py:677 users/templates/users/profil.html:277
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "État"
|
msgstr "État"
|
||||||
|
|
||||||
#: users/forms.py:663
|
#: users/forms.py:678
|
||||||
msgid "Email state"
|
msgid "Email state"
|
||||||
msgstr "État du mail"
|
msgstr "État du mail"
|
||||||
|
|
||||||
#: users/forms.py:681 users/templates/users/aff_listright.html:38
|
#: users/forms.py:696 users/templates/users/aff_listright.html:38
|
||||||
msgid "Superuser"
|
msgid "Superuser"
|
||||||
msgstr "Superutilisateur"
|
msgstr "Superutilisateur"
|
||||||
|
|
||||||
#: users/forms.py:707
|
#: users/forms.py:722
|
||||||
msgid "Shell name"
|
msgid "Shell name"
|
||||||
msgstr "Nom de l'interface en ligne de commande"
|
msgstr "Nom de l'interface en ligne de commande"
|
||||||
|
|
||||||
#: users/forms.py:727
|
#: users/forms.py:742
|
||||||
msgid "Name of the group of rights"
|
msgid "Name of the group of rights"
|
||||||
msgstr "Nom du groupe de droits"
|
msgstr "Nom du groupe de droits"
|
||||||
|
|
||||||
#: users/forms.py:739
|
#: users/forms.py:754
|
||||||
msgid "GID. Warning: this field must not be edited after creation."
|
msgid "GID. Warning: this field must not be edited after creation."
|
||||||
msgstr "GID. Attention : ce champ ne doit pas être modifié après création."
|
msgstr "GID. Attention : ce champ ne doit pas être modifié après création."
|
||||||
|
|
||||||
#: users/forms.py:748
|
#: users/forms.py:763
|
||||||
msgid "Current groups of rights"
|
msgid "Current groups of rights"
|
||||||
msgstr "Groupes de droits actuels"
|
msgstr "Groupes de droits actuels"
|
||||||
|
|
||||||
#: users/forms.py:766
|
#: users/forms.py:781
|
||||||
msgid "Current schools"
|
msgid "Current schools"
|
||||||
msgstr "Établissements actuels"
|
msgstr "Établissements actuels"
|
||||||
|
|
||||||
#: users/forms.py:785 users/forms.py:800 users/templates/users/aff_bans.html:41
|
#: users/forms.py:800 users/forms.py:815 users/templates/users/aff_bans.html:41
|
||||||
#: users/templates/users/aff_whitelists.html:41
|
#: users/templates/users/aff_whitelists.html:41
|
||||||
msgid "End date"
|
msgid "End date"
|
||||||
msgstr "Date de fin"
|
msgstr "Date de fin"
|
||||||
|
|
||||||
#: users/forms.py:815
|
#: users/forms.py:830
|
||||||
msgid "Local part of the email address"
|
msgid "Local part of the email address"
|
||||||
msgstr "Partie locale de l'adresse mail"
|
msgstr "Partie locale de l'adresse mail"
|
||||||
|
|
||||||
#: users/forms.py:816
|
#: users/forms.py:831
|
||||||
msgid "Can't contain @."
|
msgid "Can't contain @."
|
||||||
msgstr "Ne peut pas contenir @."
|
msgstr "Ne peut pas contenir @."
|
||||||
|
|
||||||
#: users/forms.py:832
|
#: users/forms.py:847
|
||||||
msgid "Main email address"
|
msgid "Main email address"
|
||||||
msgstr "Adresse mail principale"
|
msgstr "Adresse mail principale"
|
||||||
|
|
||||||
#: users/forms.py:834
|
#: users/forms.py:849
|
||||||
msgid "Redirect local emails"
|
msgid "Redirect local emails"
|
||||||
msgstr "Rediriger les mails locaux"
|
msgstr "Rediriger les mails locaux"
|
||||||
|
|
||||||
#: users/forms.py:836
|
#: users/forms.py:851
|
||||||
msgid "Use local emails"
|
msgid "Use local emails"
|
||||||
msgstr "Utiliser les mails locaux"
|
msgstr "Utiliser les mails locaux"
|
||||||
|
|
||||||
#: users/forms.py:888
|
#: users/forms.py:903
|
||||||
msgid "This room is my room"
|
msgid "This room is my room"
|
||||||
msgstr "Il s'agit bien de ma chambre"
|
msgstr "Il s'agit bien de ma chambre"
|
||||||
|
|
||||||
#: users/forms.py:893
|
#: users/forms.py:908
|
||||||
msgid "This new connected device is mine"
|
msgid "This new connected device is mine"
|
||||||
msgstr "Ce nouvel appareil connecté m'appartient"
|
msgstr "Ce nouvel appareil connecté m'appartient"
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ msgstr "Non confirmé"
|
||||||
msgid "Waiting for email confirmation"
|
msgid "Waiting for email confirmation"
|
||||||
msgstr "En attente de confirmation"
|
msgstr "En attente de confirmation"
|
||||||
|
|
||||||
#: users/models.py:204 users/models.py:1549
|
#: users/models.py:204 users/models.py:1550
|
||||||
msgid "Must only contain letters, numerals or dashes."
|
msgid "Must only contain letters, numerals or dashes."
|
||||||
msgstr "Doit seulement contenir des lettres, chiffres ou tirets."
|
msgstr "Doit seulement contenir des lettres, chiffres ou tirets."
|
||||||
|
|
||||||
|
@ -487,7 +487,7 @@ msgstr "Vous n'avez pas le droit de voir ce club."
|
||||||
msgid "You don't have the right to view another user."
|
msgid "You don't have the right to view another user."
|
||||||
msgstr "Vous n'avez pas le droit de voir un autre utilisateur."
|
msgstr "Vous n'avez pas le droit de voir un autre utilisateur."
|
||||||
|
|
||||||
#: users/models.py:1283 users/models.py:1487
|
#: users/models.py:1283 users/models.py:1488
|
||||||
msgid "You don't have the right to view the list of users."
|
msgid "You don't have the right to view the list of users."
|
||||||
msgstr "Vous n'avez pas le droit de voir la liste des utilisateurs."
|
msgstr "Vous n'avez pas le droit de voir la liste des utilisateurs."
|
||||||
|
|
||||||
|
@ -527,183 +527,183 @@ msgstr "adhérents"
|
||||||
msgid "A GPG fingerprint must contain 40 hexadecimal characters."
|
msgid "A GPG fingerprint must contain 40 hexadecimal characters."
|
||||||
msgstr "Une empreinte GPG doit contenir 40 caractères hexadécimaux."
|
msgstr "Une empreinte GPG doit contenir 40 caractères hexadécimaux."
|
||||||
|
|
||||||
#: users/models.py:1400
|
#: users/models.py:1401
|
||||||
msgid "Self registration is disabled."
|
msgid "Self registration is disabled."
|
||||||
msgstr "L'auto inscription est désactivée."
|
msgstr "L'auto inscription est désactivée."
|
||||||
|
|
||||||
#: users/models.py:1410
|
#: users/models.py:1411
|
||||||
msgid "You don't have the right to create a user."
|
msgid "You don't have the right to create a user."
|
||||||
msgstr "Vous n'avez pas le droit de créer un utilisateur."
|
msgstr "Vous n'avez pas le droit de créer un utilisateur."
|
||||||
|
|
||||||
#: users/models.py:1440
|
#: users/models.py:1441
|
||||||
msgid "club"
|
msgid "club"
|
||||||
msgstr "club"
|
msgstr "club"
|
||||||
|
|
||||||
#: users/models.py:1441
|
#: users/models.py:1442
|
||||||
msgid "clubs"
|
msgid "clubs"
|
||||||
msgstr "clubs"
|
msgstr "clubs"
|
||||||
|
|
||||||
#: users/models.py:1452
|
#: users/models.py:1453
|
||||||
msgid "You must be authenticated."
|
msgid "You must be authenticated."
|
||||||
msgstr "Vous devez être authentifié."
|
msgstr "Vous devez être authentifié."
|
||||||
|
|
||||||
#: users/models.py:1460
|
#: users/models.py:1461
|
||||||
msgid "You don't have the right to create a club."
|
msgid "You don't have the right to create a club."
|
||||||
msgstr "Vous n'avez pas le droit de créer un club."
|
msgstr "Vous n'avez pas le droit de créer un club."
|
||||||
|
|
||||||
#: users/models.py:1553
|
#: users/models.py:1554
|
||||||
msgid "Comment."
|
msgid "Comment."
|
||||||
msgstr "Commentaire."
|
msgstr "Commentaire."
|
||||||
|
|
||||||
#: users/models.py:1559
|
#: users/models.py:1560
|
||||||
msgid "Can view a service user object"
|
msgid "Can view a service user object"
|
||||||
msgstr "Peut voir un objet utilisateur service"
|
msgstr "Peut voir un objet utilisateur service"
|
||||||
|
|
||||||
#: users/models.py:1560 users/views.py:356
|
#: users/models.py:1561 users/views.py:356
|
||||||
msgid "service user"
|
msgid "service user"
|
||||||
msgstr "utilisateur service"
|
msgstr "utilisateur service"
|
||||||
|
|
||||||
#: users/models.py:1561
|
#: users/models.py:1562
|
||||||
msgid "service users"
|
msgid "service users"
|
||||||
msgstr "utilisateurs service"
|
msgstr "utilisateurs service"
|
||||||
|
|
||||||
#: users/models.py:1565
|
#: users/models.py:1566
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Service user <{name}>"
|
msgid "Service user <{name}>"
|
||||||
msgstr "Utilisateur service <{name}>"
|
msgstr "Utilisateur service <{name}>"
|
||||||
|
|
||||||
#: users/models.py:1632
|
#: users/models.py:1633
|
||||||
msgid "Can view a school object"
|
msgid "Can view a school object"
|
||||||
msgstr "Peut voir un objet établissement"
|
msgstr "Peut voir un objet établissement"
|
||||||
|
|
||||||
#: users/models.py:1633
|
#: users/models.py:1634
|
||||||
msgid "school"
|
msgid "school"
|
||||||
msgstr "établissement"
|
msgstr "établissement"
|
||||||
|
|
||||||
#: users/models.py:1634
|
#: users/models.py:1635
|
||||||
msgid "schools"
|
msgid "schools"
|
||||||
msgstr "établissements"
|
msgstr "établissements"
|
||||||
|
|
||||||
#: users/models.py:1653
|
#: users/models.py:1654
|
||||||
msgid "UNIX group names can only contain lower case letters."
|
msgid "UNIX group names can only contain lower case letters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Les noms de groupe UNIX peuvent seulement contenir des lettres minuscules."
|
"Les noms de groupe UNIX peuvent seulement contenir des lettres minuscules."
|
||||||
|
|
||||||
#: users/models.py:1659
|
#: users/models.py:1660
|
||||||
msgid "Description."
|
msgid "Description."
|
||||||
msgstr "Description."
|
msgstr "Description."
|
||||||
|
|
||||||
#: users/models.py:1662
|
#: users/models.py:1663
|
||||||
msgid "Can view a group of rights object"
|
msgid "Can view a group of rights object"
|
||||||
msgstr "Peut voir un objet groupe de droits"
|
msgstr "Peut voir un objet groupe de droits"
|
||||||
|
|
||||||
#: users/models.py:1663
|
#: users/models.py:1664
|
||||||
msgid "group of rights"
|
msgid "group of rights"
|
||||||
msgstr "groupe de droits"
|
msgstr "groupe de droits"
|
||||||
|
|
||||||
#: users/models.py:1664
|
#: users/models.py:1665
|
||||||
msgid "groups of rights"
|
msgid "groups of rights"
|
||||||
msgstr "groupes de droits"
|
msgstr "groupes de droits"
|
||||||
|
|
||||||
#: users/models.py:1709
|
#: users/models.py:1710
|
||||||
msgid "Can view a shell object"
|
msgid "Can view a shell object"
|
||||||
msgstr "Peut voir un objet interface en ligne de commande"
|
msgstr "Peut voir un objet interface en ligne de commande"
|
||||||
|
|
||||||
#: users/models.py:1710 users/views.py:671
|
#: users/models.py:1711 users/views.py:671
|
||||||
msgid "shell"
|
msgid "shell"
|
||||||
msgstr "interface en ligne de commande"
|
msgstr "interface en ligne de commande"
|
||||||
|
|
||||||
#: users/models.py:1711
|
#: users/models.py:1712
|
||||||
msgid "shells"
|
msgid "shells"
|
||||||
msgstr "interfaces en ligne de commande"
|
msgstr "interfaces en ligne de commande"
|
||||||
|
|
||||||
#: users/models.py:1729
|
#: users/models.py:1730
|
||||||
msgid "HARD (no access)"
|
msgid "HARD (no access)"
|
||||||
msgstr "HARD (pas d'accès)"
|
msgstr "HARD (pas d'accès)"
|
||||||
|
|
||||||
#: users/models.py:1730
|
#: users/models.py:1731
|
||||||
msgid "SOFT (local access only)"
|
msgid "SOFT (local access only)"
|
||||||
msgstr "SOFT (accès local uniquement)"
|
msgstr "SOFT (accès local uniquement)"
|
||||||
|
|
||||||
#: users/models.py:1731
|
#: users/models.py:1732
|
||||||
msgid "RESTRICTED (speed limitation)"
|
msgid "RESTRICTED (speed limitation)"
|
||||||
msgstr "RESTRICTED (limitation de vitesse)"
|
msgstr "RESTRICTED (limitation de vitesse)"
|
||||||
|
|
||||||
#: users/models.py:1741
|
#: users/models.py:1742
|
||||||
msgid "Can view a ban object"
|
msgid "Can view a ban object"
|
||||||
msgstr "Peut voir un objet bannissement"
|
msgstr "Peut voir un objet bannissement"
|
||||||
|
|
||||||
#: users/models.py:1742 users/views.py:407
|
#: users/models.py:1743 users/views.py:407
|
||||||
msgid "ban"
|
msgid "ban"
|
||||||
msgstr "bannissement"
|
msgstr "bannissement"
|
||||||
|
|
||||||
#: users/models.py:1743
|
#: users/models.py:1744
|
||||||
msgid "bans"
|
msgid "bans"
|
||||||
msgstr "bannissements"
|
msgstr "bannissements"
|
||||||
|
|
||||||
#: users/models.py:1778
|
#: users/models.py:1779
|
||||||
msgid "You don't have the right to view other bans than yours."
|
msgid "You don't have the right to view other bans than yours."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit de voir d'autres bannissements que les vôtres."
|
"Vous n'avez pas le droit de voir d'autres bannissements que les vôtres."
|
||||||
|
|
||||||
#: users/models.py:1826
|
#: users/models.py:1827
|
||||||
msgid "Can view a whitelist object"
|
msgid "Can view a whitelist object"
|
||||||
msgstr "Peut voir un objet accès gracieux"
|
msgstr "Peut voir un objet accès gracieux"
|
||||||
|
|
||||||
#: users/models.py:1827
|
#: users/models.py:1828
|
||||||
msgid "whitelist (free of charge access)"
|
msgid "whitelist (free of charge access)"
|
||||||
msgstr "Accès gracieux"
|
msgstr "Accès gracieux"
|
||||||
|
|
||||||
#: users/models.py:1828
|
#: users/models.py:1829
|
||||||
msgid "whitelists (free of charge access)"
|
msgid "whitelists (free of charge access)"
|
||||||
msgstr "Accès gracieux"
|
msgstr "Accès gracieux"
|
||||||
|
|
||||||
#: users/models.py:1848
|
#: users/models.py:1849
|
||||||
msgid "You don't have the right to view other whitelists than yours."
|
msgid "You don't have the right to view other whitelists than yours."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit de voir d'autres accès gracieux que les vôtres."
|
"Vous n'avez pas le droit de voir d'autres accès gracieux que les vôtres."
|
||||||
|
|
||||||
#: users/models.py:2046
|
#: users/models.py:2047
|
||||||
msgid "User of the local email account."
|
msgid "User of the local email account."
|
||||||
msgstr "Utilisateur du compte mail local."
|
msgstr "Utilisateur du compte mail local."
|
||||||
|
|
||||||
#: users/models.py:2049
|
#: users/models.py:2050
|
||||||
msgid "Local part of the email address."
|
msgid "Local part of the email address."
|
||||||
msgstr "Partie locale de l'adresse mail."
|
msgstr "Partie locale de l'adresse mail."
|
||||||
|
|
||||||
#: users/models.py:2054
|
#: users/models.py:2055
|
||||||
msgid "Can view a local email account object"
|
msgid "Can view a local email account object"
|
||||||
msgstr "Peut voir un objet compte mail local"
|
msgstr "Peut voir un objet compte mail local"
|
||||||
|
|
||||||
#: users/models.py:2056
|
#: users/models.py:2057
|
||||||
msgid "local email account"
|
msgid "local email account"
|
||||||
msgstr "compte mail local"
|
msgstr "compte mail local"
|
||||||
|
|
||||||
#: users/models.py:2057
|
#: users/models.py:2058
|
||||||
msgid "local email accounts"
|
msgid "local email accounts"
|
||||||
msgstr "comptes mail locaux"
|
msgstr "comptes mail locaux"
|
||||||
|
|
||||||
#: users/models.py:2085 users/models.py:2120 users/models.py:2154
|
#: users/models.py:2086 users/models.py:2121 users/models.py:2155
|
||||||
#: users/models.py:2188
|
#: users/models.py:2189
|
||||||
msgid "The local email accounts are not enabled."
|
msgid "The local email accounts are not enabled."
|
||||||
msgstr "Les comptes mail locaux ne sont pas activés."
|
msgstr "Les comptes mail locaux ne sont pas activés."
|
||||||
|
|
||||||
#: users/models.py:2090
|
#: users/models.py:2091
|
||||||
msgid "You don't have the right to add a local email account to another user."
|
msgid "You don't have the right to add a local email account to another user."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit d'ajouter un compte mail local à un autre "
|
"Vous n'avez pas le droit d'ajouter un compte mail local à un autre "
|
||||||
"utilisateur."
|
"utilisateur."
|
||||||
|
|
||||||
#: users/models.py:2100
|
#: users/models.py:2101
|
||||||
msgid "You reached the limit of {} local email accounts."
|
msgid "You reached the limit of {} local email accounts."
|
||||||
msgstr "Vous avez atteint la limite de {} comptes mail locaux."
|
msgstr "Vous avez atteint la limite de {} comptes mail locaux."
|
||||||
|
|
||||||
#: users/models.py:2126
|
#: users/models.py:2127
|
||||||
msgid "You don't have the right to view another user's local email account."
|
msgid "You don't have the right to view another user's local email account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit de voir le compte mail local d'un autre utilisateur."
|
"Vous n'avez pas le droit de voir le compte mail local d'un autre utilisateur."
|
||||||
|
|
||||||
#: users/models.py:2146
|
#: users/models.py:2147
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can't delete a local email account whose local part is the same as the "
|
"You can't delete a local email account whose local part is the same as the "
|
||||||
"username."
|
"username."
|
||||||
|
@ -711,13 +711,13 @@ msgstr ""
|
||||||
"Vous ne pouvez pas supprimer un compte mail local dont la partie locale est "
|
"Vous ne pouvez pas supprimer un compte mail local dont la partie locale est "
|
||||||
"la même que le pseudo."
|
"la même que le pseudo."
|
||||||
|
|
||||||
#: users/models.py:2160
|
#: users/models.py:2161
|
||||||
msgid "You don't have the right to delete another user's local email account."
|
msgid "You don't have the right to delete another user's local email account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit de supprimer le compte mail local d'un autre "
|
"Vous n'avez pas le droit de supprimer le compte mail local d'un autre "
|
||||||
"utilisateur."
|
"utilisateur."
|
||||||
|
|
||||||
#: users/models.py:2180
|
#: users/models.py:2181
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can't edit a local email account whose local part is the same as the "
|
"You can't edit a local email account whose local part is the same as the "
|
||||||
"username."
|
"username."
|
||||||
|
@ -725,13 +725,13 @@ msgstr ""
|
||||||
"Vous ne pouvez pas modifier un compte mail local dont la partie locale est "
|
"Vous ne pouvez pas modifier un compte mail local dont la partie locale est "
|
||||||
"la même que le pseudo."
|
"la même que le pseudo."
|
||||||
|
|
||||||
#: users/models.py:2194
|
#: users/models.py:2195
|
||||||
msgid "You don't have the right to edit another user's local email account."
|
msgid "You don't have the right to edit another user's local email account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vous n'avez pas le droit de modifier le compte mail local d'un autre "
|
"Vous n'avez pas le droit de modifier le compte mail local d'un autre "
|
||||||
"utilisateur."
|
"utilisateur."
|
||||||
|
|
||||||
#: users/models.py:2203
|
#: users/models.py:2204
|
||||||
msgid "The local part must not contain @ or +."
|
msgid "The local part must not contain @ or +."
|
||||||
msgstr "La partie locale ne doit pas contenir @ ou +."
|
msgstr "La partie locale ne doit pas contenir @ ou +."
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue