PEP8 and comments

This commit is contained in:
David Taylor
2016-10-08 17:30:23 +01:00
parent 73b8ce4add
commit ac7e85c24a
3 changed files with 21 additions and 17 deletions

View File

@@ -4,12 +4,17 @@ from django.template import RequestContext
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from RIGS import models
def user_passes_test_with_403(test_func, login_url=None, oembed_view=None): def user_passes_test_with_403(test_func, login_url=None, oembed_view=None):
""" """
Decorator for views that checks that the user passes the given test. Decorator for views that checks that the user passes the given test.
Anonymous users will be redirected to login_url, while users that fail Anonymous users will be redirected to login_url, while users that fail
the test will be given a 403 error. the test will be given a 403 error.
If embed_view is set, then a JS redirect will be used, and a application/json+oembed
meta tag set with the url of oembed_view
(oembed_view will be passed the kwargs from the main function)
""" """
if not login_url: if not login_url:
from django.conf import settings from django.conf import settings
@@ -24,7 +29,7 @@ def user_passes_test_with_403(test_func, login_url=None, oembed_view=None):
extra_context = {} extra_context = {}
extra_context['oembed_url'] = request.scheme + '://' + request.META['HTTP_HOST'] + reverse(oembed_view, kwargs=kwargs) extra_context['oembed_url'] = request.scheme + '://' + request.META['HTTP_HOST'] + reverse(oembed_view, kwargs=kwargs)
extra_context['login_url'] = "{0}?{1}={2}".format(login_url, REDIRECT_FIELD_NAME, request.get_full_path()) extra_context['login_url'] = "{0}?{1}={2}".format(login_url, REDIRECT_FIELD_NAME, request.get_full_path())
resp = render_to_response('login_redirect_embed.html', extra_context, context_instance=RequestContext(request)) resp = render_to_response('login_redirect.html', extra_context, context_instance=RequestContext(request))
return resp return resp
else: else:
return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, request.get_full_path())) return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, request.get_full_path()))
@@ -37,6 +42,7 @@ def user_passes_test_with_403(test_func, login_url=None, oembed_view=None):
return _checklogin return _checklogin
return _dec return _dec
def permission_required_with_403(perm, login_url=None, oembed_view=None): def permission_required_with_403(perm, login_url=None, oembed_view=None):
""" """
Decorator for views that checks whether a user has a particular permission Decorator for views that checks whether a user has a particular permission
@@ -44,7 +50,6 @@ def permission_required_with_403(perm, login_url=None, oembed_view=None):
""" """
return user_passes_test_with_403(lambda u: u.has_perm(perm), login_url=login_url, oembed_view=oembed_view) return user_passes_test_with_403(lambda u: u.has_perm(perm), login_url=login_url, oembed_view=oembed_view)
from RIGS import models
def api_key_required(function): def api_key_required(function):
""" """
@@ -73,4 +78,4 @@ def api_key_required(function):
if user_object.api_key != key: if user_object.api_key != key:
return error_resp return error_resp
return function(request, *args, **kwargs) return function(request, *args, **kwargs)
return wrap return wrap

View File

