Make use of django-braces mixins in eve_api

This commit is contained in:
2012-06-08 16:02:35 +01:00
parent 93aeb6df03
commit c4f3109452
3 changed files with 24 additions and 22 deletions

View File

@@ -5,20 +5,20 @@ from django.contrib.auth.decorators import login_required
from eve_api import views from eve_api import views
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^eveapi/add/$', login_required(views.EVEAPICreateView.as_view()), name="eveapi-add"), url(r'^eveapi/add/$', views.EVEAPICreateView.as_view(), name="eveapi-add"),
url(r'^eveapi/update/(?P<pk>\d+)/$', login_required(views.EVEAPIUpdateView.as_view()), name="eveapi-update"), url(r'^eveapi/update/(?P<pk>\d+)/$', views.EVEAPIUpdateView.as_view(), name="eveapi-update"),
url(r'^eveapi/delete/(?P<pk>\d+)/$', login_required(views.EVEAPIDeleteView.as_view()), name="eveapi-delete"), url(r'^eveapi/delete/(?P<pk>\d+)/$', views.EVEAPIDeleteView.as_view(), name="eveapi-delete"),
url(r'^eveapi/refresh/(?P<pk>\d+)/$', login_required(views.EVEAPIRefreshView.as_view()), name="eveapi-refresh"), url(r'^eveapi/refresh/(?P<pk>\d+)/$', views.EVEAPIRefreshView.as_view(), name="eveapi-refresh"),
url(r'^eveapi/log/(?P<userid>\d+)/$', login_required(views.EVEAPILogView.as_view()), name="eveapi-log"), url(r'^eveapi/log/(?P<userid>\d+)/$', views.EVEAPILogView.as_view(), name="eveapi-log"),
url(r'^eveapi/access/(?P<pk>\d+)/$', login_required(views.EVEAPIAccessView.as_view()), name="eveapi-accessview"), url(r'^eveapi/access/(?P<pk>\d+)/$', views.EVEAPIAccessView.as_view(), name="eveapi-accessview"),
url(r'^character/list/$', login_required(views.EVEAPICharacterListView.as_view()), name="eveapi-characters-list"), url(r'^character/list/$', views.EVEAPICharacterListView.as_view(), name="eveapi-characters-list"),
url(r'^character/(?P<pk>\d+)/$', login_required(views.EVEAPICharacterDetailView.as_view()), name="eveapi-character"), url(r'^character/(?P<pk>\d+)/$', views.EVEAPICharacterDetailView.as_view(), name="eveapi-character"),
url(r'^corporation/(?P<pk>\d+)/$', login_required(views.EVEAPICorporationView.as_view()), name="eveapi-corporation"), url(r'^corporation/(?P<pk>\d+)/$', views.EVEAPICorporationView.as_view(), name="eveapi-corporation"),
url(r'^corporation/(?P<pk>\d+)/export/$', login_required(views.EVEAPICorporationMembersCSV.as_view()), name="eveapi-corporation-members-csv"), url(r'^corporation/(?P<pk>\d+)/export/$', views.EVEAPICorporationMembersCSV.as_view(), name="eveapi-corporation-members-csv"),
url(r'^alliance/(?P<pk>\d+)/$', login_required(views.EVEAPIAllianceView.as_view()), name="eveapi-alliance"), url(r'^alliance/(?P<pk>\d+)/$', views.EVEAPIAllianceView.as_view(), name="eveapi-alliance"),
) )
try: try:

View File

