Esempio n. 1
0
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")
Esempio n. 2
0
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")
Esempio n. 3
0
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")
Esempio n. 4
0
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")
Esempio n. 5
0
def error_500(request):
    """Handle a 500 server error."""
    page = Page(request)
    return page.render("panoptes/core/errors/500.html")
Esempio n. 6
0
def error_404(request):
    """Handle a 404 not found error."""
    page = Page(request)
    return page.render("panoptes/core/errors/404.html")
Esempio n. 7
0
def error_500(request):
	"""Handle a 500 server error."""
	page = Page(request)
	return page.render("panoptes/core/errors/500.html")
Esempio n. 8
0
def error_404(request):
	"""Handle a 404 not found error."""
	page = Page(request)
	return page.render("panoptes/core/errors/404.html")