@@ -1,4 +1,4 @@
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, url
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from RIGS import models, views, rigboard, finance, ical, versioning, forms from RIGS import models, views, rigboard, finance, ical, versioning, forms
from django.views.generic import RedirectView from django.views.generic import RedirectView
@@ -16,7 +16,7 @@ urlpatterns = patterns('',
url('^user/login/$', 'RIGS.views.login', name='login'), url('^user/login/$', 'RIGS.views.login', name='login'),
url('^user/login/embed/$', xframe_options_exempt(views.login_embed), name='login_embed'), url('^user/login/embed/$', xframe_options_exempt(views.login_embed), name='login_embed'),
url(r'^user/password_reset/$', 'django.contrib.auth.views.password_reset', {'password_reset_form':forms.PasswordReset}), url(r'^user/password_reset/$', 'django.contrib.auth.views.password_reset', {'password_reset_form': forms.PasswordReset}),
# People # People
url(r'^people/$', permission_required_with_403('RIGS.view_person')(views.PersonList.as_view()), url(r'^people/$', permission_required_with_403('RIGS.view_person')(views.PersonList.as_view()),
@@ -73,7 +73,7 @@ urlpatterns = patterns('',
url(r'^rigboard/calendar/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'), url(r'^rigboard/calendar/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'),
url(r'^rigboard/calendar/(?P<view>(month|week|day))/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'), url(r'^rigboard/calendar/(?P<view>(month|week|day))/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'),
url(r'^rigboard/calendar/(?P<view>(month|week|day))/(?P<date>(\d{4}-\d{2}-\d{2}))/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'), url(r'^rigboard/calendar/(?P<view>(month|week|day))/(?P<date>(\d{4}-\d{2}-\d{2}))/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'),
url(r'^rigboard/archive/$', RedirectView.as_view(permanent=True,pattern_name='event_archive')), url(r'^rigboard/archive/$', RedirectView.as_view(permanent=True, pattern_name='event_archive')),
url(r'^rigboard/activity/$', url(r'^rigboard/activity/$',
permission_required_with_403('RIGS.view_event')(versioning.ActivityTable.as_view()), permission_required_with_403('RIGS.view_event')(versioning.ActivityTable.as_view()),
name='activity_table'), name='activity_table'),
@@ -109,7 +109,7 @@ urlpatterns = patterns('',
permission_required_with_403('RIGS.view_event')(versioning.VersionHistory.as_view()), permission_required_with_403('RIGS.view_event')(versioning.VersionHistory.as_view()),
name='event_history', kwargs={'model': models.Event}), name='event_history', kwargs={'model': models.Event}),
# Finance # Finance
url(r'^invoice/$', url(r'^invoice/$',
@@ -148,10 +148,10 @@ urlpatterns = patterns('',
# User editing # User editing
url(r'^user/$', login_required(views.ProfileDetail.as_view()), name='profile_detail'), url(r'^user/$', login_required(views.ProfileDetail.as_view()), name='profile_detail'),
url(r'^user/(?P<pk>\d+)/$', url(r'^user/(?P<pk>\d+)/$',
permission_required_with_403('RIGS.view_profile')(views.ProfileDetail.as_view()), permission_required_with_403('RIGS.view_profile')(views.ProfileDetail.as_view()),
name='profile_detail'), name='profile_detail'),
url(r'^user/edit/$', login_required(views.ProfileUpdateSelf.as_view()), url(r'^user/edit/$', login_required(views.ProfileUpdateSelf.as_view()),
name='profile_update_self'), name='profile_update_self'),
url(r'^user/reset_api_key$', login_required(views.ResetApiKey.as_view(permanent=False)), name='reset_api_key'), url(r'^user/reset_api_key$', login_required(views.ResetApiKey.as_view(permanent=False)), name='reset_api_key'),
# ICS Calendar - API key authentication # ICS Calendar - API key authentication
@@ -162,8 +162,7 @@ urlpatterns = patterns('',
url(r'^api/(?P<model>\w+)/(?P<pk>\d+)/$', login_required(views.SecureAPIRequest.as_view()), name="api_secure"), url(r'^api/(?P<model>\w+)/(?P<pk>\d+)/$', login_required(views.SecureAPIRequest.as_view()), name="api_secure"),
# Legacy URL's # Legacy URL's
url(r'^rig/show/(?P<pk>\d+)/$', RedirectView.as_view(permanent=True,pattern_name='event_detail')), url(r'^rig/show/(?P<pk>\d+)/$', RedirectView.as_view(permanent=True, pattern_name='event_detail')),
url(r'^bookings/$', RedirectView.as_view(permanent=True,pattern_name='rigboard')), url(r'^bookings/$', RedirectView.as_view(permanent=True, pattern_name='rigboard')),
url(r'^bookings/past/$', RedirectView.as_view(permanent=True,pattern_name='event_archive')), url(r'^bookings/past/$', RedirectView.as_view(permanent=True, pattern_name='event_archive')),
) )

View File

@@ -12,7 +12,7 @@
{% if oembed_url %} {% if oembed_url %}
<link rel="alternate" type="application/json+oembed" <link rel="alternate" type="application/json+oembed"
href="{{oembed_url}}" href="{{oembed_url}}"
title="RIGS Event Embed" /> title="RIGS Embed" />
{% endif %} {% endif %}
{% endblock %} {% endblock %}