mirror of https://gitlab.crans.org/bde/nk20
Compare commits
20 Commits
11fbbca2a8
...
9a52c81bff
Author | SHA1 | Date |
---|---|---|
Alexandre Iooss | 9a52c81bff | |
Alexandre Iooss | 48d3e8960a | |
Alexandre Iooss | f6dfbb0b6c | |
Alexandre Iooss | c6e3a57801 | |
Alexandre Iooss | 40b826a375 | |
Alexandre Iooss | f0089d0bc5 | |
Alexandre Iooss | 5e75a56eda | |
Alexandre Iooss | d73f7c31a1 | |
Alexandre Iooss | 31f4105c9a | |
Alexandre Iooss | e9ae8531b8 | |
Alexandre Iooss | 7b40ee1ca4 | |
Alexandre Iooss | 53b496546d | |
Alexandre Iooss | 8c1cf754ed | |
Alexandre Iooss | efe833cec3 | |
Alexandre Iooss | ccfc37d226 | |
Yohann D'ANELLO | 764eaafb95 | |
Yohann D'ANELLO | 5846f03220 | |
Yohann D'ANELLO | 52e8b46aa2 | |
Yohann D'ANELLO | 29f84ea007 | |
Yohann D'ANELLO | 49bda926c6 |
|
@ -1,6 +1,6 @@
|
|||
DJANGO_APP_STAGE=prod
|
||||
# Only used in dev mode, change to "postgresql" if you want to use PostgreSQL in dev
|
||||
DJANGO_DEV_STORE_METHOD=sqllite
|
||||
DJANGO_DEV_STORE_METHOD=sqlite
|
||||
DJANGO_DB_HOST=localhost
|
||||
DJANGO_DB_NAME=note_db
|
||||
DJANGO_DB_USER=note
|
||||
|
@ -10,11 +10,15 @@ DJANGO_SECRET_KEY=CHANGE_ME
|
|||
DJANGO_SETTINGS_MODULE=note_kfet.settings
|
||||
CONTACT_EMAIL=tresorerie.bde@localhost
|
||||
NOTE_URL=localhost
|
||||
DOMAIN=localhost
|
||||
|
||||
# Config for mails. Only used in production
|
||||
NOTE_MAIL=notekfet@localhost
|
||||
EMAIL_HOST=smtp.localhost
|
||||
EMAIL_PORT=465
|
||||
EMAIL_PORT=25
|
||||
EMAIL_USER=notekfet@localhost
|
||||
EMAIL_PASSWORD=CHANGE_ME
|
||||
|
||||
# Wiki configuration
|
||||
WIKI_USER=NoteKfet2020
|
||||
WIKI_PASSWORD=
|
|
@ -40,6 +40,7 @@ secrets.py
|
|||
map.json
|
||||
*.log
|
||||
backups/
|
||||
static/
|
||||
media/
|
||||
|
||||
# Virtualenv
|
||||
|
|
|
@ -7,11 +7,6 @@ stages:
|
|||
before_script:
|
||||
- pip install tox
|
||||
|
||||
py36-django22:
|
||||
image: python:3.6
|
||||
stage: test
|
||||
script: tox -e py36-django22
|
||||
|
||||
py37-django22:
|
||||
image: python:3.7
|
||||
stage: test
|
||||
|
|
|
@ -107,7 +107,7 @@ On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout n
|
|||
et on renseigne des secrets et des paramètres :
|
||||
|
||||
DJANGO_APP_STAGE=dev # ou "prod"
|
||||
DJANGO_DEV_STORE_METHOD=sqllite # ou "postgres"
|
||||
DJANGO_DEV_STORE_METHOD=sqlite # ou "postgres"
|
||||
DJANGO_DB_HOST=localhost
|
||||
DJANGO_DB_NAME=note_db
|
||||
DJANGO_DB_USER=note
|
||||
|
@ -115,13 +115,13 @@ On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout n
|
|||
DJANGO_DB_PORT=
|
||||
DJANGO_SECRET_KEY=CHANGE_ME
|
||||
DJANGO_SETTINGS_MODULE="note_kfet.settings
|
||||
NOTE_URL=localhost # URL où accéder à la note
|
||||
DOMAIN=localhost # note.example.com
|
||||
CONTACT_EMAIL=tresorerie.bde@localhost
|
||||
NOTE_URL=localhost # URL où accéder à la note
|
||||
# Le reste n'est utile qu'en production, pour configurer l'envoi des mails
|
||||
NOTE_MAIL=notekfet@localhost
|
||||
EMAIL_HOST=smtp.localhost
|
||||
EMAIL_PORT=465
|
||||
EMAIL_PORT=25
|
||||
EMAIL_USER=notekfet@localhost
|
||||
EMAIL_PASSWORD=CHANGE_ME
|
||||
WIKI_USER=NoteKfet2020
|
||||
|
|
|
@ -68,10 +68,10 @@
|
|||
<a class="btn btn-success btn-sm my-1" id="validate_activity"> {% if activity.valid %}{% trans "invalidate"|capfirst %}{% else %}{% trans "validate"|capfirst %}{% endif %}</a>
|
||||
{% endif %}
|
||||
{% if ".change_"|has_perm:activity %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'activity:activity_update' pk=activity.pk %}"> {% trans "edit"|capfirst %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'activity:activity_update' pk=activity.pk %}" data-turbolinks="false"> {% trans "edit"|capfirst %}</a>
|
||||
{% endif %}
|
||||
{% if activity.activity_type.can_invite and not activity_started %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'activity:activity_invite' pk=activity.pk %}"> {% trans "Invite" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'activity:activity_invite' pk=activity.pk %}" data-turbolinks="false"> {% trans "Invite" %}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
|
@ -19,7 +19,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<a class="btn btn-primary" href="{% url 'activity:activity_create' %}">{% trans 'New activity' %}</a>
|
||||
<a class="btn btn-primary" href="{% url 'activity:activity_create' %}" data-turbolinks="false">{% trans 'New activity' %}</a>
|
||||
|
||||
<hr>
|
||||
|
|
@ -151,14 +151,21 @@ class ActivityEntryView(LoginRequiredMixin, TemplateView):
|
|||
first_name=F("note__noteuser__user__first_name"),
|
||||
username=F("note__noteuser__user__username"),
|
||||
note_name=F("name"),
|
||||
balance=F("note__balance"))\
|
||||
.filter(note__noteuser__isnull=False)\
|
||||
.filter(
|
||||
balance=F("note__balance"))
|
||||
|
||||
# Keep only users that have a note
|
||||
note_qs = note_qs.filter(note__noteuser__isnull=False)
|
||||
|
||||
# Keep only members
|
||||
note_qs = note_qs.filter(
|
||||
note__noteuser__user__memberships__club=activity.attendees_club,
|
||||
note__noteuser__user__memberships__date_start__lte=timezone.now(),
|
||||
note__noteuser__user__memberships__date_end__gte=timezone.now(),
|
||||
)\
|
||||
.filter(PermissionBackend.filter_queryset(self.request.user, Alias, "view"))
|
||||
)
|
||||
|
||||
# Filter with permission backend
|
||||
note_qs = note_qs.filter(PermissionBackend.filter_queryset(self.request.user, Alias, "view"))
|
||||
|
||||
if pattern:
|
||||
note_qs = note_qs.filter(
|
||||
Q(note__noteuser__user__first_name__regex=pattern)
|
||||
|
|
|
@ -50,7 +50,7 @@ class ProfileForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = Profile
|
||||
fields = '__all__'
|
||||
exclude = ('user', )
|
||||
exclude = ('user', 'email_confirmed', 'registration_valid', )
|
||||
|
||||
|
||||
class ClubForm(forms.ModelForm):
|
||||
|
|
|
@ -148,7 +148,7 @@ class Profile(models.Model):
|
|||
return str(self.user)
|
||||
|
||||
def send_email_validation_link(self):
|
||||
subject = "[Note Kfet]" + str(_("Activate your Note Kfet account"))
|
||||
subject = "[Note Kfet] " + str(_("Activate your Note Kfet account"))
|
||||
message = loader.render_to_string('registration/mails/email_validation_email.txt',
|
||||
{
|
||||
'user': self.user,
|
||||
|
|
|
@ -61,10 +61,10 @@
|
|||
{% if not club.weiclub %}
|
||||
<div class="card-footer text-center">
|
||||
{% if can_add_members %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'member:club_add_member' club_pk=club.pk %}"> {% trans "Add member" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'member:club_add_member' club_pk=club.pk %}" data-turbolinks="false"> {% trans "Add member" %}</a>
|
||||
{% endif %}
|
||||
{% if ".change_"|has_perm:club %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'member:club_update' pk=club.pk %}"> {% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'member:club_update' pk=club.pk %}" data-turbolinks="false"> {% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% url 'member:club_detail' club.pk as club_detail_url %}
|
||||
{%if request.path_info != club_detail_url %}
|
|
@ -6,7 +6,7 @@
|
|||
<div class="col-md-10 text-center">
|
||||
<input class="form-control mx-auto w-25" type="text" id="search_field"/>
|
||||
<hr>
|
||||
<a class="btn btn-primary text-center my-4" href="{% url 'member:club_create' %}">{% trans "Create club" %}</a>
|
||||
<a class="btn btn-primary text-center my-4" href="{% url 'member:club_create' %}" data-turbolinks="false">{% trans "Create club" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
|
@ -218,26 +218,18 @@ class Transaction(PolymorphicModel):
|
|||
# When source == destination, no money is transferred and no transaction is created
|
||||
return
|
||||
|
||||
self.log("Saving")
|
||||
# We save first the transaction, in case of the user has no right to transfer money
|
||||
super().save(*args, **kwargs)
|
||||
self.log("Saved")
|
||||
|
||||
# Save notes
|
||||
self.source.refresh_from_db()
|
||||
self.source.balance += diff_source
|
||||
self.source._force_save = True
|
||||
self.source.save()
|
||||
self.log("Source saved")
|
||||
self.destination.refresh_from_db()
|
||||
self.destination.balance += diff_dest
|
||||
self.destination._force_save = True
|
||||
self.destination.save()
|
||||
self.log("Destination saved")
|
||||
|
||||
def log(self, msg):
|
||||
with open("/tmp/log", "a") as f:
|
||||
f.write(msg + "\n")
|
||||
|
||||
def delete(self, **kwargs):
|
||||
"""
|
||||
|
|
|
@ -153,13 +153,20 @@ class ButtonTable(tables.Table):
|
|||
model = TransactionTemplate
|
||||
exclude = ('id',)
|
||||
|
||||
edit = tables.LinkColumn('note:template_update',
|
||||
args=[A('pk')],
|
||||
attrs={'td': {'class': 'col-sm-1'},
|
||||
'a': {'class': 'btn btn-sm btn-primary'}},
|
||||
text=_('edit'),
|
||||
accessor='pk',
|
||||
verbose_name=_("Edit"),)
|
||||
edit = tables.LinkColumn(
|
||||
'note:template_update',
|
||||
args=[A('pk')],
|
||||
attrs={
|
||||
'td': {'class': 'col-sm-1'},
|
||||
'a': {
|
||||
'class': 'btn btn-sm btn-primary',
|
||||
'data-turbolinks': 'false',
|
||||
}
|
||||
},
|
||||
text=_('edit'),
|
||||
accessor='pk',
|
||||
verbose_name=_("Edit"),
|
||||
)
|
||||
|
||||
delete_col = tables.TemplateColumn(template_code=DELETE_TEMPLATE,
|
||||
extra_context={"delete_trans": _('delete')},
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{% load pretty_money %}
|
||||
{% load i18n %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
@ -38,7 +39,7 @@
|
|||
--
|
||||
<p>
|
||||
Le BDE<br>
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,4 +1,5 @@
|
|||
{% load pretty_money %}
|
||||
{% load i18n %}
|
||||
|
||||
Bonjour {{ note.user.first_name }} {{ note.user.last_name }},
|
||||
|
||||
|
@ -20,4 +21,4 @@ virement bancaire.
|
|||
--
|
||||
Le BDE
|
||||
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
|
@ -1,4 +1,5 @@
|
|||
{% load pretty_money %}
|
||||
{% load i18n %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
@ -35,7 +36,7 @@
|
|||
--
|
||||
<p>
|
||||
Le BDE<br>
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,4 +1,5 @@
|
|||
{% load pretty_money %}
|
||||
{% load i18n %}
|
||||
|
||||
Nom | Prénom | Pseudo | Email | Solde | Durée
|
||||
---------------------+------------+-----------------+-----------------------------------+----------+-----------
|
||||
|
@ -9,4 +10,4 @@
|
|||
--
|
||||
Le BDE
|
||||
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
|
@ -1,5 +1,6 @@
|
|||
{% load pretty_money %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load i18n %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
@ -50,7 +51,7 @@
|
|||
--
|
||||
<p>
|
||||
Le BDE<br>
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -7,7 +7,7 @@
|
|||
<div class="col-md-10 text-center">
|
||||
<input class="form-control mx-auto w-25" type="text" id="search_field" placeholder="{% trans "Name of the button..." %}">
|
||||
<hr>
|
||||
<a class="btn btn-primary text-center my-1" href="{% url 'note:template_create' %}">{% trans "New button" %}</a>
|
||||
<a class="btn btn-primary text-center my-1" href="{% url 'note:template_create' %}" data-turbolinks="false">{% trans "New button" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
|
@ -65,8 +65,6 @@ class InstancedPermission:
|
|||
obj._force_delete = True
|
||||
Model.delete(obj)
|
||||
|
||||
with open("/tmp/log", "w") as f:
|
||||
f.write(str(obj) + ", " + str(obj.pk) + ", " + str(self.model.model_class().objects.filter(pk=0).exists()))
|
||||
return ret
|
||||
|
||||
if permission_type == self.type:
|
||||
|
|
|
@ -28,6 +28,12 @@ class SignUpForm(UserCreationForm):
|
|||
self.add_error("username", _("An alias with a similar name already exists."))
|
||||
return value
|
||||
|
||||
def clean_email(self):
|
||||
email = self.cleaned_data["email"]
|
||||
if User.objects.filter(email=email).exists():
|
||||
self.add_error("email", _("This email address is already used."))
|
||||
return email
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('first_name', 'last_name', 'username', 'email', )
|
||||
|
|
|
@ -36,6 +36,6 @@
|
|||
|
||||
--
|
||||
<p>
|
||||
{% trans "The Note Kfet team." %}
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "The Note Kfet team." %}<br>
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
||||
</p>
|
|
@ -13,4 +13,4 @@ https://{{ domain }}{% url 'registration:email_validation' uidb64=uid token=toke
|
|||
{% trans "Thanks" %},
|
||||
|
||||
{% trans "The Note Kfet team." %}
|
||||
Mail généré par la Note Kfet le {% now "j F Y à H:i:s" %}
|
||||
{% trans "Mail generated by the Note Kfet on the" %} {% now "j F Y à H:i:s" %}
|
|
@ -1 +1 @@
|
|||
Subproject commit 53098f8adcf085fdb0e8ff058a3035bd2d4977a3
|
||||
Subproject commit 2495128755f4d1fd803bfc3b641db8074fa65310
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
from django.contrib import admin
|
||||
from note_kfet.admin import admin_site
|
||||
from .forms import ProductForm
|
||||
|
||||
from .forms import ProductForm
|
||||
from .models import RemittanceType, Remittance, SogeCredit, Invoice, Product
|
||||
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ from django.db.models import Q
|
|||
from django.forms import Form
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import redirect
|
||||
from django.template.loader import render_to_string
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic import CreateView, UpdateView, DetailView
|
||||
|
@ -110,7 +109,6 @@ class InvoiceUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
|
|||
for field_name in f.fields:
|
||||
f.fields[field_name].disabled = True
|
||||
|
||||
|
||||
return context
|
||||
|
||||
def form_valid(self, form):
|
||||
|
|
|
@ -39,8 +39,8 @@ class WEIRegistrationForm(forms.ModelForm):
|
|||
'placeholder': 'Nom ...',
|
||||
},
|
||||
),
|
||||
"birth_date": DatePickerInput(options={'defaultDate':'2000-01-01',
|
||||
'minDate':'1900-01-01',
|
||||
"birth_date": DatePickerInput(options={'defaultDate': '2000-01-01',
|
||||
'minDate': '1900-01-01',
|
||||
'maxDate': '2100-01-01'}),
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,8 @@ class WEIRegistrationTable(tables.Table):
|
|||
text=_("Edit"),
|
||||
attrs={
|
||||
'a': {
|
||||
'class': 'btn btn-warning'
|
||||
'class': 'btn btn-warning',
|
||||
'data-turbolinks': 'false',
|
||||
}
|
||||
}
|
||||
)
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
</div>
|
||||
|
||||
<div class="card-footer text-center">
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:update_bus' pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_team' pk=object.pk %}">{% trans "Add team" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:update_bus' pk=object.pk %}" data-turbolinks="false">{% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_team' pk=object.pk %}" data-turbolinks="false">{% trans "Add team" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -12,8 +12,8 @@
|
|||
</div>
|
||||
|
||||
<div class="card-footer text-center">
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:update_bus' pk=bus.pk %}">{% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_team' pk=bus.pk %}">{% trans "Add team" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:update_bus' pk=bus.pk %}" data-turbolinks="false">{% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_team' pk=bus.pk %}" data-turbolinks="false">{% trans "Add team" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -59,16 +59,16 @@
|
|||
{% endif %}
|
||||
{% if club.is_current_wei %}
|
||||
{% if can_add_first_year_member %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_register_1A' wei_pk=club.pk %}"> {% trans "Register 1A" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_register_1A' wei_pk=club.pk %}" data-turbolinks="false"> {% trans "Register 1A" %}</a>
|
||||
{% endif %}
|
||||
{% if can_add_any_member %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_register_2A' wei_pk=club.pk %}"> {% trans "Register 2A+" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_register_2A' wei_pk=club.pk %}" data-turbolinks="false"> {% trans "Register 2A+" %}</a>
|
||||
{% endif %}
|
||||
{% if "wei.change_"|has_perm:club %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_update' pk=club.pk %}"> {% trans "Edit" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:wei_update' pk=club.pk %}" data-turbolinks="false"> {% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% if can_add_bus %}
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_bus' pk=club.pk %}"> {% trans "Add bus" %}</a>
|
||||
<a class="btn btn-primary btn-sm my-1" href="{% url 'wei:add_bus' pk=club.pk %}" data-turbolinks="false"> {% trans "Add bus" %}</a>
|
||||
{% endif %}
|
||||
{% url 'wei:wei_detail' club.pk as club_detail_url %}
|
||||
{%if request.path_info != club_detail_url %}
|
|
@ -13,11 +13,11 @@
|
|||
<div class="card-footer text-center">
|
||||
{% if not my_registration %}
|
||||
{% if not not_first_year %}
|
||||
<a href="{% url "wei:wei_register_1A_myself" wei_pk=club.pk %}"><button class="btn btn-success">{% trans "Register to the WEI! – 1A" %}</button></a>
|
||||
<a href="{% url "wei:wei_register_1A_myself" wei_pk=club.pk %}" data-turbolinks="false"><button class="btn btn-success">{% trans "Register to the WEI! – 1A" %}</button></a>
|
||||
{% endif %}
|
||||
<a href="{% url "wei:wei_register_2A_myself" wei_pk=club.pk %}"><button class="btn btn-success">{% trans "Register to the WEI! – 2A+" %}</button></a>
|
||||
<a href="{% url "wei:wei_register_2A_myself" wei_pk=club.pk %}" data-turbolinks="false"><button class="btn btn-success">{% trans "Register to the WEI! – 2A+" %}</button></a>
|
||||
{% else %}
|
||||
<a href="{% url "wei:wei_update_registration" pk=my_registration.pk %}"><button class="btn btn-warning">{% trans "Update my registration" %}</button></a>
|
||||
<a href="{% url "wei:wei_update_registration" pk=my_registration.pk %}" data-turbolinks="false"><button class="btn btn-warning">{% trans "Update my registration" %}</button></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
|
@ -125,7 +125,7 @@
|
|||
</dl>
|
||||
</div>
|
||||
<div class="card-footer text-center">
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'wei:wei_update_registration' registration.pk %}">{% trans 'Update registration' %}</a>
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'wei:wei_update_registration' registration.pk %}" data-turbolinks="false">{% trans 'Update registration' %}</a>
|
||||
{% if "auth.change_user"|has_perm:registration.user %}
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'member:user_update_profile' registration.user.pk %}">{% trans 'Update Profile' %}</a>
|
||||
{% endif %}
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-08-07 19:53+0200\n"
|
||||
"POT-Creation-Date: 2020-08-09 16:35+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -44,9 +44,9 @@ msgid "You can't invite more than 3 people to this activity."
|
|||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:27 apps/activity/models.py:62
|
||||
#: apps/member/models.py:172 apps/note/models/notes.py:212
|
||||
#: apps/member/models.py:175 apps/note/models/notes.py:212
|
||||
#: apps/note/models/transactions.py:25 apps/note/models/transactions.py:45
|
||||
#: apps/note/models/transactions.py:295 apps/permission/models.py:331
|
||||
#: apps/note/models/transactions.py:286 apps/permission/models.py:329
|
||||
#: apps/wei/models.py:66 apps/wei/models.py:118
|
||||
#: templates/member/club_info.html:13 templates/member/profile_info.html:14
|
||||
#: templates/registration/future_profile_detail.html:16
|
||||
|
@ -78,8 +78,8 @@ msgstr ""
|
|||
msgid "activity types"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:67 apps/note/models/transactions.py:81
|
||||
#: apps/permission/models.py:112 apps/permission/models.py:191
|
||||
#: apps/activity/models.py:67 apps/note/models/transactions.py:80
|
||||
#: apps/permission/models.py:110 apps/permission/models.py:189
|
||||
#: apps/wei/models.py:72 apps/wei/models.py:129
|
||||
#: templates/activity/activity_info.html:19
|
||||
msgid "description"
|
||||
|
@ -90,12 +90,12 @@ msgid "location"
|
|||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:81 apps/note/models/notes.py:188
|
||||
#: apps/note/models/transactions.py:66 apps/permission/models.py:166
|
||||
#: apps/note/models/transactions.py:65 apps/permission/models.py:164
|
||||
#: templates/activity/activity_info.html:22
|
||||
msgid "type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:277
|
||||
#: apps/activity/models.py:87 apps/logs/models.py:22 apps/member/models.py:280
|
||||
#: apps/note/models/notes.py:126 apps/treasury/models.py:266
|
||||
#: apps/wei/models.py:160 templates/treasury/sogecredit_detail.html:14
|
||||
#: templates/wei/survey.html:16
|
||||
|
@ -118,7 +118,7 @@ msgstr ""
|
|||
msgid "end date"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:114 apps/note/models/transactions.py:146
|
||||
#: apps/activity/models.py:114 apps/note/models/transactions.py:145
|
||||
#: templates/activity/activity_info.html:50
|
||||
msgid "valid"
|
||||
msgstr ""
|
||||
|
@ -199,14 +199,14 @@ msgid "Type"
|
|||
msgstr ""
|
||||
|
||||
#: apps/activity/tables.py:81 apps/member/forms.py:106
|
||||
#: apps/registration/forms.py:70 apps/treasury/forms.py:135
|
||||
#: apps/wei/forms/registration.py:94
|
||||
#: apps/registration/forms.py:76 apps/treasury/forms.py:135
|
||||
#: apps/wei/forms/registration.py:96
|
||||
msgid "Last name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/tables.py:83 apps/member/forms.py:111
|
||||
#: apps/registration/forms.py:75 apps/treasury/forms.py:137
|
||||
#: apps/wei/forms/registration.py:99 templates/note/transaction_form.html:131
|
||||
#: apps/registration/forms.py:81 apps/treasury/forms.py:137
|
||||
#: apps/wei/forms/registration.py:101 templates/note/transaction_form.html:131
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
|
@ -254,7 +254,7 @@ msgstr ""
|
|||
msgid "IP Address"
|
||||
msgstr ""
|
||||
|
||||
#: apps/logs/models.py:36 apps/permission/models.py:136
|
||||
#: apps/logs/models.py:36 apps/permission/models.py:134
|
||||
msgid "model"
|
||||
msgstr ""
|
||||
|
||||
|
@ -274,14 +274,14 @@ msgstr ""
|
|||
msgid "create"
|
||||
msgstr ""
|
||||
|
||||
#: apps/logs/models.py:62 apps/note/tables.py:160
|
||||
#: apps/logs/models.py:62 apps/note/tables.py:163
|
||||
#: templates/activity/activity_info.html:71
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:165
|
||||
#: apps/permission/models.py:129 apps/treasury/tables.py:38
|
||||
#: apps/wei/tables.py:73
|
||||
#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:168
|
||||
#: apps/permission/models.py:127 apps/treasury/tables.py:38
|
||||
#: apps/wei/tables.py:74
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
|
||||
|
@ -305,25 +305,25 @@ msgstr ""
|
|||
msgid "changelogs"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/admin.py:52 apps/member/models.py:199
|
||||
#: apps/member/admin.py:52 apps/member/models.py:202
|
||||
#: templates/member/club_info.html:41
|
||||
msgid "membership fee (paid students)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/admin.py:53 apps/member/models.py:204
|
||||
#: apps/member/admin.py:53 apps/member/models.py:207
|
||||
#: templates/member/club_info.html:44
|
||||
msgid "membership fee (unpaid students)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/admin.py:67 apps/member/models.py:288
|
||||
#: apps/member/admin.py:67 apps/member/models.py:291
|
||||
msgid "roles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/admin.py:68 apps/member/models.py:302
|
||||
#: apps/member/admin.py:68 apps/member/models.py:305
|
||||
msgid "fee"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/apps.py:14 apps/wei/tables.py:179 apps/wei/tables.py:210
|
||||
#: apps/member/apps.py:14 apps/wei/tables.py:180 apps/wei/tables.py:211
|
||||
msgid "member"
|
||||
msgstr ""
|
||||
|
||||
|
@ -340,21 +340,21 @@ msgstr ""
|
|||
msgid "An alias with a similar name already exists."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:85 apps/registration/forms.py:50
|
||||
#: apps/member/forms.py:85 apps/registration/forms.py:56
|
||||
msgid "Inscription paid by Société Générale"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:87 apps/registration/forms.py:52
|
||||
#: apps/member/forms.py:87 apps/registration/forms.py:58
|
||||
msgid "Check this case is the Société Générale paid the inscription."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:92 apps/registration/forms.py:57
|
||||
#: apps/wei/forms/registration.py:81
|
||||
#: apps/member/forms.py:92 apps/registration/forms.py:63
|
||||
#: apps/wei/forms/registration.py:83
|
||||
msgid "Credit type"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:93 apps/registration/forms.py:58
|
||||
#: apps/wei/forms/registration.py:82
|
||||
#: apps/member/forms.py:93 apps/registration/forms.py:64
|
||||
#: apps/wei/forms/registration.py:84
|
||||
msgid "No credit"
|
||||
msgstr ""
|
||||
|
||||
|
@ -362,13 +362,13 @@ msgstr ""
|
|||
msgid "You can credit the note of the user."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:99 apps/registration/forms.py:63
|
||||
#: apps/wei/forms/registration.py:87
|
||||
#: apps/member/forms.py:99 apps/registration/forms.py:69
|
||||
#: apps/wei/forms/registration.py:89
|
||||
msgid "Credit amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:116 apps/registration/forms.py:80
|
||||
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:104
|
||||
#: apps/member/forms.py:116 apps/registration/forms.py:86
|
||||
#: apps/treasury/forms.py:139 apps/wei/forms/registration.py:106
|
||||
#: templates/note/transaction_form.html:137
|
||||
msgid "Bank"
|
||||
msgstr ""
|
||||
|
@ -509,92 +509,92 @@ msgstr ""
|
|||
msgid "user profile"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:148
|
||||
#: apps/member/models.py:151
|
||||
msgid "Activate your Note Kfet account"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:177 templates/member/club_info.html:57
|
||||
#: apps/member/models.py:180 templates/member/club_info.html:57
|
||||
#: templates/registration/future_profile_detail.html:22
|
||||
#: templates/wei/weiclub_info.html:52 templates/wei/weimembership_form.html:24
|
||||
msgid "email"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:184
|
||||
#: apps/member/models.py:187
|
||||
msgid "parent club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:193
|
||||
#: apps/member/models.py:196
|
||||
msgid "require memberships"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:194
|
||||
#: apps/member/models.py:197
|
||||
msgid "Uncheck if this club don't require memberships."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:210 templates/member/club_info.html:33
|
||||
#: apps/member/models.py:213 templates/member/club_info.html:33
|
||||
msgid "membership duration"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:211
|
||||
#: apps/member/models.py:214
|
||||
msgid "The longest time (in days) a membership can last (NULL = infinite)."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:218 templates/member/club_info.html:23
|
||||
#: apps/member/models.py:221 templates/member/club_info.html:23
|
||||
msgid "membership start"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:219
|
||||
#: apps/member/models.py:222
|
||||
msgid "Date from which the members can renew their membership."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:225 templates/member/club_info.html:28
|
||||
#: apps/member/models.py:228 templates/member/club_info.html:28
|
||||
msgid "membership end"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:226
|
||||
#: apps/member/models.py:229
|
||||
msgid "Maximal date of a membership, after which members must renew it."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:258 apps/member/models.py:283
|
||||
#: apps/member/models.py:261 apps/member/models.py:286
|
||||
#: apps/note/models/notes.py:163
|
||||
msgid "club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:259
|
||||
#: apps/member/models.py:262
|
||||
msgid "clubs"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:293
|
||||
#: apps/member/models.py:296
|
||||
msgid "membership starts on"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:297
|
||||
#: apps/member/models.py:300
|
||||
msgid "membership ends on"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:348
|
||||
#: apps/member/models.py:351
|
||||
#, python-brace-format
|
||||
msgid "The role {role} does not apply to the club {club}."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:359 apps/member/views.py:592
|
||||
#: apps/member/models.py:362 apps/member/views.py:592
|
||||
msgid "User is already a member of the club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:406
|
||||
#: apps/member/models.py:409
|
||||
msgid "User is not a member of the parent club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:459
|
||||
#: apps/member/models.py:462
|
||||
#, python-brace-format
|
||||
msgid "Membership of {user} for the club {club}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:462
|
||||
#: apps/member/models.py:465
|
||||
msgid "membership"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:463
|
||||
#: apps/member/models.py:466
|
||||
msgid "memberships"
|
||||
msgstr ""
|
||||
|
||||
|
@ -680,17 +680,17 @@ msgstr ""
|
|||
msgid "Members of the club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/admin.py:133 apps/note/models/transactions.py:106
|
||||
#: apps/note/admin.py:133 apps/note/models/transactions.py:105
|
||||
msgid "source"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/admin.py:141 apps/note/admin.py:191
|
||||
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119
|
||||
#: apps/note/models/transactions.py:55 apps/note/models/transactions.py:118
|
||||
msgid "destination"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/admin.py:196 apps/note/models/transactions.py:59
|
||||
#: apps/note/models/transactions.py:137
|
||||
#: apps/note/models/transactions.py:136
|
||||
msgid "amount"
|
||||
msgstr ""
|
||||
|
||||
|
@ -764,7 +764,7 @@ msgstr ""
|
|||
msgid "display image"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:129
|
||||
#: apps/note/models/notes.py:55 apps/note/models/transactions.py:128
|
||||
msgid "created at"
|
||||
msgstr ""
|
||||
|
||||
|
@ -847,115 +847,115 @@ msgstr ""
|
|||
msgid "A template with this name already exist"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:72
|
||||
#: apps/note/models/transactions.py:71
|
||||
msgid "display"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:77
|
||||
#: apps/note/models/transactions.py:76
|
||||
msgid "highlighted"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:87
|
||||
#: apps/note/models/transactions.py:86
|
||||
msgid "transaction template"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:88
|
||||
#: apps/note/models/transactions.py:87
|
||||
msgid "transaction templates"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
|
||||
#: apps/note/models/transactions.py:111 apps/note/models/transactions.py:124
|
||||
#: apps/note/tables.py:35 apps/note/tables.py:44
|
||||
msgid "used alias"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:133
|
||||
#: apps/note/models/transactions.py:132
|
||||
msgid "quantity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:141
|
||||
#: apps/note/models/transactions.py:140
|
||||
msgid "reason"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:151 apps/note/tables.py:112
|
||||
#: apps/note/models/transactions.py:150 apps/note/tables.py:112
|
||||
msgid "invalidity reason"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:159
|
||||
#: apps/note/models/transactions.py:158
|
||||
msgid "transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:160
|
||||
#: apps/note/models/transactions.py:159
|
||||
#: templates/treasury/sogecredit_detail.html:22
|
||||
msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:197
|
||||
#: apps/note/models/transactions.py:192
|
||||
msgid ""
|
||||
"The note balances must be between - 21 474 836.47 € and 21 474 836.47 €."
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:212
|
||||
#: apps/note/models/transactions.py:207
|
||||
msgid ""
|
||||
"The transaction can't be saved since the source note or the destination note "
|
||||
"is not active."
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:257
|
||||
#: apps/note/models/transactions.py:248
|
||||
#: templates/activity/activity_entry.html:13 templates/base.html:99
|
||||
#: templates/note/transaction_form.html:15
|
||||
#: templates/note/transaction_form.html:145
|
||||
msgid "Transfer"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:281
|
||||
#: apps/note/models/transactions.py:272
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:284
|
||||
#: apps/note/models/transactions.py:275
|
||||
msgid "recurrent transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:285
|
||||
#: apps/note/models/transactions.py:276
|
||||
msgid "recurrent transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:300
|
||||
#: apps/note/models/transactions.py:291
|
||||
msgid "first_name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:305
|
||||
#: apps/note/models/transactions.py:296
|
||||
msgid "bank"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:311
|
||||
#: apps/note/models/transactions.py:302
|
||||
#: templates/activity/activity_entry.html:17
|
||||
#: templates/note/transaction_form.html:20
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:311 templates/note/transaction_form.html:25
|
||||
#: apps/note/models/transactions.py:302 templates/note/transaction_form.html:25
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:322
|
||||
#: apps/note/models/transactions.py:313
|
||||
msgid ""
|
||||
"A special transaction is only possible between a Note associated to a "
|
||||
"payment method and a User or a Club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:326
|
||||
#: apps/note/models/transactions.py:317
|
||||
msgid "Special transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:327
|
||||
#: apps/note/models/transactions.py:318
|
||||
msgid "Special transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:343 apps/note/models/transactions.py:348
|
||||
#: apps/note/models/transactions.py:334 apps/note/models/transactions.py:339
|
||||
msgid "membership transaction"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:344 apps/treasury/models.py:272
|
||||
#: apps/note/models/transactions.py:335 apps/treasury/models.py:272
|
||||
msgid "membership transactions"
|
||||
msgstr ""
|
||||
|
||||
|
@ -971,15 +971,15 @@ msgstr ""
|
|||
msgid "No reason specified"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/tables.py:139 apps/note/tables.py:167 apps/treasury/tables.py:39
|
||||
#: apps/wei/tables.py:74 apps/wei/tables.py:100
|
||||
#: apps/note/tables.py:139 apps/note/tables.py:170 apps/treasury/tables.py:39
|
||||
#: apps/wei/tables.py:75 apps/wei/tables.py:101
|
||||
#: templates/treasury/invoice_confirm_delete.html:28
|
||||
#: templates/treasury/sogecredit_detail.html:59
|
||||
#: templates/wei/weiregistration_confirm_delete.html:32
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/tables.py:162 apps/wei/tables.py:46 apps/wei/tables.py:47
|
||||
#: apps/note/tables.py:165 apps/wei/tables.py:46 apps/wei/tables.py:47
|
||||
#: templates/member/club_info.html:67 templates/note/conso_form.html:130
|
||||
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
|
||||
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
|
||||
|
@ -1010,79 +1010,79 @@ msgstr ""
|
|||
msgid "Search transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:91
|
||||
#: apps/permission/models.py:89
|
||||
#, python-brace-format
|
||||
msgid "Can {type} {model}.{field} in {query}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:93
|
||||
#: apps/permission/models.py:91
|
||||
#, python-brace-format
|
||||
msgid "Can {type} {model} in {query}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:106
|
||||
#: apps/permission/models.py:104
|
||||
msgid "rank"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:119
|
||||
#: apps/permission/models.py:117
|
||||
msgid "permission mask"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:120
|
||||
#: apps/permission/models.py:118
|
||||
msgid "permission masks"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:126
|
||||
#: apps/permission/models.py:124
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:127
|
||||
#: apps/permission/models.py:125
|
||||
msgid "view"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:128
|
||||
#: apps/permission/models.py:126
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:160
|
||||
#: apps/permission/models.py:158
|
||||
msgid "query"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:173
|
||||
#: apps/permission/models.py:171
|
||||
msgid "mask"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:179
|
||||
#: apps/permission/models.py:177
|
||||
msgid "field"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:184
|
||||
#: apps/permission/models.py:182
|
||||
msgid ""
|
||||
"Tells if the permission should be granted even if the membership of the user "
|
||||
"is expired."
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:185 templates/permission/all_rights.html:36
|
||||
#: apps/permission/models.py:183 templates/permission/all_rights.html:36
|
||||
msgid "permanent"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:196
|
||||
#: apps/permission/models.py:194
|
||||
msgid "permission"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:197 apps/permission/models.py:336
|
||||
#: apps/permission/models.py:195 apps/permission/models.py:334
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:202
|
||||
#: apps/permission/models.py:200
|
||||
msgid "Specifying field applies only to view and change permission types."
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:341
|
||||
#: apps/permission/models.py:339
|
||||
msgid "for club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/permission/models.py:351 apps/permission/models.py:352
|
||||
#: apps/permission/models.py:349 apps/permission/models.py:350
|
||||
msgid "role permissions"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1119,21 +1119,25 @@ msgstr ""
|
|||
msgid "registration"
|
||||
msgstr ""
|
||||
|
||||
#: apps/registration/forms.py:38
|
||||
#: apps/registration/forms.py:34
|
||||
msgid "This email address is already used."
|
||||
msgstr ""
|
||||
|
||||
#: apps/registration/forms.py:44
|
||||
msgid "Register to the WEI"
|
||||
msgstr ""
|
||||
|
||||
#: apps/registration/forms.py:40
|
||||
#: apps/registration/forms.py:46
|
||||
msgid ""
|
||||
"Check this case if you want to register to the WEI. If you hesitate, you "
|
||||
"will be able to register later, after validating your account in the Kfet."
|
||||
msgstr ""
|
||||
|
||||
#: apps/registration/forms.py:85
|
||||
#: apps/registration/forms.py:91
|
||||
msgid "Join BDE Club"
|
||||
msgstr ""
|
||||
|
||||
#: apps/registration/forms.py:92
|
||||
#: apps/registration/forms.py:98
|
||||
msgid "Join Kfet Club"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1446,41 +1450,41 @@ msgstr ""
|
|||
msgid "WEI"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:49 apps/wei/models.py:113
|
||||
#: apps/wei/forms/registration.py:51 apps/wei/models.py:113
|
||||
#: apps/wei/models.py:298
|
||||
msgid "bus"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:50
|
||||
#: apps/wei/forms/registration.py:52
|
||||
msgid ""
|
||||
"This choice is not definitive. The WEI organizers are free to attribute for "
|
||||
"you a bus and a team, in particular if you are a free eletron."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:57
|
||||
#: apps/wei/forms/registration.py:59
|
||||
msgid "Team"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:59
|
||||
#: apps/wei/forms/registration.py:61
|
||||
msgid ""
|
||||
"Leave this field empty if you won't be in a team (staff, bus chief, free "
|
||||
"electron)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:65 apps/wei/forms/registration.py:75
|
||||
#: apps/wei/forms/registration.py:67 apps/wei/forms/registration.py:77
|
||||
#: apps/wei/models.py:148
|
||||
msgid "WEI Roles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:66
|
||||
#: apps/wei/forms/registration.py:68
|
||||
msgid "Select the roles that you are interested in."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:111
|
||||
#: apps/wei/forms/registration.py:113
|
||||
msgid "This team doesn't belong to the given bus."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/surveys/wei2020.py:26
|
||||
#: apps/wei/forms/surveys/wei2020.py:29
|
||||
msgid "Choose a word:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1640,25 +1644,25 @@ msgstr ""
|
|||
msgid "WEI memberships"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/tables.py:57 apps/wei/tables.py:58 apps/wei/tables.py:95
|
||||
#: apps/wei/tables.py:58 apps/wei/tables.py:59 apps/wei/tables.py:96
|
||||
#: templates/treasury/sogecredit_detail.html:57
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/tables.py:125
|
||||
#: apps/wei/tables.py:126
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/tables.py:163 templates/wei/bus_tables.html:26
|
||||
#: apps/wei/tables.py:164 templates/wei/bus_tables.html:26
|
||||
#: templates/wei/busteam_tables.html:43
|
||||
msgid "Teams"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/tables.py:172 apps/wei/tables.py:213
|
||||
#: apps/wei/tables.py:173 apps/wei/tables.py:214
|
||||
msgid "Members count"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/tables.py:179 apps/wei/tables.py:210
|
||||
#: apps/wei/tables.py:180 apps/wei/tables.py:211
|
||||
msgid "members"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2316,6 +2320,10 @@ msgstr ""
|
|||
msgid "The Note Kfet team."
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/mails/email_validation_email.html:40
|
||||
msgid "Mail generated by the Note Kfet on the"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/password_change_done.html:8
|
||||
msgid "Your password was changed."
|
||||
msgstr ""
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue