Skip to content

Commit

Permalink
✨ Add page to show all talk feedback
Browse files Browse the repository at this point in the history
Closes #794
  • Loading branch information
michalpirchala authored and rixx committed Dec 5, 2019
1 parent 14b2a6a commit 66934e1
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/pretalx/event/models/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ class orga_urls(EventUrls):
stats = '{base}submissions/statistics/'
submission_feed = '{base}submissions/feed/'
new_submission = '{submissions}new'
feedback = '{submissions}feedback/'
speakers = '{base}speakers/'
settings = edit_settings = '{base}settings/'
review_settings = '{settings}review/'
Expand Down
5 changes: 4 additions & 1 deletion src/pretalx/orga/templates/orga/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -253,12 +253,15 @@
</a>
</span>
<div class="collapse in{% if "submissions." in url_name|slice:":13" %} show{% endif %}" aria-expand="true" id="collapseSubmissions">
<a href="{{ request.event.orga_urls.submissions }}" class="nav-link nav-link-second-level{% if "submissions." in url_name and "submissions.statistics" not in url_name %} active{% endif %}">
<a href="{{ request.event.orga_urls.submissions }}" class="nav-link nav-link-second-level{% if "submissions." in url_name and "submissions.statistics" not in url_name and "submissions.feedback" not in url_name %} active{% endif %}">
<span>{% trans "Submissions" %}</span>
</a>
<a href="{{ request.event.orga_urls.stats }}" class="nav-link nav-link-second-level{% if "submissions.statistics" in url_name %} active{% endif %}">
<span>{% trans "Statistics" %}</span>
</a>
<a href="{{ request.event.orga_urls.feedback }}" class="nav-link nav-link-second-level{% if "submissions.feedback" in url_name %} active{% endif %}">
<span>{% trans "Feedback" %}</span>
</a>
</div>
</div>
<a class="nav-link {% if "reviews." in url_name %}active{% endif %}" href="{% url "orga:reviews.dashboard" event=request.event.slug %}">
Expand Down
27 changes: 27 additions & 0 deletions src/pretalx/orga/templates/orga/submission/feedbacks_list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{% extends "orga/cfp/base.html" %}
{% load i18n %}
{% load rich_text %}

{% block content %}
<h2 class="d-flex w-100 justify-content-between align-items-start">
{% trans "Attendee feedback" %}
</h2>

{% regroup feedback|dictsort:"talk.title" by talk.title as feedbacks_list %}

{% for submission in feedbacks_list %}
<h4>{% trans "Feedback for" %} {{ quotation_open }}<a href="{{ submission.list.1.talk.orga_urls.base }}">{{ submission.grouper }}</a>{{ quotation_close }}</h4>

{% for entry in submission.list %}
<div class="card feedback-card">
<div class="card-body">
{{ entry.review|rich_text }}
</div>
</div>
{% empty %}
{% trans "There has been no feedback for this event yet." %}
{% endfor %}
<br><br>
{% endfor %}
{% include "orga/pagination.html" %}
{% endblock %}
1 change: 1 addition & 0 deletions src/pretalx/orga/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
url('^submissions/cards/$', cards.SubmissionCards.as_view(), name='submissions.cards'),
url('^submissions/feed/$', submission.SubmissionFeed(), name='submissions.feed'),
url('^submissions/statistics/$', submission.SubmissionStats.as_view(), name='submissions.statistics'),
url('^submissions/feedback/$', submission.AllFeedbacksList.as_view(), name='submissions.feedback'),
url(r'^submissions/(?P<code>[\w-]+)/', include([
url('^$', submission.SubmissionContent.as_view(), name='submissions.content.view'),
url('^submit$', submission.SubmissionStateChange.as_view(), name='submissions.submit'),
Expand Down
20 changes: 19 additions & 1 deletion src/pretalx/orga/views/submission.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
from pretalx.person.models import SpeakerProfile, User
from pretalx.submission.forms import QuestionsForm, ResourceForm, SubmissionFilterForm
from pretalx.submission.models import (
Resource, Submission, SubmissionError, SubmissionStates,
Feedback, Resource, Submission, SubmissionError, SubmissionStates,
)


Expand Down Expand Up @@ -587,3 +587,21 @@ def talk_track_data(self):
counter = Counter(str(submission.track) for submission in self.request.event.submissions.filter(state__in=[SubmissionStates.ACCEPTED, SubmissionStates.CONFIRMED]))
return json.dumps(sorted(list({'label': label, 'value': value} for label, value in counter.items()), key=itemgetter('label')))
return ''


class AllFeedbacksList(EventPermissionRequired, ListView):
model = Feedback
context_object_name = 'feedback'
template_name = 'orga/submission/feedbacks_list.html'

permission_required = 'submission.view_feedback'
paginate_by = 25

def get_queryset(self):
qs = (
Feedback.objects
.order_by('-pk')
.select_related('talk')
.filter(talk__event=self.request.event)
)
return qs

0 comments on commit 66934e1

Please sign in to comment.