add photo/video from site + choice instru in response event

This commit is contained in:
Lucie Galland 2021-06-07 00:56:03 +02:00
parent d6036766c7
commit b260ae8eb8
23 changed files with 687 additions and 286 deletions

View file

@ -46,6 +46,26 @@ urlpatterns += i18n_patterns(
path("trombonoscope/", include("trombonoscope.urls")), path("trombonoscope/", include("trombonoscope.urls")),
path("actu/", include("actu.urls")), path("actu/", include("actu.urls")),
path("avatar/", include("avatar.urls")), path("avatar/", include("avatar.urls")),
path("photos", gestion_views.PhotoList.as_view(), name="liste_photo"),
path("add_photo", gestion_views.PhotoCreate.as_view(), name="add_photo"),
path(
"photo_edition/<int:pk>", gestion_views.PhotoUpdate.as_view(), name="edit_photo"
),
path(
"photo_delete/<int:pk>",
gestion_views.PhotoDelete.as_view(),
name="delete_photo",
),
path("videos", gestion_views.VideoList.as_view(), name="liste_video"),
path("add_video", gestion_views.VideoCreate.as_view(), name="add_video"),
path(
"video_edition/<int:pk>", gestion_views.VideoUpdate.as_view(), name="edit_video"
),
path(
"video_delete/<int:pk>",
gestion_views.VideoDelete.as_view(),
name="delete_video",
),
prefix_default_language=False, prefix_default_language=False,
) )
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

View file

@ -1,5 +1,6 @@
from django.contrib import admin # from django.contrib import admin
from .models import Event # from .models import Event
admin.site.register(Event) # Add event by admin page return a 502 error
# admin.site.register(Event)

View file

@ -37,7 +37,7 @@ class EventForm(forms.ModelForm):
class ParticipantsForm(forms.ModelForm): class ParticipantsForm(forms.ModelForm):
class Meta: class Meta:
model = Participants model = Participants
fields = ("reponse", "details") fields = ("reponse", "details", "dont_play_main", "instrument")
widgets = { widgets = {
"details": forms.Textarea(attrs={"placeholder": _("50 caractères max")}), "details": forms.Textarea(attrs={"placeholder": _("50 caractères max")}),
} }

View file

@ -0,0 +1,28 @@
# Generated by Django 2.2.17 on 2021-06-06 16:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("calendrier", "0003_auto_20210427_1834"),
]
operations = [
migrations.AddField(
model_name="participants",
name="dont_play_main",
field=models.CharField(
choices=[("Non", "Non"), ("Oui", "Oui")],
default="Non",
max_length=3,
verbose_name="Je veux jouer d'un instrument different de mon instrument principal:",
),
),
migrations.AddField(
model_name="participants",
name="instrument",
field=models.CharField(blank=True, max_length=50, null=True),
),
]

View file

@ -59,4 +59,12 @@ class Participants(models.Model):
reponse = models.CharField( reponse = models.CharField(
_("Réponse"), max_length=20, default="non", choices=ANSWERS _("Réponse"), max_length=20, default="non", choices=ANSWERS
) )
instrument = models.CharField(max_length=50, blank=True, null=True)
dont_play_main = models.CharField(
_("Je veux jouer d'un instrument different de mon instrument principal:"),
default="Non",
null=False,
max_length=3,
choices=[("Non", _("Non")), ("Oui", _("Oui"))],
)
details = models.CharField(max_length=50, blank=True) details = models.CharField(max_length=50, blank=True)

View file

@ -13,10 +13,36 @@
<p><a href="{% url 'calendrier:view-event' id %}" class="button alt">{% trans "Retour à l'événement" %}</a></p> <p><a href="{% url 'calendrier:view-event' id %}" class="button alt">{% trans "Retour à l'événement" %}</a></p>
<div><h4> {% blocktrans with nom=ev.nom date=ev.date debut=ev.debut|time:"H:i" %} Voulez vous participer à l'événement {{ nom }}, le {{ date }} à {{ debut }} ?{% endblocktrans %}</h4></div> <div><h4> {% blocktrans with nom=ev.nom date=ev.date debut=ev.debut|time:"H:i" %} Voulez vous participer à l'événement {{ nom }}, le {{ date }} à {{ debut }} ?{% endblocktrans %}</h4></div>
<p> <b>{% trans "Instrument principal"%} : {% if request.user.profile.instru == "Autre" %}{{request.user.profile.instru_autre}}{% else %}{{request.user.profile.instru}}{% endif %}</b></p>
<form action="{% url 'calendrier:reponse' id %}" method="post"> <form action="{% url 'calendrier:reponse' id %}" method="post">
{% csrf_token %} {% csrf_token %}
{{ form.as_p }} {{ form.non_field_errors }}
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{% if field.id_for_label == "id_dont_play_main" %}
<div id="dont_play_main_field" {% if request.user.profile.multi_instrumentiste == "Non" %} style="display: none; "{% endif %}>
{% elif field.id_for_label == "id_instrument" %}
<div id="instru_ev_field" style="display: none; ">
{% else %}
<div>
{% endif %}
<p>{{ field.label_tag }}
{{ field }} {% if field.help_text %}
{{ field.help_text|safe }}
{% endif %}</p>
</div>
</div>
{% endfor %}
<input type="submit" value="{% trans "Valider" %}" /> <input type="submit" value="{% trans "Valider" %}" />
</form> </form>
</div> </div>
@ -25,3 +51,17 @@
</section> </section>
</div> </div>
{% endblock %} {% endblock %}
{% block script %}
<script type="text/javascript">
$('#id_dont_play_main').on('change', function() {
if (this.value == "Oui" ) {
$('#instru_ev_field').show();
}
else {
$('#instru_ev_field').hide();
}
});
</script>
{% endblock %}

View file

@ -1,17 +0,0 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% block titre %}{% trans "Participation à un événement" %}{% endblock %}
{% block content %}
{% if envoi %}<p>{% trans "Votre réponse a été enregistrée !" %}</p>{% endif %}
<p><a href="{% url 'calendrier:view-event' id %}">{% trans "Retour à l'événement" %}</a></p>
<div> {% blocktrans with nom=ev.nom date=ev.date debut=ev.debut%} Voulez vous participer à l'événement {{ nom }}, le {{ date }} à {{ debut|time:"H:i" }} ?{% endblocktrans %}</div>
<form action="{% url 'calendrier:reponse' id %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="{% trans "Valider" %}" />
</form>
{% endblock %}

View file

@ -160,7 +160,7 @@
<table class="table"> <table class="table">
<tr> <tr>
<th>{% trans "Nom" %}</th> <th>{% trans "Nom" %}</th>
<th>{% trans "Instrument principal" %}</th> <th>{% trans "Instrument" %}</th>
<th>{% trans "Instrument·s bonus" %}</th> <th>{% trans "Instrument·s bonus" %}</th>
<th>{% trans "Réponse" %}</th> <th>{% trans "Réponse" %}</th>
</tr> </tr>
@ -173,12 +173,22 @@
{% endif %} {% endif %}
</td> </td>
<td>{% if participant.participant.instru == "Autre" %} <td>{% if participant.dont_play_main == 'Oui' %}
{{participant.instrument}}
{% elif participant.participant.instru == "Autre" %}
{{participant.participant.instru_autre}} {{participant.participant.instru_autre}}
{% else %} {% else %}
{{ participant.participant.instru }} {{ participant.participant.instru }}
{% endif %}</td> {% endif %}</td>
<td>{{ participant.participant.instru_bonus }}</td> <td>{% if participant.dont_play_main == 'Oui' %}
{% if participant.participant.instru == "Autre" %}
{{participant.participant.instru_autre}}
{% else %}
{{ participant.participant.instru }}
{% endif %}<br>{% endif %}
{% if participant.instrument != participant.participant.instru_bonus %}
{{ participant.participant.instru_bonus }}
{% endif %}</td>
<td>{{participant.reponse}}</td> <td>{{participant.reponse}}</td>
</tr> </tr>
{% endfor %} {% endfor %}

View file

