Files
@ 5a3aec47cfd9
Branch filter:
Location: symposion_app/symposion/sponsorship/views.py - annotation
5a3aec47cfd9
2.5 KiB
text/x-python
Bumped version for next release
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 0f32fdcb74ad 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("dashboard")
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))
|