Files
@ f369e1d8adc6
Branch filter:
Location: symposion_app/symposion/sponsorship/views.py - annotation
f369e1d8adc6
2.5 KiB
text/x-python
Merge pull request #4 from pyohio/future-django
Changes for Django 1.5+
Changes for Django 1.5+
0f32fdcb74ad 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 022d62721d18 022d62721d18 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 daff4020eaf1 daff4020eaf1 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 8f0e4cf6a175 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 0f32fdcb74ad 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 daff4020eaf1 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 0f32fdcb74ad 3ffcc4da7c24 0f32fdcb74ad 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 3ffcc4da7c24 | from django.http import Http404
from django.shortcuts import render_to_response, redirect, get_object_or_404
from django.template import RequestContext
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from symposion.sponsorship.forms import SponsorApplicationForm, SponsorDetailsForm, SponsorBenefitsFormSet
from symposion.sponsorship.models import Sponsor, SponsorBenefit
@login_required
def sponsor_apply(request):
if request.method == "POST":
form = SponsorApplicationForm(request.POST, user=request.user)
if form.is_valid():
sponsor = form.save()
return redirect("sponsor_detail", pk=sponsor.pk)
else:
form = SponsorApplicationForm(user=request.user)
return render_to_response("sponsorship/apply.html", {
"form": form,
}, context_instance=RequestContext(request))
@login_required
def sponsor_add(request):
if not request.user.is_staff:
raise Http404()
if request.method == "POST":
form = SponsorApplicationForm(request.POST, user=request.user)
if form.is_valid():
sponsor = form.save(commit=False)
sponsor.active = True
sponsor.save()
return redirect("sponsor_detail", pk=sponsor.pk)
else:
form = SponsorApplicationForm(user=request.user)
return render_to_response("sponsorship/add.html", {
"form": form,
}, context_instance=RequestContext(request))
@login_required
def sponsor_detail(request, pk):
sponsor = get_object_or_404(Sponsor, pk=pk)
if sponsor.applicant != request.user:
return redirect("sponsor_list")
formset_kwargs = {
"instance": sponsor,
"queryset": SponsorBenefit.objects.filter(active=True)
}
if request.method == "POST":
form = SponsorDetailsForm(request.POST, instance=sponsor)
formset = SponsorBenefitsFormSet(request.POST, request.FILES, **formset_kwargs)
if form.is_valid() and formset.is_valid():
form.save()
formset.save()
messages.success(request, "Sponsorship details have been updated")
return redirect("dashboard")
else:
form = SponsorDetailsForm(instance=sponsor)
formset = SponsorBenefitsFormSet(**formset_kwargs)
return render_to_response("sponsorship/detail.html", {
"sponsor": sponsor,
"form": form,
"formset": formset,
}, context_instance=RequestContext(request))
|