@ -45,7 +45,7 @@ class Agenda(TemplateView):
context["events_a_venir"] = ( context["events_a_venir"] = (
Event.objects.filter(date__gte=lToday) Event.objects.filter(date__gte=lToday)
.exclude(calendrier__iexact="F") .exclude(calendrier__iexact="F")
.order_by("-date") .order_by("date")
) )
context["events_passe"] = ( context["events_passe"] = (
Event.objects.filter(date__lt=lToday) Event.objects.filter(date__lt=lToday)
@ -91,38 +91,36 @@ class Calendar(LoginRequiredMixin, TemplateView):
lNextYear = lYear + 1 lNextYear = lYear + 1
lYearAfterThis = lYear + 1 lYearAfterThis = lYear + 1
lYearBeforeThis = lYear - 1 lYearBeforeThis = lYear - 1
try:
events_a_venir_not_answered = Event.objects.filter( events_a_venir_not_answered = (
date__gte=lToday Event.objects.filter(date__gte=lToday)
).exclude(participants__participant=self.request.user.profile) .exclude(participants__participant=self.request.user.profile)
events_a_venir_answered_yes = Event.objects.filter(date__gte=lToday).filter( .order_by("date")
)
events_a_venir_answered_yes = (
Event.objects.filter(date__gte=lToday)
.filter(
Q(participants__participant=self.request.user.profile) Q(participants__participant=self.request.user.profile)
& Q(participants__reponse="oui") & Q(participants__reponse="oui")
) )
events_a_venir_answered_no = Event.objects.filter(date__gte=lToday).filter( .order_by("date")
)
events_a_venir_answered_no = (
Event.objects.filter(date__gte=lToday)
.filter(
Q(participants__participant=self.request.user.profile) Q(participants__participant=self.request.user.profile)
& Q(participants__reponse="non") & Q(participants__reponse="non")
) )
events_a_venir_answered_pe = Event.objects.filter(date__gte=lToday).filter( .order_by("date")
)
events_a_venir_answered_pe = (
Event.objects.filter(date__gte=lToday)
.filter(
Q(participants__participant=self.request.user.profile) Q(participants__participant=self.request.user.profile)
& Q(participants__reponse="pe") & Q(participants__reponse="pe")
) )
except Event.DoesNotExist: .order_by("date")
events_a_venir_not_answered = Event.objects.filter( )
date__gte=lToday
).exclude(participants__participant__user__username=self.request.user)
events_a_venir_answered_yes = Event.objects.filter(date__gte=lToday).filter(
Q(participants__participant__user__username=self.request.user)
& Q(participants__reponse="oui")
)
events_a_venir_answered_no = Event.objects.filter(date__gte=lToday).filter(
Q(participants__participant__user__username=self.request.user)
& Q(participants__reponse="non")
)
events_a_venir_answered_pe = Event.objects.filter(date__gte=lToday).filter(
Q(participants__participant__user__username=self.request.user)
& Q(participants__reponse="pe")
)
context["Calendar"] = mark_safe(lCalendar) context["Calendar"] = mark_safe(lCalendar)
context["Month"] = lMonth context["Month"] = lMonth
@ -178,6 +176,8 @@ class ViewEvent(LoginRequiredMixin, TemplateView):
instru = participant.participant.instru instru = participant.participant.instru
if instru == "Autre": if instru == "Autre":
instru = participant.participant.instru_autre instru = participant.participant.instru_autre
if participant.dont_play_main == "Oui":
instru = participant.instrument
sure, maybe, namesoui, namespe, namesnon = instrument_count[instru] sure, maybe, namesoui, namespe, namesnon = instrument_count[instru]
@ -286,7 +286,12 @@ class ReponseEvent(LoginRequiredMixin, TemplateView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context["form"] = self.form_class() ev = get_object_or_404(Event, id=self.kwargs["id"])
context["form"] = self.form_class(
instance=get_object_or_404(
Participants, event=ev, participant=self.request.user.profile
)
)
context["ev"] = get_object_or_404(Event, id=self.kwargs["id"]) context["ev"] = get_object_or_404(Event, id=self.kwargs["id"])
context["id"] = self.kwargs["id"] context["id"] = self.kwargs["id"]
return context return context

View file

@ -41,18 +41,7 @@
); );
}); });
// Menu.
$('#menu')
.append('<a href="#menu" class="close"></a>')
.appendTo($body)
.panel({
delay: 500,
hideOnClick: true,
hideOnSwipe: true,
resetScroll: true,
resetForms: true,
side: 'right'
});
$('#id_multi_instrumentiste').on('change', function() { $('#id_multi_instrumentiste').on('change', function() {
@ -64,6 +53,8 @@
} }
}); });
$('#id_instru').on('change', function() { $('#id_instru').on('change', function() {

View file

@ -28,7 +28,7 @@
<nav class="navbar navbar-expand-md"> <nav class="navbar navbar-expand-md">
<div class="container-fluid"> <div class="container-fluid">
<!-- Brand --> <!-- Brand -->
<a class="navbar-brand" href="{% url 'home' %}"><img style='float:left;height:3em;width:auto' src='{% static "images/Ernestophone_white.png" %}'/></a> <a class="navbar-brand" href="{% url 'home' %}"><img style='vertical-align: middle;float:left;height:3em;width:auto' src='{% static "images/Ernestophone_white.png" %}'/></a>
<!-- Links --> <!-- Links -->
<ul class="navbar-nav mr-auto" > <ul class="navbar-nav mr-auto" >
@ -76,6 +76,8 @@
{% if user.profile.is_chef %} {% if user.profile.is_chef %}
<a class="dropdown-item" href="{% url 'calendrier:create_event' %}">{% trans "Ajouter un événement" %}</a> <a class="dropdown-item" href="{% url 'calendrier:create_event' %}">{% trans "Ajouter un événement" %}</a>
<a class="dropdown-item" href="{% url 'actu:liste' %}">{% trans "Modifier les actualités" %}</a> <a class="dropdown-item" href="{% url 'actu:liste' %}">{% trans "Modifier les actualités" %}</a>
<a class="dropdown-item" href="{% url 'liste_photo' %}">{% trans "Modifier les photos" %}</a>
<a class="dropdown-item" href="{% url 'liste_video' %}">{% trans "Modifier les vidéos" %}</a>
{% endif %} {% endif %}
</div> </div>
@ -94,9 +96,9 @@
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="{% url 'profile' %}" id="navbardrop" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="{% url 'profile' %}" id="navbardrop" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% if request.user|has_avatar %} {% if request.user|has_avatar %}
{% avatar request.user 50 class="rounded-circle"%} {% avatar request.user 50 class="rounded-circle" style="vertical-align: middle"%}
{% else %} {% else %}
<img src="{% static "images/Ernestophone_logo.png" %}" width="50" height="50" class="rounded-circle"> <img src="{% static "images/Ernestophone_logo.png" %}" width="50" height="50" class="rounded-circle"style="vertical-align: middle">
{% endif %} {% endif %}
</a> </a>
@ -113,9 +115,9 @@
{% endif %} {% endif %}
<li class="nav-item"> <li class="nav-item">
{% ifequal current_language "fr" %} {% ifequal current_language "fr" %}
<a class="nav-link" href="{% changelang "en" %}" ><img src="{% static 'images\en_flag.jpg' %}" width="60" height="40" class="rounded-circle"></a> <a class="nav-link" href="{% changelang "en" %}" ><img src="{% static 'images\en_flag.jpg' %}" width="60" height="40" style="vertical-align: middle"></a>
{% else %} {% else %}
<a class="nav-link" href="{% changelang "fr" %}" ><img src="{% static 'images\fr_flag.jpg' %}" width="60" height="40" class="rounded-circle"></a> <a class="nav-link" href="{% changelang "fr" %}" ><img src="{% static 'images\fr_flag.jpg' %}" width="60" height="40" style="vertical-align: middle"></a>
{% endifequal %} {% endifequal %}
</li> </li>
</ul> </ul>
@ -204,5 +206,7 @@
} }
</script> </script>
{% block script %}
{% endblock %}
</body> </body>
</html> </html>

View file

@ -0,0 +1,19 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{%block titre %}{% trans "Ajout d'une photo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<p><a href="{% url "liste_photo" %}" class="button alt">{% trans "Retour à la liste" %}</a></p>
{% if envoi %}<p>{% trans "Cette photo à été enregistrée" %}.{% endif %}
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="{% trans "Enregistrer" %}" />
</form>
</div>
</section>
</div>
{% endblock %}

View file

@ -0,0 +1,19 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{%block titre %}{% trans "Ajout d'une vidéo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<p><a href="{% url "liste_video" %}" class="button alt">{% trans "Retour à la liste" %}</a></p>
{% if envoi %}<p>{% trans "Cette vidéo à été enregistrée" %}.{% endif %}
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="{% trans "Enregistrer" %}" />
</form>
</div>
</section>
</div>
{% endblock %}

View file

@ -0,0 +1,16 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% block titre %}{% trans "Suppression d'une photo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<form action="" method="post">
{% csrf_token %}
<p><a href="{% url "liste_photo" %}" class="button alt">{% trans "Retour aux photos" %}</a></p>
<p>{% blocktrans with object=object %} Voulez vous vraiment supprimer la photo {{ object.name }}?{% endblocktrans %}</p>
<input type="submit" value="{% trans "Oui" %}" />
</form>
</div></section>
</div>
{% endblock %}

View file

@ -0,0 +1,16 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% block titre %}{% trans "Suppression d'une vidéo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<form action="" method="post">
{% csrf_token %}
<p><a href="{% url "liste_video" %}" class="button alt">{% trans "Retour aux vidéos" %}</a></p>
<p>{% blocktrans with object=object %} Voulez vous vraiment supprimer la vidéo {{ object.name }}?{% endblocktrans %}</p>
<input type="submit" value="{% trans "Oui" %}" />
</form>
</div></section>
</div>
{% endblock %}

View file

@ -0,0 +1,42 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% get_current_language as current_language %}
{% load autotranslate %}
{% block titre %}{% trans "Liste des Photos" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<h4>{% trans "Liste des photos" %} :</h4>
<p><a href="{% url "add_photo" %}" class="button">{% trans "Ajouter une photo" %}</a></p>
<ul class="filelist">
{% for p in photos %}
<li>
<p> <b>{{ p.name }}</b> {% if p.cat == 'n' %}: {% trans "Non utilisée" %} <br>( {% trans "Pensez à supprimer les photos non utilisée" %}){% endif %}
{% if p.cat == 'home_join' %}: {% trans "Rejoignez nous" %} {% endif %}
{% if p.cat == 'home_contact' %}: {% trans "Nous Contacter" %} {% endif %}
{% if p.cat == 'home_rep' %}: {% trans "Répertoire de l'acceuil" %} {% endif %}
{% if p.cat == 'login' %}: {% trans "Connexion" %} {% endif %}
{% if p.cat == 'change_membre' %}: {% trans "Modification du profil" %} {% endif %}
{% if p.cat == 'inscription_membre' %}: {% trans "Inscription" %} {% endif %}
{% if p.cat == 'home' %}: {% trans "Calendrier connecté" %} {% endif %}
{% if p.cat == 'liste' %}: {% trans "Agenda public" %} {% endif %}
{% if p.cat == 'part' %}: {% trans "Répertoire" %} {% endif %}
{% if p.cat == 'instru' %}: {% trans "Instruments" %} {% endif %}
&nbsp <a class="button alt" href="{% url "edit_photo" p.id %}">{% trans "Modifier" %}</a>&nbsp<a class="button alt" href="{% url "delete_photo" p.id %}">{% trans "Supprimer" %}</a>
<img src="{{p.image.url}}" alt="" style='vertical-align: middle;height:4em;width:auto' /></p>
</li>
{% empty %}
<p>{% trans "Pas de photos pour le moment" %}</p>
{% endfor %}
</ul>
</div>
</section>
</div>
{% endblock %}

View file

@ -0,0 +1,15 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% block titre %}{% trans "Modification d'une photo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="{% trans "Enregistrer" %}" />
</form>
</div></section></div>
{% endblock %}

View file

@ -0,0 +1,15 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% block titre %}{% trans "Modification d'une vidéo" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="{% trans "Enregistrer" %}" />
</form>
</div></section></div>
{% endblock %}

View file

@ -0,0 +1,30 @@
{% extends "gestion/base.html" %}
{% load i18n %}
{% get_current_language as current_language %}
{% load autotranslate %}
{% block titre %}{% trans "Liste des vidéos" %}{% endblock %}
{% block content %}
<div id="main">
<section class="wrapper style1">
<div class="inner">
<h4>{% trans "Liste des vidéos" %} :</h4>
<p><a href="{% url "add_video" %}" class="button">{% trans "Ajouter une vidéo" %}</a></p>
<ul class="filelist">
{% for v in videos %}
<li>
<p> <b>{{ v }}</b> &nbsp<a class="button alt" href="{% url "edit_video" v.id %}">{% trans "Modifier" %}</a>
&nbsp <a class="button alt" href="{% url "delete_video" v.id %}">{% trans "Supprimer" %}</a></p>
</li>
{% empty %}
<p>{% trans "Pas de vidéos pour le moment" %}</p>
{% endfor %}
</ul>
</div>
</section>
</div>
{% endblock %}

View file

@ -5,9 +5,12 @@ from django.conf import settings
from django.contrib.auth.forms import PasswordChangeForm from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.views import LoginView from django.contrib.auth.views import LoginView
from django.http import HttpResponseRedirect
from django.shortcuts import redirect, render from django.shortcuts import redirect, render
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.views.generic import TemplateView from django.views.generic import (CreateView, DeleteView, ListView,
TemplateView, UpdateView)
from calendrier.forms import ChangeDoodleName from calendrier.forms import ChangeDoodleName
from gestion.forms import (ChangeFormUser, ChangeMembreForm, from gestion.forms import (ChangeFormUser, ChangeMembreForm,
@ -36,7 +39,7 @@ class Home(TemplateView):
context["categories"] = Category.objects.filter( context["categories"] = Category.objects.filter(
name="Partitions actives" name="Partitions actives"
).prefetch_related("partitionset_set") ).prefetch_related("partitionset_set")
context["videos"] = VideoGallery.objects.all() context["videos"] = VideoGallery.objects.all().order_by("order")
context["photo_rep"] = ( context["photo_rep"] = (
Photo.objects.filter(cat="home_rep").order_by("?").first() Photo.objects.filter(cat="home_rep").order_by("?").first()
) )
@ -198,3 +201,67 @@ class Inscription(TemplateView):
context["user_form"] = user_form context["user_form"] = user_form
context["comp_form"] = comp_form context["comp_form"] = comp_form
return render(request, self.template_name, context) return render(request, self.template_name, context)
class PhotoList(ChefRequiredMixin, ListView):
model = Photo
context_object_name = "photos"
ordering = "cat"
template_name = "gestion/photo.html"
class PhotoCreate(ChefRequiredMixin, CreateView):
model = Photo
fields = ["name", "cat", "auteur", "url", "color", "image"]
template_name = "gestion/create_photo.html"
success_url = reverse_lazy("liste_photo")
def form_valid(self, form):
photo = form.save(commit=False)
photo.save()
return HttpResponseRedirect(self.success_url)
class PhotoUpdate(ChefRequiredMixin, UpdateView):
model = Photo
fields = ["name", "cat", "auteur", "url", "color", "image"]
template_name = "gestion/update_photo.html"
success_url = reverse_lazy("liste_photo")
class PhotoDelete(ChefRequiredMixin, DeleteView):
model = Photo
template_name = "gestion/delete_photo.html"
success_url = reverse_lazy("liste_photo")
class VideoList(ChefRequiredMixin, ListView):
model = VideoGallery
ordering = "order"
context_object_name = "videos"
template_name = "gestion/video.html"
class VideoCreate(ChefRequiredMixin, CreateView):
model = VideoGallery
fields = ["name", "url", "order"]
template_name = "gestion/create_video.html"
success_url = reverse_lazy("liste_video")
def form_valid(self, form):
video = form.save(commit=False)
video.save()
return HttpResponseRedirect(self.success_url)
class VideoUpdate(ChefRequiredMixin, UpdateView):
model = VideoGallery
fields = ["name", "url", "order"]
template_name = "gestion/update_video.html"
success_url = reverse_lazy("liste_video")
class VideoDelete(ChefRequiredMixin, DeleteView):
model = VideoGallery
template_name = "gestion/delete_video.html"
success_url = reverse_lazy("liste_video")

View file

@ -1,6 +1,6 @@
{% extends "gestion/base.html" %} {% extends "gestion/base.html" %}
{% load i18n %} {% load i18n %}
{%block titre %}{% trans "Ajout d'une instrument" %}{% endblock %} {%block titre %}{% trans "Ajout d'un instrument" %}{% endblock %}
{% block content %} {% block content %}
<div id="main"> <div id="main">

Binary file not shown.

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-29 00:25+0200\n" "POT-Creation-Date: 2021-06-06 19:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mau'\n" "Last-Translator: Mau'\n"
"Language-Team: English <LL@li.org>\n" "Language-Team: English <LL@li.org>\n"
@ -30,7 +30,7 @@ msgstr "English"
msgid "Info" msgid "Info"
msgstr "Info" msgstr "Info"
#: actu/models.py:9 gestion/models.py:166 partitions/models.py:11 #: actu/models.py:9 gestion/models.py:161 partitions/models.py:11
msgid "ordre" msgid "ordre"
msgstr "order" msgstr "order"
@ -51,12 +51,16 @@ msgid "Ajouter une actualité"
msgstr "Add news report" msgstr "Add news report"
#: actu/templates/actu/actualité.html:19 #: actu/templates/actu/actualité.html:19
#: gestion/templates/gestion/photo.html:31
#: gestion/templates/gestion/video.html:19
#: instruments/templates/instruments/update_instru.html:71 #: instruments/templates/instruments/update_instru.html:71
#: pads/templates/pads/list.html:21 #: pads/templates/pads/list.html:21
msgid "Modifier" msgid "Modifier"
msgstr "Modify" msgstr "Modify"
#: actu/templates/actu/actualité.html:20 #: actu/templates/actu/actualité.html:20
#: gestion/templates/gestion/photo.html:31
#: gestion/templates/gestion/video.html:20
#: instruments/templates/instruments/instru_liste.html:48 #: instruments/templates/instruments/instru_liste.html:48
#: instruments/templates/instruments/instru_liste.html:85 #: instruments/templates/instruments/instru_liste.html:85
#: instruments/templates/instruments/update_instru.html:72 #: instruments/templates/instruments/update_instru.html:72
@ -77,6 +81,8 @@ msgid "Ajout d'une actualité"
msgstr "Add news report" msgstr "Add news report"
#: actu/templates/actu/create_actu.html:9 #: actu/templates/actu/create_actu.html:9
#: gestion/templates/gestion/create_photo.html:9
#: gestion/templates/gestion/create_video.html:9
#: instruments/templates/instruments/create_instru.html:9 #: instruments/templates/instruments/create_instru.html:9
#: pads/templates/pads/create.html:9 #: pads/templates/pads/create.html:9
#: partitions/templates/partitions/new.html:27 #: partitions/templates/partitions/new.html:27
@ -91,6 +97,10 @@ msgstr "This news report has been saved"
#: actu/templates/actu/update_actu.html:12 #: actu/templates/actu/update_actu.html:12
#: calendrier/templates/calendrier/create.html:18 #: calendrier/templates/calendrier/create.html:18
#: calendrier/templates/calendrier/update.html:14 #: calendrier/templates/calendrier/update.html:14
#: gestion/templates/gestion/create_photo.html:14
#: gestion/templates/gestion/create_video.html:14
#: gestion/templates/gestion/update_photo.html:12
#: gestion/templates/gestion/update_video.html:12
#: instruments/templates/instruments/create_instru.html:14 #: instruments/templates/instruments/create_instru.html:14
#: instruments/templates/instruments/create_rep.html:14 #: instruments/templates/instruments/create_rep.html:14
#: instruments/templates/instruments/update_rep.html:14 #: instruments/templates/instruments/update_rep.html:14
@ -113,10 +123,12 @@ msgid " Voulez vous vraiment supprimer l'actualité %(object)s?"
msgstr "Do you really want to delete the %(object)s news " msgstr "Do you really want to delete the %(object)s news "
#: actu/templates/actu/delete_actu.html:12 calendrier/models.py:9 #: actu/templates/actu/delete_actu.html:12 calendrier/models.py:9
#: calendrier/templates/calendrier/delete.html:15 #: calendrier/models.py:68 calendrier/templates/calendrier/delete.html:15
#: calendrier/templates/calendrier/view_event.html:65 #: calendrier/templates/calendrier/view_event.html:65
#: calendrier/templates/calendrier/view_event.html:88 #: calendrier/templates/calendrier/view_event.html:88
#: calendrier/templates/calendrier/view_event.html:102 gestion/models.py:144 #: calendrier/templates/calendrier/view_event.html:102 gestion/models.py:139
#: gestion/templates/gestion/delete_photo.html:12
#: gestion/templates/gestion/delete_video.html:12
#: instruments/templates/instruments/delete_instru.html:12 #: instruments/templates/instruments/delete_instru.html:12
#: instruments/templates/instruments/delete_rep.html:12 #: instruments/templates/instruments/delete_rep.html:12
#: pads/templates/pads/delete.html:12 partitions/models.py:50 #: pads/templates/pads/delete.html:12 partitions/models.py:50
@ -149,9 +161,10 @@ msgstr "9 characters maximum"
msgid "50 caractères max" msgid "50 caractères max"
msgstr "50 characters maximum" msgstr "50 characters maximum"
#: calendrier/models.py:10 calendrier/templates/calendrier/view_event.html:69 #: calendrier/models.py:10 calendrier/models.py:68
#: calendrier/templates/calendrier/view_event.html:132 gestion/models.py:113 #: calendrier/templates/calendrier/view_event.html:69
#: gestion/models.py:144 partitions/models.py:50 #: calendrier/templates/calendrier/view_event.html:132 gestion/models.py:108
#: gestion/models.py:139 partitions/models.py:50
msgid "Non" msgid "Non"
msgstr "No" msgstr "No"
@ -168,8 +181,6 @@ msgid "Infos (visible seulement des fanfaron-ne-s)"
msgstr "Info in french (only visible by Ernestophone members)" msgstr "Info in french (only visible by Ernestophone members)"
#: calendrier/models.py:35 #: calendrier/models.py:35
#, fuzzy
#| msgid "Infos en anglais (visible seulement des fanfaron-ne-s)"
msgid "Infos en anglais (visible seulement des fanfaron-ne-s" msgid "Infos en anglais (visible seulement des fanfaron-ne-s"
msgstr "Info in english(only visible by Ernestophone members)" msgstr "Info in english(only visible by Ernestophone members)"
@ -194,6 +205,10 @@ msgstr "Event"
msgid "Réponse" msgid "Réponse"
msgstr "Answer" msgstr "Answer"
#: calendrier/models.py:64
msgid "Je veux jouer d'un instrument different de mon instrument principal:"
msgstr "I want to play an instrument different from my main one."
#: calendrier/templates/calendrier/agenda.html:6 #: calendrier/templates/calendrier/agenda.html:6
#: calendrier/templates/calendrier/home.html:14 #: calendrier/templates/calendrier/home.html:14
msgid "L'Ernestophone : Agenda" msgid "L'Ernestophone : Agenda"
@ -272,11 +287,11 @@ msgstr "%(lieu)s"
#: calendrier/templates/calendrier/changename.html:3 #: calendrier/templates/calendrier/changename.html:3
#: calendrier/templates/calendrier/changename.html:11 gestion/models.py:16 #: calendrier/templates/calendrier/changename.html:11 gestion/models.py:16
#: gestion/templates/gestion/base.html:62
#: gestion/templates/gestion/change.html:4 #: gestion/templates/gestion/change.html:4
#: gestion/templates/gestion/change.html:13 #: gestion/templates/gestion/change.html:13
#: gestion/templates/gestion/changename.html:3 #: gestion/templates/gestion/changename.html:3
#: gestion/templates/gestion/changename.html:11 #: gestion/templates/gestion/changename.html:11
#: gestion/templates/gestion/photo.html:24
#: trombonoscope/templates/trombonoscope/changetrombonoscope.html:5 #: trombonoscope/templates/trombonoscope/changetrombonoscope.html:5
msgid "Modification du profil" msgid "Modification du profil"
msgstr "Update your profile" msgstr "Update your profile"
@ -286,8 +301,7 @@ msgid "Changement enregistré !"
msgstr "Update saved!" msgstr "Update saved!"
#: calendrier/templates/calendrier/changename.html:21 #: calendrier/templates/calendrier/changename.html:21
#: calendrier/templates/calendrier/reponse.html:20 #: calendrier/templates/calendrier/reponse.html:46
#: calendrier/templates/calendrier/response.html:15
#: gestion/templates/gestion/change.html:50 #: gestion/templates/gestion/change.html:50
#: gestion/templates/gestion/changename.html:21 #: gestion/templates/gestion/changename.html:21
#: gestion/templates/gestion/changepasswd.html:22 #: gestion/templates/gestion/changepasswd.html:22
@ -304,7 +318,7 @@ msgid "L'événement a bien été créé !"
msgstr "The event has been created!" msgstr "The event has been created!"
#: calendrier/templates/calendrier/create.html:18 #: calendrier/templates/calendrier/create.html:18
#: calendrier/templates/calendrier/view_event.html:193 #: calendrier/templates/calendrier/view_event.html:203
msgid "Retour au calendrier" msgid "Retour au calendrier"
msgstr "Back to schedule" msgstr "Back to schedule"
@ -319,7 +333,6 @@ msgstr "Do you really want to delete the %(object)s event "
#: calendrier/templates/calendrier/delete.html:15 #: calendrier/templates/calendrier/delete.html:15
#: calendrier/templates/calendrier/reponse.html:14 #: calendrier/templates/calendrier/reponse.html:14
#: calendrier/templates/calendrier/response.html:9
#: calendrier/templates/calendrier/update.html:14 #: calendrier/templates/calendrier/update.html:14
msgid "Retour à l'événement" msgid "Retour à l'événement"
msgstr "Back to event" msgstr "Back to event"
@ -367,12 +380,10 @@ msgstr[0] "Event without me ('No' answer)"
msgstr[1] "Event without me ('No' answer)" msgstr[1] "Event without me ('No' answer)"
#: calendrier/templates/calendrier/reponse.html:3 #: calendrier/templates/calendrier/reponse.html:3
#: calendrier/templates/calendrier/response.html:3
msgid "Participation à un événement" msgid "Participation à un événement"
msgstr "Event participation" msgstr "Event participation"
#: calendrier/templates/calendrier/reponse.html:11 #: calendrier/templates/calendrier/reponse.html:11
#: calendrier/templates/calendrier/response.html:6
msgid "Votre réponse a été enregistrée !" msgid "Votre réponse a été enregistrée !"
msgstr "Your answer has been saved!" msgstr "Your answer has been saved!"
@ -383,14 +394,9 @@ msgid ""
msgstr "" msgstr ""
"Do you want to participate in the %(nom)s event, on %(date)s at %(debut)s?" "Do you want to participate in the %(nom)s event, on %(date)s at %(debut)s?"
#: calendrier/templates/calendrier/response.html:10 #: calendrier/templates/calendrier/reponse.html:16
#, python-format msgid "Instrument principal"
msgid "" msgstr "Main instrument"
" Voulez vous participer à l'événement %(nom)s, le %(date)s à "
"%(debut|time:\"H:i\")s ?"
msgstr ""
"Do you want to participate in the %(nom)s event, on %(date)s at "
"%(debut|time:\"H:i\")s?"
#: calendrier/templates/calendrier/update.html:3 #: calendrier/templates/calendrier/update.html:3
msgid "Modification d'Evénement" msgid "Modification d'Evénement"
@ -450,7 +456,8 @@ msgstr "No answer for now"
msgid "Répondre à l'événement" msgid "Répondre à l'événement"
msgstr "Respond to event" msgstr "Respond to event"
#: calendrier/templates/calendrier/view_event.html:87 instruments/models.py:26 #: calendrier/templates/calendrier/view_event.html:87
#: calendrier/templates/calendrier/view_event.html:163 instruments/models.py:26
#: instruments/models.py:41 instruments/models.py:49 #: instruments/models.py:41 instruments/models.py:49
msgid "Instrument" msgid "Instrument"
msgstr "Instrument" msgstr "Instrument"
@ -461,23 +468,19 @@ msgid_plural "Multi-instrumentistes présents"
msgstr[0] "Multi-instrumentalist present" msgstr[0] "Multi-instrumentalist present"
msgstr[1] "Multi-instrumentalist present" msgstr[1] "Multi-instrumentalist present"
#: calendrier/templates/calendrier/view_event.html:163
msgid "Instrument principal"
msgstr "Main instrument"
#: calendrier/templates/calendrier/view_event.html:164 #: calendrier/templates/calendrier/view_event.html:164
msgid "Instrument·s bonus" msgid "Instrument·s bonus"
msgstr "Extra instrument" msgstr "Extra instrument"
#: calendrier/templates/calendrier/view_event.html:191 #: calendrier/templates/calendrier/view_event.html:201
msgid "Modifier l'événement" msgid "Modifier l'événement"
msgstr "Modify event" msgstr "Modify event"
#: calendrier/templates/calendrier/view_event.html:191 #: calendrier/templates/calendrier/view_event.html:201
msgid "Supprimer l'événement" msgid "Supprimer l'événement"
msgstr "Delete event" msgstr "Delete event"
#: calendrier/templates/calendrier/view_event.html:193 #: calendrier/templates/calendrier/view_event.html:203
msgid "Changer mon nom pour le doodle" msgid "Changer mon nom pour le doodle"
msgstr "Change my name for the doodle" msgstr "Change my name for the doodle"
@ -489,300 +492,312 @@ msgstr "Specify which other instrument"
msgid "Préçisez quel·s instrument·s supplémentaire·s vous pouvez jouer" msgid "Préçisez quel·s instrument·s supplémentaire·s vous pouvez jouer"
msgstr "Specify which supplementary instrument you can play" msgstr "Specify which supplementary instrument you can play"
#: gestion/models.py:12 #: gestion/models.py:12 gestion/templates/gestion/photo.html:20
#, fuzzy
#| msgid "Rejoins-nous !"
msgid "Rejoignez nous" msgid "Rejoignez nous"
msgstr "Join us!" msgstr "Join us!"
#: gestion/models.py:13 #: gestion/models.py:13 gestion/templates/gestion/photo.html:21
#, fuzzy
#| msgid "Nous contacter !"
msgid "Nous Contacter" msgid "Nous Contacter"
msgstr "Contact us!" msgstr "Contact us!"
#: gestion/models.py:14 #: gestion/models.py:14 gestion/templates/gestion/photo.html:22
#, fuzzy
#| msgid "Retour à l'acceuil"
msgid "Répertoire de l'acceuil" msgid "Répertoire de l'acceuil"
msgstr "Back to home screen" msgstr "home screen repertory"
#: gestion/models.py:15 gestion/templates/gestion/login.html:13 #: gestion/models.py:15 gestion/templates/gestion/login.html:13
#: gestion/templates/gestion/login.html:27 #: gestion/templates/gestion/login.html:27
#: gestion/templates/gestion/photo.html:23
msgid "Connexion" msgid "Connexion"
msgstr "Log in" msgstr "Log in"
#: gestion/models.py:17 #: gestion/models.py:17 gestion/templates/gestion/photo.html:25
#, fuzzy
#| msgid "Valider l'inscription"
msgid "Inscription" msgid "Inscription"
msgstr "Confirm registration" msgstr "Registration"
#: gestion/models.py:18 #: gestion/models.py:18 gestion/templates/gestion/photo.html:26
msgid "Calendrier connecté" msgid "Calendrier connecté"
msgstr "connected calendar" msgstr "connected calendar"
#: gestion/models.py:19 #: gestion/models.py:19 gestion/templates/gestion/photo.html:27
#, fuzzy
#| msgid "Agenda :"
msgid "Agenda public" msgid "Agenda public"
msgstr "Schedule:" msgstr "Public schedule"
#: gestion/models.py:20 gestion/templates/gestion/base.html:50 #: gestion/models.py:20 gestion/templates/gestion/base.html:49
#: gestion/templates/gestion/photo.html:28
msgid "Répertoire" msgid "Répertoire"
msgstr "Repertoire" msgstr "Repertoire"
#: gestion/models.py:21 gestion/templates/gestion/base.html:52 #: gestion/models.py:21 gestion/templates/gestion/base.html:53
#: instruments/models.py:42 #: gestion/templates/gestion/photo.html:29 instruments/models.py:42
#: instruments/templates/instruments/instru_liste.html:4 #: instruments/templates/instruments/instru_liste.html:4
#, fuzzy
#| msgid "Instrument"
msgid "Instruments" msgid "Instruments"
msgstr "Instrument" msgstr "Instruments"
#: gestion/models.py:22 #: gestion/models.py:22
msgid "N'apparait pas" msgid "N'apparait pas"
msgstr "Don't appear" msgstr "Don't appear"
#: gestion/models.py:35 #: gestion/models.py:34
#, fuzzy
#| msgid "Ajouter un morceau"
msgid "Auteur de l'image" msgid "Auteur de l'image"
msgstr "Add a score" msgstr "Photo author"
#: gestion/models.py:39 #: gestion/models.py:37
msgid "Lien vers le site de l'auteur" msgid "Lien vers le site de l'auteur"
msgstr "Link to the auteur site" msgstr "Link to the auteur site"
#: gestion/models.py:41 #: gestion/models.py:39
#, fuzzy
#| msgid "Couleur du texte du profil"
msgid "Couleur du nom de l'auteur" msgid "Couleur du nom de l'auteur"
msgstr "Profile text colour" msgstr "Author name text colour"
#: gestion/models.py:50 #: gestion/models.py:48
msgid "Photo" msgid "Photo"
msgstr "Photo" msgstr "Photo"
#: gestion/models.py:51 #: gestion/models.py:49
msgid "Photos" msgid "Photos"
msgstr "Photos" msgstr "Photos"
#: gestion/models.py:57 #: gestion/models.py:54
msgid "Membre de l'Ernestophone" msgid "Membre de l'Ernestophone"
msgstr "Member of the Ernestophone" msgstr "Member of the Ernestophone"
#: gestion/models.py:59 #: gestion/models.py:55
msgid "Chef Fanfare" msgid "Chef Fanfare"
msgstr "Band Chief" msgstr "Band Chief"
#: gestion/models.py:61 #: gestion/models.py:57
msgid "Téléphone" msgid "Téléphone"
msgstr "Phone" msgstr "Phone"
#: gestion/models.py:64 #: gestion/models.py:60
msgid "seulement visible par les chef·fe·s" msgid "seulement visible par les chef·fe·s"
msgstr "only visible by the chiefs" msgstr "only visible by the chiefs"
#: gestion/models.py:68 #: gestion/models.py:64
msgid "Clarinette" msgid "Clarinette"
msgstr "Clarinet" msgstr "Clarinet"
#: gestion/models.py:69 #: gestion/models.py:65
msgid "Euphonium" msgid "Euphonium"
msgstr "Euphonium" msgstr "Euphonium"
#: gestion/models.py:70 #: gestion/models.py:66
msgid "Percussion" msgid "Percussion"
msgstr "Drums" msgstr "Drums"
#: gestion/models.py:71 #: gestion/models.py:67
msgid "Piccolo" msgid "Piccolo"
msgstr "Piccolo" msgstr "Piccolo"
#: gestion/models.py:72 #: gestion/models.py:68
msgid "Saxophone Alto" msgid "Saxophone Alto"
msgstr "Alto Saxophone" msgstr "Alto Saxophone"
#: gestion/models.py:73 #: gestion/models.py:69
msgid "Saxophone Ténor" msgid "Saxophone Ténor"
msgstr "Tenor Saxophone" msgstr "Tenor Saxophone"
#: gestion/models.py:74 #: gestion/models.py:70
msgid "Saxophone Baryton" msgid "Saxophone Baryton"
msgstr "Baritone Saxophone" msgstr "Baritone Saxophone"
#: gestion/models.py:75 #: gestion/models.py:71
msgid "Souba" msgid "Souba"
msgstr "Sousaphone" msgstr "Sousaphone"
#: gestion/models.py:76 #: gestion/models.py:72
msgid "Trombone" msgid "Trombone"
msgstr "Trombone" msgstr "Trombone"
#: gestion/models.py:77 #: gestion/models.py:73
msgid "Trompette" msgid "Trompette"
msgstr "Trumpet" msgstr "Trumpet"
#: gestion/models.py:78 gestion/models.py:90 #: gestion/models.py:74 gestion/models.py:86
msgid "Autre" msgid "Autre"
msgstr "Other" msgstr "Other"
#: gestion/models.py:79 #: gestion/models.py:75
msgid "Je ne sais pas encore" msgid "Je ne sais pas encore"
msgstr "I don't know yet" msgstr "I don't know yet"
#: gestion/models.py:83 #: gestion/models.py:79
msgid "Orange et Blanc" msgid "Orange et Blanc"
msgstr "Orange and White" msgstr "Orange and White"
#: gestion/models.py:84 #: gestion/models.py:80
msgid "Blanc et Noir" msgid "Blanc et Noir"
msgstr "White and Black" msgstr "White and Black"
#: gestion/models.py:85 #: gestion/models.py:81
msgid "Rose et Noir" msgid "Rose et Noir"
msgstr "Pink and Black" msgstr "Pink and Black"
#: gestion/models.py:86 #: gestion/models.py:82
msgid "Bleu et Blanc" msgid "Bleu et Blanc"
msgstr "Blue and White" msgstr "Blue and White"
#: gestion/models.py:87 #: gestion/models.py:83
msgid "Vert et Noir" msgid "Vert et Noir"
msgstr "Green and Black" msgstr "Green and Black"
#: gestion/models.py:88 #: gestion/models.py:84
msgid "Rouge et Blanc" msgid "Rouge et Blanc"
msgstr "Red and white" msgstr "Red and white"
#: gestion/models.py:89 #: gestion/models.py:85
msgid "Jaune et Noir" msgid "Jaune et Noir"
msgstr "Yellow and Black" msgstr "Yellow and Black"
#: gestion/models.py:94 #: gestion/models.py:90
msgid "Instrument joué" msgid "Instrument joué"
msgstr "Played instrument" msgstr "Played instrument"
#: gestion/models.py:101 #: gestion/models.py:97
msgid "Lequel ?" msgid "Lequel ?"
msgstr "Which one?" msgstr "Which one?"
#: gestion/models.py:104 #: gestion/models.py:100
msgid "Nom pour le doodle" msgid "Nom pour le doodle"
msgstr "Name for the doodle" msgstr "Name for the doodle"
#: gestion/models.py:108 #: gestion/models.py:103
#, fuzzy
#| msgid "Je souhaite apparaitre dans le trombonoscope :"
msgid "Je souhaite apparaitre dans le trombonoscope:" msgid "Je souhaite apparaitre dans le trombonoscope:"
msgstr "I would like to appear in the yearbook" msgstr "I would like to appear in the yearbook"
#: gestion/models.py:114 #: gestion/models.py:109
msgid "Oui en tant que fanfaron actuel" msgid "Oui en tant que fanfaron actuel"
msgstr "Yes, as a player currently in the band" msgstr "Yes, as a player currently in the band"
#: gestion/models.py:115 #: gestion/models.py:110
msgid "Oui en tant que vie·ille·ux" msgid "Oui en tant que vie·ille·ux"
msgstr "Yes, as a former player" msgstr "Yes, as a former player"
#: gestion/models.py:120 #: gestion/models.py:115
msgid "Instrument affiché sur le trombonoscope" msgid "Instrument affiché sur le trombonoscope"
msgstr "Instrument shown on the yearbook" msgstr "Instrument shown on the yearbook"
#: gestion/models.py:123 #: gestion/models.py:118
msgid "Nom affiché sur le trombonoscope" msgid "Nom affiché sur le trombonoscope"
msgstr "Name shown on the yearbook" msgstr "Name shown on the yearbook"
#: gestion/models.py:126 #: gestion/models.py:121
msgid "Couleur du profil" msgid "Couleur du profil"
msgstr "Profile background colour" msgstr "Profile background colour"
#: gestion/models.py:133 #: gestion/models.py:128
msgid "Couleur de fond du profil" msgid "Couleur de fond du profil"
msgstr "Profile background colour" msgstr "Profile background colour"
#: gestion/models.py:136 #: gestion/models.py:131
msgid "Couleur du texte du profil" msgid "Couleur du texte du profil"
msgstr "Profile text colour" msgstr "Profile text colour"
#: gestion/models.py:140 #: gestion/models.py:135
msgid "Je suis capable de jouer d'un autre instrument en manche :" msgid "Je suis capable de jouer d'un autre instrument en manche :"
msgstr "i can play an other instrument instrument" msgstr "i can play an other instrument instrument"
#: gestion/models.py:145 #: gestion/models.py:140
msgid "Seulement si tu connais les partitions par coeur" msgid "Seulement si tu connais les partitions par coeur"
msgstr "Only if you know the scores by heart" msgstr "Only if you know the scores by heart"
#: gestion/models.py:148 #: gestion/models.py:143
msgid "Le·s·quel·s ?" msgid "Le·s·quel·s ?"
msgstr "Which one·s ?" msgstr "Which one·s ?"
#: gestion/models.py:152 gestion/models.py:153 #: gestion/models.py:147 gestion/models.py:148
msgid "Profil Ernestophoniste" msgid "Profil Ernestophoniste"
msgstr "Ernestophonist Profile" msgstr "Ernestophonist Profile"
#: gestion/models.py:173 #: gestion/models.py:168
msgid "Video" msgid "Video"
msgstr "Video" msgstr "Video"
#: gestion/models.py:174 #: gestion/models.py:169
msgid "Videos" msgid "Videos"
msgstr "Videos" msgstr "Videos"
#: gestion/templates/gestion/base.html:45 #: gestion/templates/gestion/base.html:38
msgid "Accueil" msgid "Accueil"
msgstr "Home" msgstr "Home"
#: gestion/templates/gestion/base.html:46 #: gestion/templates/gestion/base.html:41
#: gestion/templates/gestion/base.html:48 #: gestion/templates/gestion/base.html:45
msgid "Agenda" msgid "Agenda"
msgstr "Schedule" msgstr "Schedule"
#: gestion/templates/gestion/base.html:53 #: gestion/templates/gestion/base.html:56
msgid "Pads" msgid "Pads"
msgstr "Pads" msgstr "Pads"
#: gestion/templates/gestion/base.html:55 #: gestion/templates/gestion/base.html:61
msgid "Social :" #: gestion/templates/gestion/social.html:3
msgstr "Social :" #: gestion/templates/gestion/social.html:11
msgid "Social"
msgstr "Social"
#: gestion/templates/gestion/base.html:57 #: gestion/templates/gestion/base.html:64
#: gestion/templates/gestion/social.html:13
msgid "Trombonoscope" msgid "Trombonoscope"
msgstr "Yearbook" msgstr "Yearbook"
#: gestion/templates/gestion/base.html:58 #: gestion/templates/gestion/base.html:65
#: gestion/templates/gestion/social.html:14
msgid "Galerie Photo" msgid "Galerie Photo"
msgstr "Photo gallery" msgstr "Photo gallery"
#: gestion/templates/gestion/base.html:60 #: gestion/templates/gestion/base.html:72
msgid "Mon profil :" #: gestion/templates/gestion/chef.html:11
msgstr "My profil :" msgid "Le pouvoir des cheff·e·s"
msgstr "Chiefs' power"
#: gestion/templates/gestion/base.html:63 #: gestion/templates/gestion/base.html:75
msgid "Déconnexion" #: gestion/templates/gestion/chef.html:13
msgstr "Log out"
#: gestion/templates/gestion/base.html:68
#, fuzzy
#| msgid "Actualité des chef·fe·s:"
#| msgid_plural "Actualités des chef·fe·s:"
msgid "Le pouvoir des chef·fe·s :"
msgstr "Chiefs' newscast"
#: gestion/templates/gestion/base.html:70
msgid "Administration" msgid "Administration"
msgstr "Administration" msgstr "Administration"
#: gestion/templates/gestion/base.html:72 #: gestion/templates/gestion/base.html:77
#: gestion/templates/gestion/chef.html:14
msgid "Ajouter un événement"
msgstr "Add an event"
#: gestion/templates/gestion/base.html:78
#: gestion/templates/gestion/chef.html:15
msgid "Modifier les actualités" msgid "Modifier les actualités"
msgstr "Modify news" msgstr "Modify news"
#: gestion/templates/gestion/base.html:79 #: gestion/templates/gestion/base.html:79
msgid "Modifier les photos"
msgstr "Modify photos"
#: gestion/templates/gestion/base.html:80
msgid "Modifier les vidéos"
msgstr "Modify videos"
#: gestion/templates/gestion/base.html:88
msgid "Contact"
msgstr "Contact us"
#: gestion/templates/gestion/base.html:106
#: gestion/templates/gestion/profile.html:13
msgid "Modifier le profil"
msgstr "Update your profile"
#: gestion/templates/gestion/base.html:107
#: gestion/templates/gestion/profile.html:14
msgid "Modifier le Trombo"
msgstr "Modify the year book profile"
#: gestion/templates/gestion/base.html:108
#: gestion/templates/gestion/profile.html:15
msgid "Déconnexion"
msgstr "Log out"
#: gestion/templates/gestion/base.html:112
msgid "Se connecter" msgid "Se connecter"
msgstr "Log in" msgstr "Log in"
#: gestion/templates/gestion/base.html:80 #: gestion/templates/gestion/base.html:113
msgid "Créer un compte" msgid "Créer un compte"
msgstr "Create an account" msgstr "Create an account"
@ -817,6 +832,50 @@ msgstr "Update my password"
msgid "Retour" msgid "Retour"
msgstr "Back" msgstr "Back"
#: gestion/templates/gestion/chef.html:3
msgid "Cheff·e·s"
msgstr "Cheff·e·s"
#: gestion/templates/gestion/create_photo.html:3
msgid "Ajout d'une photo"
msgstr "Add a photo"
#: gestion/templates/gestion/create_photo.html:10
msgid "Cette photo à été enregistrée"
msgstr "This photo has been saved"
#: gestion/templates/gestion/create_video.html:3
msgid "Ajout d'une vidéo"
msgstr "Add a video"
#: gestion/templates/gestion/create_video.html:10
msgid "Cette vidéo à été enregistrée"
msgstr "This video has been saved"
#: gestion/templates/gestion/delete_photo.html:3
msgid "Suppression d'une photo"
msgstr "Deletion of a photo"
#: gestion/templates/gestion/delete_photo.html:10
msgid "Retour aux photos"
msgstr "Back to photos"
#: gestion/templates/gestion/delete_photo.html:11
msgid " Voulez vous vraiment supprimer la photo %(object.name)s?"
msgstr "Do you really want to delete the %(object)s photo "
#: gestion/templates/gestion/delete_video.html:3
msgid "Suppression d'une vidéo"
msgstr "Deletion of a video"
#: gestion/templates/gestion/delete_video.html:10
msgid "Retour aux vidéos"
msgstr "Back to video"
#: gestion/templates/gestion/delete_video.html:11
msgid " Voulez vous vraiment supprimer la vidéo %(object.name)s?"
msgstr "Do you really want to delete the %(object)s video "
#: gestion/templates/gestion/index.html:5 #: gestion/templates/gestion/index.html:5
msgid "L'Ernestophone : La fanfare de l'Ecole normale supérieure de Paris" msgid "L'Ernestophone : La fanfare de l'Ecole normale supérieure de Paris"
msgstr "" msgstr ""
@ -938,7 +997,8 @@ msgid ""
"Vous préparez un\n" "Vous préparez un\n"
" évenement et vous recherchez une fanfare dynamique ? " " évenement et vous recherchez une fanfare dynamique ? "
"N'hésitez\n" "N'hésitez\n"
" pas à nous envoyer un message nous serons ravis de venir\n" " pas à nous envoyer un message par mail ou sur Facebook. "
"Nous serons ravis de venir\n"
" fanfaronner pour vous !! Vérifiez notre" " fanfaronner pour vous !! Vérifiez notre"
msgstr "" msgstr ""
"You are preparing an\n" "You are preparing an\n"
@ -957,6 +1017,35 @@ msgstr "The Ernestophone : Log in"
msgid "Mot de passe ou nom d'utilisateur incorrect" msgid "Mot de passe ou nom d'utilisateur incorrect"
msgstr "Password or username invalid" msgstr "Password or username invalid"
#: gestion/templates/gestion/photo.html:5
msgid "Liste des Photos"
msgstr "Photos list"
#: gestion/templates/gestion/photo.html:11
msgid "Liste des photos"
msgstr "photos list"
#: gestion/templates/gestion/photo.html:14
msgid "Ajouter une photo"
msgstr "Add a photo"
#: gestion/templates/gestion/photo.html:19
msgid "Non utilisée"
msgstr "Not used"
#: gestion/templates/gestion/photo.html:19
msgid "Pensez à supprimer les photos non utilisée"
msgstr "Remember to delete unused photos"
#: gestion/templates/gestion/photo.html:36
msgid "Pas de photos pour le moment"
msgstr "No photos at the moment"
#: gestion/templates/gestion/profile.html:3
#: gestion/templates/gestion/profile.html:11
msgid "Profil"
msgstr "Profil"
#: gestion/templates/gestion/registration.html:4 #: gestion/templates/gestion/registration.html:4
msgid "L'Ernestophone : Créer un compte" msgid "L'Ernestophone : Créer un compte"
msgstr "The Ernestophone : Create an account" msgstr "The Ernestophone : Create an account"
@ -981,7 +1070,28 @@ msgstr "Your Account has been registered"
msgid "Connecte toi !" msgid "Connecte toi !"
msgstr "Log in!" msgstr "Log in!"
#: gestion/views.py:161 #: gestion/templates/gestion/update_photo.html:3
msgid "Modification d'une photo"
msgstr "Change the photo"
#: gestion/templates/gestion/update_video.html:3
msgid "Modification d'une vidéo"
msgstr "Change a video"
#: gestion/templates/gestion/video.html:5
#: gestion/templates/gestion/video.html:11
msgid "Liste des vidéos"
msgstr "Videos list"
#: gestion/templates/gestion/video.html:14
msgid "Ajouter une vidéo"
msgstr "Add a video"
#: gestion/templates/gestion/video.html:24
msgid "Pas de vidéos pour le moment"
msgstr "No videos at the moment"
#: gestion/views.py:178
msgid "Le champ Validation ne correspond pas à celui attendu" msgid "Le champ Validation ne correspond pas à celui attendu"
msgstr "Validation field don't match the expected value" msgstr "Validation field don't match the expected value"
@ -1034,8 +1144,6 @@ msgid "Disponible"
msgstr "Free" msgstr "Free"
#: instruments/models.py:30 #: instruments/models.py:30
#, fuzzy
#| msgid "Prêté"
msgid "Prêté·e" msgid "Prêté·e"
msgstr "Used" msgstr "Used"
@ -1045,18 +1153,14 @@ msgstr "Useful info"
#: instruments/models.py:52 #: instruments/models.py:52
#: instruments/templates/instruments/update_instru.html:48 #: instruments/templates/instruments/update_instru.html:48
#, fuzzy
#| msgid "Valider l'inscription"
msgid "Description" msgid "Description"
msgstr "Confirm registration" msgstr "Description"
#: instruments/models.py:55 #: instruments/models.py:55
msgid "Description en anglais" msgid "Description en anglais"
msgstr "Description in english" msgstr "Description in english"
#: instruments/models.py:58 #: instruments/models.py:58
#, fuzzy
#| msgid "Lieu"
msgid "Lieux" msgid "Lieux"
msgstr "Location" msgstr "Location"
@ -1069,90 +1173,62 @@ msgid "Réparations"
msgstr "Repairs" msgstr "Repairs"
#: instruments/templates/instruments/create_instru.html:3 #: instruments/templates/instruments/create_instru.html:3
#, fuzzy msgid "Ajout d'un instrument"
#| msgid "Ajout d'une actualité" msgstr "Add an instrument"
msgid "Ajout d'une instrument"
msgstr "Add news report"
#: instruments/templates/instruments/create_instru.html:10 #: instruments/templates/instruments/create_instru.html:10
#, fuzzy
#| msgid "Cette actualité a été enregistrée"
msgid "Cet instrument a été enregistré" msgid "Cet instrument a été enregistré"
msgstr "This news report has been saved" msgstr "This instrument has been saved"
#: instruments/templates/instruments/create_rep.html:3 #: instruments/templates/instruments/create_rep.html:3
#: instruments/templates/instruments/update_rep.html:3 #: instruments/templates/instruments/update_rep.html:3
#, fuzzy
#| msgid "Ajouter une partition :"
msgid "Ajout d'une réparation" msgid "Ajout d'une réparation"
msgstr "Add a part:" msgstr "Add a reparation:"
#: instruments/templates/instruments/create_rep.html:9 #: instruments/templates/instruments/create_rep.html:9
#: instruments/templates/instruments/update_rep.html:9 #: instruments/templates/instruments/update_rep.html:9
#, fuzzy
#| msgid "Retour à la liste"
msgid "Retour à la fiche" msgid "Retour à la fiche"
msgstr "Back to the list" msgstr "Back to the instrument"
#: instruments/templates/instruments/create_rep.html:10 #: instruments/templates/instruments/create_rep.html:10
#: instruments/templates/instruments/update_rep.html:10 #: instruments/templates/instruments/update_rep.html:10
#, fuzzy
#| msgid "Cette actualité a été enregistrée"
msgid "Cette réparation a été enregistrée" msgid "Cette réparation a été enregistrée"
msgstr "This news report has been saved" msgstr "This reparation has been saved"
#: instruments/templates/instruments/delete_instru.html:3 #: instruments/templates/instruments/delete_instru.html:3
#, fuzzy
#| msgid "Suppression d'un événement"
msgid "Suppression d'un instrument" msgid "Suppression d'un instrument"
msgstr "Event deletion" msgstr "Instrument deletion"
#: instruments/templates/instruments/delete_instru.html:10 #: instruments/templates/instruments/delete_instru.html:10
#, fuzzy
#| msgid "Retour aux partitions"
msgid "Retour aux instruments" msgid "Retour aux instruments"
msgstr "Back to sheet music" msgstr "Back to the instruments"
#: instruments/templates/instruments/delete_instru.html:11 #: instruments/templates/instruments/delete_instru.html:11
#, fuzzy, python-format
#| msgid " Voulez vous vraiment supprimer le pad %(object)s?"
msgid " Voulez vous vraiment supprimer le.a %(object)s?" msgid " Voulez vous vraiment supprimer le.a %(object)s?"
msgstr "Do you really want to delete the %(object)s event " msgstr "Do you really want to delete the %(object)s ?"
#: instruments/templates/instruments/delete_rep.html:3 #: instruments/templates/instruments/delete_rep.html:3
#, fuzzy
#| msgid "Suppression d'un pad"
msgid "Suppression d'une réparation" msgid "Suppression d'une réparation"
msgstr "Deletion of a pad" msgstr "Deletion of a reparation"
#: instruments/templates/instruments/delete_rep.html:10 #: instruments/templates/instruments/delete_rep.html:10
#, fuzzy
#| msgid "Retour à la liste"
msgid "Retour à la fiche instrument" msgid "Retour à la fiche instrument"
msgstr "Back to the list" msgstr "Back to the instrument"
#: instruments/templates/instruments/delete_rep.html:11 #: instruments/templates/instruments/delete_rep.html:11
#, fuzzy, python-format
#| msgid " Voulez vous vraiment supprimer le pad %(object)s?"
msgid " Voulez vous vraiment supprimer la réparation %(object)s?" msgid " Voulez vous vraiment supprimer la réparation %(object)s?"
msgstr "Do you really want to delete the %(object)s event " msgstr "Do you really want to delete the %(object)s reparation "
#: instruments/templates/instruments/instru_liste.html:24 #: instruments/templates/instruments/instru_liste.html:24
#, fuzzy
#| msgid "Ajouter un évènement"
msgid "Ajouter un instrument" msgid "Ajouter un instrument"
msgstr "Add an event" msgstr "Add an instrument"
#: instruments/templates/instruments/instru_liste.html:27 #: instruments/templates/instruments/instru_liste.html:27
#, fuzzy
#| msgid "Instrument·s bonus"
msgid "Instruments Disponibles :" msgid "Instruments Disponibles :"
msgstr "Extra instrument" msgstr "Available instrument"
#: instruments/templates/instruments/instru_liste.html:32 #: instruments/templates/instruments/instru_liste.html:32
#: instruments/templates/instruments/instru_liste.html:66 #: instruments/templates/instruments/instru_liste.html:66
#, fuzzy
#| msgid "Instrument"
msgid "Intrument" msgid "Intrument"
msgstr "Instrument" msgstr "Instrument"
@ -1167,16 +1243,12 @@ msgid "Consulter"
msgstr "Consult" msgstr "Consult"
#: instruments/templates/instruments/instru_liste.html:60 #: instruments/templates/instruments/instru_liste.html:60
#, fuzzy
#| msgid "Instrument joué"
msgid "Instruments Prêtés :" msgid "Instruments Prêtés :"
msgstr "Played instrument" msgstr "Landed instrument"
#: instruments/templates/instruments/update_instru.html:12 #: instruments/templates/instruments/update_instru.html:12
#, fuzzy, python-format
#| msgid "Le %(date)s à %(debut)s "
msgid " %(type)s en %(etat)s : %(statut)s " msgid " %(type)s en %(etat)s : %(statut)s "
msgstr "On %(date)s at %(debut)s" msgstr "%(type)s in %(etat)s : %(statut)s "
#: instruments/templates/instruments/update_instru.html:16 #: instruments/templates/instruments/update_instru.html:16
msgid "Propriétaire : " msgid "Propriétaire : "
@ -1207,10 +1279,8 @@ msgid "Prix : "
msgstr "Price : " msgstr "Price : "
#: instruments/templates/instruments/update_instru.html:25 #: instruments/templates/instruments/update_instru.html:25
#, fuzzy, python-format msgid "Acheté·e en"
#| msgid " Acheté.e en %(annee)s " msgstr "Purchased in"
msgid " Acheté·e en %(annee)s "
msgstr "Purchased in %(annee)s"
#: instruments/templates/instruments/update_instru.html:29 #: instruments/templates/instruments/update_instru.html:29
#: partitions/templates/partitions/part.html:73 #: partitions/templates/partitions/part.html:73
@ -1225,10 +1295,8 @@ msgstr[0] "Repair :"
msgstr[1] "Repairs :" msgstr[1] "Repairs :"
#: instruments/templates/instruments/update_instru.html:50 #: instruments/templates/instruments/update_instru.html:50
#, fuzzy
#| msgid " %(lieu)s"
msgid "lieu" msgid "lieu"
msgstr "%(lieu)s" msgstr "location"
#: pads/templates/pads/create.html:3 #: pads/templates/pads/create.html:3
msgid "Ajout d'un pad" msgid "Ajout d'un pad"
@ -1388,11 +1456,11 @@ msgstr "Back to sheet music"
msgid "Le caractère / n'est pas autorisé dans le nom" msgid "Le caractère / n'est pas autorisé dans le nom"
msgstr "The / character is not allowed in the name" msgstr "The / character is not allowed in the name"
#: partitions/views.py:150 partitions/views.py:237 #: partitions/views.py:152 partitions/views.py:243
msgid "Un morceau du même nom existe déjà" msgid "Un morceau du même nom existe déjà"
msgstr "A score with the same name already exists" msgstr "A score with the same name already exists"
#: partitions/views.py:229 #: partitions/views.py:235
msgid "Le caractère / n'est pas autorisé" msgid "Le caractère / n'est pas autorisé"
msgstr "The / character is not allowed" msgstr "The / character is not allowed"
@ -1409,10 +1477,8 @@ msgid "Avatar courant: "
msgstr "Current avatar :" msgstr "Current avatar :"
#: trombonoscope/templates/trombonoscope/add_avatar.html:17 #: trombonoscope/templates/trombonoscope/add_avatar.html:17
#, fuzzy
#| msgid "Ajouter un morceau"
msgid "Ajouter une nouvelle image" msgid "Ajouter une nouvelle image"
msgstr "Add a score" msgstr "Add an image"
#: trombonoscope/templates/trombonoscope/add_avatar.html:21 #: trombonoscope/templates/trombonoscope/add_avatar.html:21
#: trombonoscope/templates/trombonoscope/change_avatar.html:28 #: trombonoscope/templates/trombonoscope/change_avatar.html:28
@ -1481,28 +1547,34 @@ msgstr "Current yearbook"
msgid "Trombonoscope des anciens :" msgid "Trombonoscope des anciens :"
msgstr "Yearbook of former members:" msgstr "Yearbook of former members:"
#~ msgid ""
#~ " Voulez vous participer à l'événement %(nom)s, le %(date)s à %(debut|time:"
#~ "\"H:i\")s ?"
#~ msgstr ""
#~ "Do you want to participate in the %(nom)s event, on %(date)s at %(debut|"
#~ "time:\"H:i\")s?"
#~ msgid "Mon profil :"
#~ msgstr "My profil :"
#~ msgid "Photo pour le trombonoscope" #~ msgid "Photo pour le trombonoscope"
#~ msgstr "Picture for the yearbook" #~ msgstr "Picture for the yearbook"
#~ msgid "Partition supprimée" #~ msgid "Partition supprimée"
#~ msgstr "Sheet music deleted" #~ msgstr "Sheet music deleted"
#, fuzzy
#~| msgid "agenda"
#~ msgid "and"
#~ msgstr "schedule"
#, fuzzy #~ msgid "and"
#~| msgid "Non" #~ msgstr "and"
#~ msgid "No" #~ msgid "No"
#~ msgstr "No" #~ msgstr "No"
#, fuzzy
#~| msgid "Non"
#~ msgid "Mon" #~ msgid "Mon"
#~ msgstr "No" #~ msgstr "No"
#, fuzzy
#~| msgid " Le %(date)s"
#~ msgid "end date" #~ msgid "end date"
#~ msgstr "On %(date)s" #~ msgstr "end date"