from postgresqleu.confreg.models import Conference, PrepaidVoucher, DiscountCode
from postgresqleu.confreg.models import ConferenceTweetQueue
+from postgresqleu.confreg.backendviews import get_authenticated_conference
from postgresqleu.confreg.jinjafunc import render_sandboxed_template
from postgresqleu.mailqueue.util import send_simple_mail, send_template_mail
from postgresqleu.util.storage import InlineEncodedStorage
conference = get_object_or_404(Conference, urlname=confurlname)
if not conference.callforsponsorsopen:
# This one is not open. But if we're an admin, we may bypass
- if not conference.administrators.filter(pk=request.user.id).exists():
- raise Http404()
+ get_authenticated_conference(request, confurlname)
current_signups = Sponsor.objects.filter(managers=request.user, conference=conference)
levels = SponsorshipLevel.objects.filter(conference=conference)
conference = get_object_or_404(Conference, urlname=confurlname)
if not conference.callforsponsorsopen:
# This one is not open. But if we're an admin, we may bypass
- if not conference.administrators.filter(pk=request.user.id).exists():
- raise Http404()
+ get_authenticated_conference(request, confurlname)
level = get_object_or_404(SponsorshipLevel, conference=conference, urlname=levelurlname, available=True)
if not level.can_signup:
@login_required
def sponsor_admin_dashboard(request, confurlname):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
confirmed_sponsors = Sponsor.objects.filter(conference=conference, confirmed=True).order_by('-level__levelcost', 'confirmedat')
unconfirmed_sponsors = Sponsor.objects.filter(conference=conference, confirmed=False).order_by('level__levelcost', 'name')
@login_required
def sponsor_admin_sponsor(request, confurlname, sponsorid):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
sponsor = get_object_or_404(Sponsor, id=sponsorid, conference=conference)
@login_required
@transaction.atomic
def sponsor_admin_confirm(request, confurlname, sponsorid):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
sponsor = get_object_or_404(Sponsor, id=sponsorid, conference=conference)
@login_required
def sponsor_admin_benefit(request, confurlname, benefitid):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
benefit = get_object_or_404(SponsorClaimedBenefit, id=benefitid, sponsor__conference=conference)
if benefit.benefit.benefit_class:
@login_required
@transaction.atomic
def sponsor_admin_send_mail(request, confurlname):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
if request.method == 'POST':
form = SponsorSendEmailForm(conference, data=request.POST)
@login_required
def sponsor_admin_view_mail(request, confurlname, mailid):
- if request.user.is_superuser:
- conference = get_object_or_404(Conference, urlname=confurlname)
- else:
- conference = get_object_or_404(Conference, urlname=confurlname, administrators=request.user)
+ conference = get_authenticated_conference(request, confurlname)
mail = get_object_or_404(SponsorMail, conference=conference, id=mailid)
return render(request, 'confsponsor/sent_mail.html', {