@@ -12,6 +12,7 @@ from django.contrib.auth.decorators import login_required
import celery import celery
from gargoyle import gargoyle from gargoyle import gargoyle
from braces.views import LoginRequiredMixin
from eve_proxy.models import ApiAccessLog, CachedDocument from eve_proxy.models import ApiAccessLog, CachedDocument
from eve_proxy.exceptions import DocumentRetrievalError from eve_proxy.exceptions import DocumentRetrievalError
@@ -23,7 +24,7 @@ from eve_api.utils import basic_xml_parse_doc
from eve_api.views.mixins import DetailPaginationMixin, CSVResponseMixin from eve_api.views.mixins import DetailPaginationMixin, CSVResponseMixin
class EVEAPICreateView(CreateView): class EVEAPICreateView(LoginRequiredMixin, CreateView):
"""Adds a EVE API key to the system""" """Adds a EVE API key to the system"""
model = EVEAccount model = EVEAccount
@@ -52,7 +53,7 @@ class EVEAPICreateView(CreateView):
return {'user': self.request.user.pk} return {'user': self.request.user.pk}
class EVEAPIUpdateView(UpdateView): class EVEAPIUpdateView(LoginRequiredMixin, UpdateView):
"""Updates a existing API key stored in the system""" """Updates a existing API key stored in the system"""
model = EVEAccount model = EVEAccount
@@ -91,7 +92,7 @@ class EVEAPIUpdateView(UpdateView):
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
class EVEAPIDeleteView(DeleteView): class EVEAPIDeleteView(LoginRequiredMixin, DeleteView):
"""Deletes a EVE API key that exists within the system after confirmation""" """Deletes a EVE API key that exists within the system after confirmation"""
model = EVEAccount model = EVEAccount
@@ -114,7 +115,7 @@ class EVEAPIDeleteView(DeleteView):
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
class EVEAPIRefreshView(SingleObjectMixin, View): class EVEAPIRefreshView(LoginRequiredMixin, SingleObjectMixin, View):
"""Force a refresh of a EVE API key, accepts requests via AJAX or normal requests""" """Force a refresh of a EVE API key, accepts requests via AJAX or normal requests"""
model = EVEAccount model = EVEAccount
@@ -138,7 +139,7 @@ class EVEAPIRefreshView(SingleObjectMixin, View):
return HttpResponseRedirect('/') return HttpResponseRedirect('/')
class EVEAPILogView(ListView): class EVEAPILogView(LoginRequiredMixin, ListView):
"""Shows EVE API access log for a particular API key""" """Shows EVE API access log for a particular API key"""
model = ApiAccessLog model = ApiAccessLog
@@ -162,7 +163,7 @@ class EVEAPILogView(ListView):
return self.model.objects.filter(userid=self.userid).order_by('-time_access')[:limit] return self.model.objects.filter(userid=self.userid).order_by('-time_access')[:limit]
class EVEAPICharacterDetailView(DetailView): class EVEAPICharacterDetailView(LoginRequiredMixin, DetailView):
model = EVEPlayerCharacter model = EVEPlayerCharacter
template_name = 'eve_api/character.html' template_name = 'eve_api/character.html'
@@ -202,7 +203,7 @@ class EVEAPICharacterDetailView(DetailView):
return ctx return ctx
class EVEAPICharacterListView(TemplateView): class EVEAPICharacterListView(LoginRequiredMixin, TemplateView):
template_name = 'eve_api/character_list.html' template_name = 'eve_api/character_list.html'
@@ -214,7 +215,7 @@ class EVEAPICharacterListView(TemplateView):
return ctx return ctx
class EVEAPICorporationView(DetailPaginationMixin, DetailView): class EVEAPICorporationView(LoginRequiredMixin, DetailPaginationMixin, DetailView):
model = EVEPlayerCorporation model = EVEPlayerCorporation
template_name = 'eve_api/corporation.html' template_name = 'eve_api/corporation.html'
@@ -232,7 +233,7 @@ class EVEAPICorporationView(DetailPaginationMixin, DetailView):
return ctx return ctx
class EVEAPICorporationMembersCSV(SingleObjectMixin, CSVResponseMixin, View): class EVEAPICorporationMembersCSV(LoginRequiredMixin, SingleObjectMixin, CSVResponseMixin, View):
model = EVEPlayerCorporation model = EVEPlayerCorporation
@@ -255,7 +256,7 @@ class EVEAPICorporationMembersCSV(SingleObjectMixin, CSVResponseMixin, View):
return "%s-members_export.csv" % self.object.pk return "%s-members_export.csv" % self.object.pk
class EVEAPIAllianceView(DetailPaginationMixin, DetailView): class EVEAPIAllianceView(LoginRequiredMixin, DetailPaginationMixin, DetailView):
model = EVEPlayerAlliance model = EVEPlayerAlliance
template_name= 'eve_api/alliance.html' template_name= 'eve_api/alliance.html'
@@ -274,7 +275,7 @@ class EVEAPIAllianceView(DetailPaginationMixin, DetailView):
return ctx return ctx
class EVEAPIAccessView(DetailView): class EVEAPIAccessView(LoginRequiredMixin, DetailView):
model = EVEAccount model = EVEAccount
template_name = 'eve_api/accessview.html' template_name = 'eve_api/accessview.html'

View File

@@ -12,6 +12,7 @@ django-jsonfield==0.8.7
South==0.7.4 South==0.7.4
django-redis-cache django-redis-cache
IPy==0.75 IPy==0.75
-e git+https://github.com/nikdoof/django-braces.git@b573a69c06907cff74d3623f61a551ceb264cf08#egg=django-braces
nexus nexus
gargoyle==0.9.0 gargoyle==0.9.0