Merge pull request #30 from florapdx/master
change sponsorship/views.py so that admins can add logos/text from dashboard
This commit is contained in:
commit
475b32f4bb
7 changed files with 39 additions and 41 deletions
|
@ -5,14 +5,6 @@ from symposion.reviews.models import Review, ReviewAssignment
|
|||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.assignment_tag(takes_context=True)
|
||||
def user_reviews(context):
|
||||
request = context["request"]
|
||||
reviews = Review.objects.filter(user=request.user)
|
||||
return reviews
|
||||
|
||||
|
||||
@register.assignment_tag(takes_context=True)
|
||||
def review_assignments(context):
|
||||
request = context["request"]
|
||||
|
|
|
@ -2,7 +2,9 @@ from django.conf.urls.defaults import patterns, url
|
|||
|
||||
|
||||
urlpatterns = patterns("symposion.reviews.views",
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/$", "review_section", name="review_section"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/all/$", "review_section", {"reviewed": "all"}, name="review_section"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/reviewed/$", "review_section", {"reviewed": "reviewed"}, name="user_reviewed"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/not_reviewed/$", "review_section", {"reviewed": "not_reviewed"}, name="user_not_reviewed"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/assignments/$", "review_section", {"assigned": True}, name="review_section_assignments"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/status/$", "review_status", name="review_status"),
|
||||
url(r"^section/(?P<section_slug>[\w\-]+)/status/(?P<key>\w+)/$", "review_status", name="review_status"),
|
||||
|
|
|
@ -62,8 +62,10 @@ def proposals_generator(request, queryset, user_pk=None, check_speaker=True):
|
|||
yield obj
|
||||
|
||||
|
||||
# Returns a list of all proposals, proposals reviewed by the user, or the proposals the user has yet to review
|
||||
# depending on the link user clicks in dashboard
|
||||
@login_required
|
||||
def review_section(request, section_slug, assigned=False):
|
||||
def review_section(request, section_slug, assigned=False, reviewed='all'):
|
||||
|
||||
if not request.user.has_perm("reviews.can_review_%s" % section_slug):
|
||||
return access_not_permitted(request)
|
||||
|
@ -74,19 +76,28 @@ def review_section(request, section_slug, assigned=False):
|
|||
if assigned:
|
||||
assignments = ReviewAssignment.objects.filter(user=request.user).values_list("proposal__id")
|
||||
queryset = queryset.filter(id__in=assignments)
|
||||
|
||||
queryset = queryset.select_related("result").select_subclasses()
|
||||
|
||||
|
||||
# passing reviewed in from reviews.urls and out to review_list for appropriate template header rendering
|
||||
if reviewed == 'all':
|
||||
queryset = queryset.select_related("result").select_subclasses()
|
||||
reviewed = 'all_reviews'
|
||||
elif reviewed == 'reviewed':
|
||||
queryset = queryset.filter(reviews__user=request.user)
|
||||
reviewed = 'user_reviewed'
|
||||
else:
|
||||
queryset = queryset.exclude(reviews__user=request.user).exclude(speaker=request.user)
|
||||
reviewed = 'user_not_reviewed'
|
||||
|
||||
proposals = proposals_generator(request, queryset)
|
||||
|
||||
ctx = {
|
||||
"proposals": proposals,
|
||||
"section": section,
|
||||
"reviewed": reviewed,
|
||||
}
|
||||
|
||||
return render(request, "reviews/review_list.html", ctx)
|
||||
|
||||
|
||||
@login_required
|
||||
def review_list(request, section_slug, user_pk):
|
||||
|
||||
|
|
|
@ -26,12 +26,16 @@ class Speaker(models.Model):
|
|||
default = datetime.datetime.now,
|
||||
editable = False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ['name']
|
||||
|
||||
def __unicode__(self):
|
||||
if self.user:
|
||||
return self.name
|
||||
else:
|
||||
return "?"
|
||||
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("speaker_edit")
|
||||
|
|
|
@ -35,7 +35,7 @@ def sponsor_add(request):
|
|||
sponsor = form.save(commit=False)
|
||||
sponsor.active = True
|
||||
sponsor.save()
|
||||
return redirect("dashboard")
|
||||
return redirect("sponsor_detail", pk=sponsor.pk)
|
||||
else:
|
||||
form = SponsorApplicationForm(user=request.user)
|
||||
|
||||
|
|
|
@ -131,38 +131,19 @@
|
|||
<i class="icon-briefcase"></i>
|
||||
<h3>{% trans "Reviews" %}</h3>
|
||||
</div>
|
||||
{% user_reviews as user_reviews %}
|
||||
|
||||
<div class="dashboard-panel-content">
|
||||
<h4>Review Sections</h4>
|
||||
<h4>Reviews by Section</h4>
|
||||
|
||||
<ul>
|
||||
{% for section in review_sections %}
|
||||
<li><a href="{% url review_section section.section.slug %}">{{ section }}</a></li>
|
||||
<h5>{{ section }}</h5>
|
||||
<li><a href="{% url review_section section.section.slug %}">All</a></li>
|
||||
<li><a href="{% url user_reviewed section.section.slug %}">Reviewed by you</a></li>
|
||||
<li><a href="{% url user_not_reviewed section.section.slug %}">Not Reviewed by you</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<h4>Proposals you have reviewed</h4>
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<th>#</th>
|
||||
<th>Speaker / Title</th>
|
||||
<th>Your Vote</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for review in user_reviews %}
|
||||
<tr>
|
||||
<td>{{ review.proposal.number }}</td>
|
||||
<td>
|
||||
<b>{{ review.proposal.speaker }}</b>
|
||||
<br />
|
||||
{{ review.proposal.title }}
|
||||
</td>
|
||||
<td>{{ review.vote }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% comment %}
|
||||
<h4>My Assignments</h4>
|
||||
<table class="table">
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
{% extends "reviews/base.html" %}
|
||||
|
||||
{% block body %}
|
||||
<h3>{{ section }}</h3>
|
||||
<h3>{{ section }}</h3>
|
||||
{% if reviewed == 'all_reviews' %}
|
||||
<h4>All proposals</h4>
|
||||
{% elif reviewed == 'user_reviewed' %}
|
||||
<h4>Proposals you have reviewed</h4>
|
||||
{% else %}
|
||||
<h4>Proposals you have not yet reviewed</h4>
|
||||
{% endif %}
|
||||
|
||||
{% include "reviews/_review_table.html" %}
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in a new issue