new page 'participate'
This commit is contained in:
parent
290e019fb4
commit
1d8d03b2f5
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-09-16 16:10+0000\n"
|
||||
"POT-Creation-Date: 2016-09-17 14:35+0000\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"
|
||||
|
@ -184,7 +184,7 @@ msgid "Delete These"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/registration/login.html:11
|
||||
#: ponyconf/templates/base.html:79
|
||||
#: ponyconf/templates/base.html:80
|
||||
msgid "Login"
|
||||
msgstr "Se connecter"
|
||||
|
||||
|
@ -261,42 +261,47 @@ msgstr "Français"
|
|||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: ponyconf/templates/base.html:47 proposals/templates/proposals/talks.html:9
|
||||
#: proposals/templates/proposals/user_details.html:22
|
||||
msgid "Talks"
|
||||
msgstr "Exposés"
|
||||
#: ponyconf/templates/base.html:47
|
||||
#: proposals/templates/proposals/participate.html:9
|
||||
msgid "Participate"
|
||||
msgstr "Participer"
|
||||
|
||||
#: ponyconf/templates/base.html:48 proposals/models.py:70
|
||||
#: proposals/templates/proposals/topic_list.html:9
|
||||
msgid "Topics"
|
||||
msgstr "Thèmes"
|
||||
|
||||
#: ponyconf/templates/base.html:50 proposals/models.py:65
|
||||
#: ponyconf/templates/base.html:50 proposals/templates/proposals/talks.html:9
|
||||
#: proposals/templates/proposals/user_details.html:22
|
||||
msgid "Talks"
|
||||
msgstr "Exposés"
|
||||
|
||||
#: ponyconf/templates/base.html:51 proposals/models.py:65
|
||||
#: proposals/templates/proposals/speaker_list.html:9
|
||||
msgid "Speakers"
|
||||
msgstr "Orateurs"
|
||||
|
||||
#: ponyconf/templates/base.html:59
|
||||
#: ponyconf/templates/base.html:60
|
||||
msgid "Administration"
|
||||
msgstr "Administration"
|
||||
|
||||
#: ponyconf/templates/base.html:66
|
||||
#: ponyconf/templates/base.html:67
|
||||
msgid "Conference"
|
||||
msgstr "Conférence"
|
||||
|
||||
#: ponyconf/templates/base.html:68
|
||||
#: ponyconf/templates/base.html:69
|
||||
msgid "Participants"
|
||||
msgstr "Participants"
|
||||
|
||||
#: ponyconf/templates/base.html:69
|
||||
#: ponyconf/templates/base.html:70
|
||||
msgid "Correspondence"
|
||||
msgstr "Correspondance"
|
||||
|
||||
#: ponyconf/templates/base.html:78
|
||||
#: ponyconf/templates/base.html:79
|
||||
msgid "Register"
|
||||
msgstr "S’inscrire"
|
||||
|
||||
#: ponyconf/templates/base.html:104
|
||||
#: ponyconf/templates/base.html:105
|
||||
msgid "Powered by"
|
||||
msgstr "Propulsé par"
|
||||
|
||||
|
@ -352,9 +357,18 @@ msgstr ""
|
|||
msgid "other"
|
||||
msgstr "autre"
|
||||
|
||||
#: proposals/templates/proposals/_talk_list.html:4
|
||||
msgid "total:"
|
||||
msgstr "total :"
|
||||
#: proposals/templates/proposals/_talk_list.html:8
|
||||
msgid "by"
|
||||
msgstr "par"
|
||||
|
||||
#: proposals/templates/proposals/_talk_list.html:11
|
||||
#: proposals/templates/proposals/_talk_list.html:17
|
||||
msgid "and"
|
||||
msgstr "et"
|
||||
|
||||
#: proposals/templates/proposals/_talk_list.html:14
|
||||
msgid "in"
|
||||
msgstr "portant sur"
|
||||
|
||||
#: proposals/templates/proposals/_talk_list.html:23
|
||||
msgid "No talks"
|
||||
|
@ -368,6 +382,20 @@ msgstr "Paramètres de la conférence"
|
|||
msgid "Home page"
|
||||
msgstr "Page d’accueil"
|
||||
|
||||
#: proposals/templates/proposals/participate.html:12
|
||||
msgid "My talks:"
|
||||
msgstr "Mes exposés :"
|
||||
|
||||
#: proposals/templates/proposals/participate.html:17
|
||||
msgid "Proposed talks for others speakers:"
|
||||
msgstr "Exposés proposés pour un tier :"
|
||||
|
||||
#: proposals/templates/proposals/participate.html:22
|
||||
#: proposals/templates/proposals/talk_edit.html:9
|
||||
#: proposals/templates/proposals/talks.html:11
|
||||
msgid "Propose a talk"
|
||||
msgstr "Proposer un exposé"
|
||||
|
||||
#: proposals/templates/proposals/speaker_list.html:15
|
||||
#: proposals/templates/proposals/topic_list.html:23
|
||||
msgid "talk"
|
||||
|
@ -493,11 +521,6 @@ msgstr "Messages :"
|
|||
msgid "These messages are for organization team only."
|
||||
msgstr "Ces messages sont à destination de la team d’organisation seulement."
|
||||
|
||||
#: proposals/templates/proposals/talk_edit.html:9
|
||||
#: proposals/templates/proposals/talks.html:11
|
||||
msgid "Propose a talk"
|
||||
msgstr "Proposer un exposé"
|
||||
|
||||
#: proposals/templates/proposals/talks.html:14
|
||||
msgid "My participing talks"
|
||||
msgstr "Exposés auxquels je participe"
|
||||
|
@ -566,27 +589,27 @@ msgstr "Accepte d’être enregistré en vidéo :"
|
|||
msgid "Video licence:"
|
||||
msgstr "Licence vidéo :"
|
||||
|
||||
#: proposals/views.py:65
|
||||
#: proposals/views.py:73
|
||||
#, python-format
|
||||
msgid "Talks related to %s:"
|
||||
msgstr "Exposés portant sur la thématique %s :"
|
||||
|
||||
#: proposals/views.py:84
|
||||
#: proposals/views.py:92
|
||||
msgid "Talk modified successfully!"
|
||||
msgstr "Exposé modifié avec succès !"
|
||||
|
||||
#: proposals/views.py:90
|
||||
#: proposals/views.py:98
|
||||
msgid "Talk proposed successfully!"
|
||||
msgstr "Exposé proposé avec succès !"
|
||||
|
||||
#: proposals/views.py:158
|
||||
#: proposals/views.py:166
|
||||
msgid "Vote successfully created"
|
||||
msgstr "A voté !"
|
||||
|
||||
#: proposals/views.py:158
|
||||
#: proposals/views.py:166
|
||||
msgid "Vote successfully updated"
|
||||
msgstr "Vote mis à jour"
|
||||
|
||||
#: proposals/views.py:184
|
||||
#: proposals/views.py:192
|
||||
msgid "Decision taken in account"
|
||||
msgstr "Décision enregistrée"
|
||||
|
|
|
@ -43,9 +43,10 @@
|
|||
<ul class="nav navbar-nav">
|
||||
<li{% block hometab %}{% endblock %}><a href="{% url 'home' %}">{% trans "Home" %}</a></li>
|
||||
{% if request.user.is_authenticated %}
|
||||
<li{% block talktab %}{% endblock %}><a href="{% url 'list-talks' %}">{% trans "Talks" %}</a></li>
|
||||
<li{% block participatetab %}{% endblock %}><a href="{% url 'participate' %}">{% trans "Participate" %}</a></li>
|
||||
<li{% block topictab %}{% endblock %}><a href="{% url 'list-topics' %}">{% trans "Topics" %}</a></li>
|
||||
{% if request|staff %}
|
||||
<li{% block talktab %}{% endblock %}><a href="{% url 'list-talks' %}">{% trans "Talks" %}</a></li>
|
||||
<li{% block speakertab %}{% endblock %}><a href="{% url 'list-speakers' %}">{% trans "Speakers" %}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{% load i18n %}
|
||||
{% regroup talk_list by event as event_list %}
|
||||
{% for event in event_list %}
|
||||
<h3>{{ event.list.0.event }} ({% trans "total:" %} {{ event.list|length }})</h3>
|
||||
<h3>{{ event.list.0.event }}</h3>
|
||||
<ul>{% for talk in event.list %}
|
||||
<li>
|
||||
{{ talk.get_link }}
|
||||
<i>by</i>
|
||||
<i>{% trans "by" %}</i>
|
||||
{% for speaker in talk.speakers.all %}
|
||||
<a href="{% url 'show-speaker' speaker.username %}">{{ speaker }}</a>
|
||||
{% if forloop.revcounter == 2 %} and {% elif not forloop.last %}, {% endif %}
|
||||
{% if forloop.revcounter == 2 %} {% trans "and" %} {% elif not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
{% if talk.topics.exists %}
|
||||
<i>in</i>
|
||||
<i>{% trans "in" %}</i>
|
||||
{% for topic in talk.topics.all %}
|
||||
<a href="{% url 'list-talks-by-topic' topic.slug %}">{{ topic }}</a>
|
||||
{% if forloop.revcounter == 2 %} and {% elif not forloop.last %}, {% endif %}
|
||||
{% if forloop.revcounter == 2 %} {% trans "and" %} {% elif not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</li>
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block participatetab %} class="active"{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{% trans "Participate" %}</h1>
|
||||
|
||||
{% if my_talks %}
|
||||
<h2>{% trans "My talks:" %}</h2>
|
||||
{% include "proposals/_talk_list.html" with talk_list=my_talks %}
|
||||
{% endif %}
|
||||
|
||||
{% if proposed_talks %}
|
||||
<h2>{% trans "Proposed talks for others speakers:" %}</h2>
|
||||
{% include "proposals/_talk_list.html" with talk_list=proposed_talks %}
|
||||
{% endif %}
|
||||
|
||||
<br />
|
||||
<a class="btn btn-success" href="{% url 'add-talk' %}">{% trans "Propose a talk" %}</a>
|
||||
|
||||
{% endblock %}
|
|
@ -6,6 +6,7 @@ urlpatterns = [
|
|||
url(r'^markdown/$', views.markdown_preview, name='markdown'),
|
||||
url(r'^$', views.home, name='home'),
|
||||
url(r'^conference/$', views.conference, name='conference'),
|
||||
url(r'^participate/$', views.participate, name='participate'),
|
||||
url(r'^talk/$', views.talk_list, name='list-talks'),
|
||||
url(r'^talk/add/$', views.talk_edit, name='add-talk'),
|
||||
url(r'^talk/edit/(?P<talk>[-\w]+)$', views.talk_edit, name='edit-talk'),
|
||||
|
|
|
@ -14,7 +14,7 @@ from django.http import HttpResponse
|
|||
|
||||
from accounts.models import Participation
|
||||
from accounts.mixins import OrgaRequiredMixin, StaffRequiredMixin
|
||||
from accounts.decorators import orga_required
|
||||
from accounts.decorators import orga_required, staff_required
|
||||
|
||||
from conversations.models import ConversationWithParticipant, ConversationAboutTalk, Message
|
||||
|
||||
|
@ -48,13 +48,22 @@ def conference(request):
|
|||
'form': form,
|
||||
})
|
||||
|
||||
|
||||
@login_required
|
||||
def participate(request):
|
||||
talks = Talk.objects.filter(site=get_current_site(request))#.filter(Q(speakers=request.user) | Q(proposer=request.user)).distinct()
|
||||
my_talks = talks.filter(speakers=request.user)
|
||||
proposed_talks = talks.exclude(speakers=request.user).filter(proposer=request.user)
|
||||
return render(request, 'proposals/participate.html', {
|
||||
'my_talks': my_talks,
|
||||
'proposed_talks': proposed_talks,
|
||||
})
|
||||
|
||||
@staff_required
|
||||
def talk_list(request):
|
||||
talks = Talk.objects.filter(site=get_current_site(request))
|
||||
return render(request, 'proposals/talks.html', {
|
||||
'my_talks': talks.filter(Q(speakers=request.user) | Q(proposer=request.user)).distinct(),
|
||||
'other_talks': allowed_talks(talks.exclude(Q(speakers=request.user) | Q(proposer=request.user)), request)
|
||||
talks = allowed_talks(Talk.objects.filter(site=get_current_site(request)), request)
|
||||
return render(request, 'proposals/talk_list.html', {
|
||||
'title': _('Talks') + ' (%d)' % len(talks),
|
||||
'talk_list': talks,
|
||||
})
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue