mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Convert character views to CBV
This commit is contained in:
@@ -12,8 +12,8 @@ urlpatterns = patterns('',
|
|||||||
url(r'^eveapi/log/(?P<userid>\d+)/$', login_required(views.EVEAPILogView.as_view()), name="eveapi-log"),
|
url(r'^eveapi/log/(?P<userid>\d+)/$', login_required(views.EVEAPILogView.as_view()), name="eveapi-log"),
|
||||||
url(r'^eveapi/access/(?P<slug>\d+)/$', login_required(views.EVEAPIAccessView.as_view()), name="eveapi-accessview"),
|
url(r'^eveapi/access/(?P<slug>\d+)/$', login_required(views.EVEAPIAccessView.as_view()), name="eveapi-accessview"),
|
||||||
|
|
||||||
url(r'^character/list/$', views.eveapi_character, name="eveapi-characters-list"),
|
url(r'^character/list/$', login_required(views.EVEAPICharacterListView.as_view()), name="eveapi-characters-list"),
|
||||||
url(r'^character/(?P<charid>\d+)/$', views.eveapi_character, name="eveapi-character"),
|
url(r'^character/(?P<pk>\d+)/$', login_required(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+)/$', login_required(views.EVEAPICorporationView.as_view()), name="eveapi-corporation"),
|
||||||
url(r'^corporation/(?P<corporationid>\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"),
|
url(r'^corporation/(?P<corporationid>\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from django.core.urlresolvers import reverse
|
|||||||
from django.http import HttpResponse, Http404, HttpResponseForbidden, HttpResponseRedirect
|
from django.http import HttpResponse, Http404, HttpResponseForbidden, HttpResponseRedirect
|
||||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.views.generic import DetailView, ListView, View
|
from django.views.generic import TemplateView, DetailView, ListView, View
|
||||||
from django.views.generic.detail import SingleObjectMixin
|
from django.views.generic.detail import SingleObjectMixin
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
@@ -159,22 +159,25 @@ 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]
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
class EVEAPICharacterDetailView(DetailView):
|
||||||
def eveapi_character(request, charid=None, template='eve_api/character.html', list_template='eve_api/character_list.html'):
|
|
||||||
""" Provide a list of characters, or a indivdual character sheet """
|
|
||||||
|
|
||||||
if charid:
|
model = EVEPlayerCharacter
|
||||||
character = get_object_or_404(EVEPlayerCharacter.objects.select_related('corporation', 'corporation__aliance'), id=charid)
|
template_name = 'eve_api/character.html'
|
||||||
|
|
||||||
#Check if the user has permission to see the character profile
|
def get(self, request, *args, **kwargs):
|
||||||
if not request.user.has_perm('eve_api.can_view_all_characters') and (not character.account or not request.user == character.account.user):
|
self.object = self.get_object()
|
||||||
raise Http404
|
if not request.user.has_perm('eve_api.can_view_all_characters') and (not self.object.account or not request.user == self.object.account.user):
|
||||||
|
return HttpResponseForbidden()
|
||||||
|
context = self.get_context_data(object=self.object)
|
||||||
|
return self.render_to_response(context)
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
ctx = super(EVEAPICharacterDetailView, self).get_context_data(**kwargs)
|
||||||
try:
|
try:
|
||||||
current_training = character.eveplayercharacterskill_set.get(in_training__gt=0)
|
current_training = self.object.eveplayercharacterskill_set.get(in_training__gt=0)
|
||||||
except:
|
except:
|
||||||
current_training = None
|
current_training = None
|
||||||
skills = character.eveplayercharacterskill_set.all().order_by('skill__group__name', 'skill__name')
|
skills = self.object.eveplayercharacterskill_set.all().order_by('skill__group__name', 'skill__name')
|
||||||
|
|
||||||
skillTree = []
|
skillTree = []
|
||||||
currentSkillGroup = 0
|
currentSkillGroup = 0
|
||||||
@@ -186,20 +189,25 @@ def eveapi_character(request, charid=None, template='eve_api/character.html', li
|
|||||||
skillTree[-1][0] += skill.skillpoints
|
skillTree[-1][0] += skill.skillpoints
|
||||||
skillTree[-1][2].append(skill)
|
skillTree[-1][2].append(skill)
|
||||||
|
|
||||||
context = {
|
ctx.update({
|
||||||
'character': character,
|
'character': self.object,
|
||||||
'current_training': current_training,
|
'current_training': current_training,
|
||||||
'skills': skills,
|
'skills': skills,
|
||||||
'skillTree': skillTree,
|
'skillTree': skillTree,
|
||||||
'employmenthistory': character.employmenthistory.all().order_by('-record_id'),
|
'employmenthistory': self.object.employmenthistory.all().order_by('-record_id'),
|
||||||
}
|
})
|
||||||
return render_to_response(template, context, context_instance=RequestContext(request))
|
return ctx
|
||||||
|
|
||||||
context = {
|
class EVEAPICharacterListView(TemplateView):
|
||||||
'accounts': EVEAccount.objects.select_related('characters__name').filter(user=request.user).exclude(api_keytype=API_KEYTYPE_CORPORATION),
|
|
||||||
'characters': EVEPlayerCharacter.objects.filter(eveaccount__user=request.user).distinct().order_by('name'),
|
template_name = 'eve_api/character_list.html'
|
||||||
}
|
|
||||||
return render_to_response(list_template, context, context_instance=RequestContext(request))
|
def get_context_data(self, **kwargs):
|
||||||
|
ctx = {
|
||||||
|
'accounts': EVEAccount.objects.select_related('characters__name').filter(user=self.request.user).exclude(api_keytype=API_KEYTYPE_CORPORATION),
|
||||||
|
'characters': EVEPlayerCharacter.objects.filter(eveaccount__user=self.request.user).distinct().order_by('name'),
|
||||||
|
}
|
||||||
|
return ctx
|
||||||
|
|
||||||
|
|
||||||
class EVEAPICorporationView(DetailPaginationMixin, DetailView):
|
class EVEAPICorporationView(DetailPaginationMixin, DetailView):
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
<li><a href="{% url sso.views.profile %}">Your Profile</a></li>
|
<li><a href="{% url sso.views.profile %}">Your Profile</a></li>
|
||||||
{% if "groups"|installed %}<li><a href="{% url groups.views.group_list %}"> Your Groups</a></li>{% endif %}
|
{% if "groups"|installed %}<li><a href="{% url groups.views.group_list %}"> Your Groups</a></li>{% endif %}
|
||||||
<li><a href="{% url eve_api.views.eveapi_character %}">Your Characters</a></li>
|
<li><a href="{% url eveapi-characters-list %}">Your Characters</a></li>
|
||||||
{% if "api"|installed %}<li><a href="{% url oauth-list-tokens %}">3rd Party App Access</a></li>{% endif %}
|
{% if "api"|installed %}<li><a href="{% url oauth-list-tokens %}">3rd Party App Access</a></li>{% endif %}
|
||||||
{% if "hr"|installed %}
|
{% if "hr"|installed %}
|
||||||
<li><a href="{% url hr-index %}">HR</a></li>
|
<li><a href="{% url hr-index %}">HR</a></li>
|
||||||
|
|||||||
Reference in New Issue
Block a user