Skip to content

Commit

Permalink
bring over fixes from symposion
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeman committed Aug 13, 2012
1 parent 042e756 commit 1342402
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions symposion/proposals/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from django.views import static

from django.contrib import messages
from django.contrib.auth.models import User
from django.contrib.auth.decorators import login_required

from account.models import EmailAddress
Expand Down Expand Up @@ -203,8 +204,47 @@ def proposal_detail(request, pk):
if request.user not in [p.user for p in proposal.speakers()]:
raise Http404()

if "symposion.reviews" in settings.INSTALLED_APPS:
from symposion.reviews.forms import SpeakerCommentForm
message_form = SpeakerCommentForm()
if request.method == "POST":
message_form = SpeakerCommentForm(request.POST)
if message_form.is_valid():

message = message_form.save(commit=False)
message.user = request.user
message.proposal = proposal
message.save()

ProposalMessage = SpeakerCommentForm.Meta.model
reviewers = User.objects.filter(
id__in=ProposalMessage.objects.filter(
proposal=proposal
).exclude(
user=request.user
).distinct().values_list("user", flat=True)
)

for reviewer in reviewers:
ctx = {
"proposal": proposal,
"message": message,
"reviewer": True,
}
send_email(
[reviewer.email], "proposal_new_message",
context=ctx
)

return redirect(request.path)
else:
message_form = SpeakerCommentForm()
else:
message_form = None

return render(request, "proposals/proposal_detail.html", {
"proposal": proposal,
"message_form": message_form
})


Expand Down Expand Up @@ -243,7 +283,7 @@ def proposal_leave(request, pk):
proposal.additional_speakers.remove(speaker)
# @@@ fire off email to submitter and other speakers
messages.success(request, "You are no longer speaking on %s" % proposal.title)
return redirect("speaker_dashboard")
return redirect("dashboard")
ctx = {
"proposal": proposal,
}
Expand Down Expand Up @@ -282,6 +322,9 @@ def document_create(request, proposal_pk):
proposal = get_object_or_404(queryset, pk=proposal_pk)
proposal = ProposalBase.objects.get_subclass(pk=proposal.pk)

if proposal.cancelled:
return HttpResponseForbidden()

if request.method == "POST":
form = SupportingDocumentCreateForm(request.POST, request.FILES)
if form.is_valid():
Expand All @@ -302,7 +345,7 @@ def document_create(request, proposal_pk):
@login_required
def document_download(request, pk, *args):
document = get_object_or_404(SupportingDocument, pk=pk)
if settings.USE_X_ACCEL_REDIRECT:
if getattr(settings, "USE_X_ACCEL_REDIRECT", False):
response = HttpResponse()
response["X-Accel-Redirect"] = document.file.url
# delete content-type to allow Gondor to determine the filetype and
Expand Down

0 comments on commit 1342402

Please sign in to comment.