def analysis(request, location_slug=None): """Base page for the analysis of tracked sessions.""" page = Page(request) page.add_render_args({'location': get_object_or_404(Location, slug=location_slug)}) # Use default data determined by the user's profile if the form has no POST # data given to it if request.POST: form_data = request.POST profile = None else: form_data = None profile = request.user.get_profile() filter_form = SessionFilterForm(form_data, profile=profile) if filter_form.is_valid(): filters = filter_form.as_filtered_sessions() Lens = filter_form.cleaned_data['lens'] lens = Lens(filters) page.add_render_args({ 'filters': filters, 'lens_media': lens.provide_media(), 'panels': lens.ordered_panels()}) page.add_render_args({'filter_form': filter_form}) return page.render("panoptes/analysis/base.html")
def preferences(request): """A view that allows the user to edit their preferences.""" page = Page(request) profile = request.user.get_profile() if request.POST: post_data = request.POST.copy() post_data['user'] = request.user.pk prefs_form = UserPreferencesForm(post_data, instance=profile) if prefs_form.is_valid(): prefs_form.save() request.session[_PREFS_UPDATED_KEY] = True return HttpResponseRedirect(reverse("account-preferences")) else: prefs_form = UserPreferencesForm(instance=profile) if request.session.get(_PREFS_UPDATED_KEY, False): page.add_render_args({'updated': True}) del request.session[_PREFS_UPDATED_KEY] page.add_render_args({'form': prefs_form}) return page.render("panoptes/accounts/preferences.html")
def analysis(request, location_slug=None): """Base page for the analysis of tracked sessions.""" page = Page(request) page.add_render_args({"location": get_object_or_404(Location, slug=location_slug)}) # Use default data determined by the user's profile if the form has no POST # data given to it if request.POST: form_data = request.POST profile = None else: form_data = None profile = request.user.get_profile() filter_form = SessionFilterForm(form_data, profile=profile) if filter_form.is_valid(): filters = filter_form.as_filtered_sessions() Lens = filter_form.cleaned_data["lens"] lens = Lens(filters) page.add_render_args({"filters": filters, "lens_media": lens.provide_media(), "panels": lens.ordered_panels()}) page.add_render_args({"filter_form": filter_form}) return page.render("panoptes/analysis/base.html")
def error_500(request): """Handle a 500 server error.""" page = Page(request) return page.render("panoptes/core/errors/500.html")
def error_404(request): """Handle a 404 not found error.""" page = Page(request) return page.render("panoptes/core/errors/404.html")