# if the conference is configured for jinja templates.
#
def render_conference_response(request, conference, pagemagic, templatename, dictionary=None):
- # Conference can be None for pages that can be both inside and outside
- # the framework, such as the speaker profile.
- if conference and conference.jinjadir:
+ if not conference:
+ raise Exception("Conference has to be specified!")
+
+ if conference.jinjadir:
# If a jinjadir is defined, then *always* use jinja.
return render_jinja_conference_response(request, conference, pagemagic, templatename, dictionary)
return HttpResponse(base64.b64decode(speakerphoto.photo), content_type='image/jpg')
@login_required
-def speakerprofile(request, confurlname=None):
+def speakerprofile(request, confurlname):
+ conf = get_object_or_404(Conference, urlname=confurlname)
speaker = conferences = callforpapers = None
try:
speaker = get_object_or_404(Speaker, user=request.user)
else:
form = SpeakerProfileForm(instance=speaker)
- if confurlname:
- conf = get_object_or_404(Conference, urlname=confurlname)
- else:
- conf = None
return render_conference_response(request, conf, 'cfp', 'confreg/speakerprofile.html', {
'speaker': speaker,
'conferences': conferences,
(r'^events/reports/time/$', postgresqleu.confreg.reporting.timereport),
(r'^events/([^/]+)/sessions/$', postgresqleu.confreg.views.sessionlist),
(r'^events/speaker/(\d+)/photo/$', postgresqleu.confreg.views.speakerphoto),
- (r'^events/speakerprofile/$', postgresqleu.confreg.views.speakerprofile),
(r'^events/([^/]+)/speakerprofile/$', postgresqleu.confreg.views.speakerprofile),
(r'^events/([^/]+)/callforpapers/$', postgresqleu.confreg.views.callforpapers),
(r'^events/([^/]+)/callforpapers/(\d+|new)/$', postgresqleu.confreg.views.callforpapers_edit),