diff --git a/app/eve_api/models/corporation.py b/app/eve_api/models/corporation.py index 222f74a..dfe1021 100644 --- a/app/eve_api/models/corporation.py +++ b/app/eve_api/models/corporation.py @@ -55,6 +55,10 @@ class EVEPlayerCorporation(EVEAPIModel): membercount = self.member_count return (float(self.api_keys) / membercount) * 100 + @property + def average_sp(self): + return self.eveplayercharacter_set.aggregate(models.Avg('total_sp'))['total_sp__avg'] + @models.permalink def get_absolute_url(self): return ('eveapi-corporation', [self.pk]) diff --git a/app/eve_api/templates/eve_api/character_list.html b/app/eve_api/templates/eve_api/character_list.html index 97c6cd1..a3aea6e 100644 --- a/app/eve_api/templates/eve_api/character_list.html +++ b/app/eve_api/templates/eve_api/character_list.html @@ -15,7 +15,7 @@ {% for char in acc.list %} {{ char.name }} {{ char.corporation }} - {% if char.corporation.alliance %}{{ char.corporation.alliance }}{% endif %} + {% if char.corporation.alliance %}{{ char.corporation.alliance }}{% endif %} {{ char.total_sp|intcomma }} SP {% if char.current_training %}{{ char.current_training.skill.name }} to Level {{ char.current_training.in_training }}{% endif %} diff --git a/app/eve_api/urls.py b/app/eve_api/urls.py index 052f367..b5b5915 100644 --- a/app/eve_api/urls.py +++ b/app/eve_api/urls.py @@ -14,5 +14,5 @@ urlpatterns = patterns('', url(r'^character/(?P\d+)/$', views.eveapi_character, name="eveapi-character"), url(r'^corporation/(?P\d+)/$', views.eveapi_corporation, name="eveapi-corporation"), - + url(r'^alliance/(?P\d+)/$', views.eveapi_alliance, name="eveapi-alliance"), ) diff --git a/app/eve_api/views.py b/app/eve_api/views.py index 010ee8c..991ce55 100644 --- a/app/eve_api/views.py +++ b/app/eve_api/views.py @@ -13,7 +13,7 @@ from eve_proxy.models import ApiAccessLog from eve_proxy.exceptions import DocumentRetrievalError from eve_api.app_defines import * from eve_api.forms import EveAPIForm -from eve_api.models import EVEAccount, EVEPlayerCharacter, EVEPlayerCorporation +from eve_api.models import EVEAccount, EVEPlayerCharacter, EVEPlayerCorporation, EVEPlayerAlliance from eve_api.tasks import import_apikey_result @@ -195,3 +195,16 @@ def eveapi_corporation(request, corporationid, template='eve_api/corporation.htm 'view_members': corporation.eveplayercharacter_set.filter(eveaccount__user=request.user, roles__name="roleDirector").count() or request.user.is_superuser, } return render_to_response(template, context, context_instance=RequestContext(request)) + + +@login_required +def eveapi_alliance(request, allianceid, template='eve_api/alliance.html'): + + alliance = get_object_or_404(EVEPlayerAlliance, pk=allianceid) + + context = { + 'alliance': alliance, + 'executor': alliance.executor.ceo_character, + } + return render_to_response(template, context, context_instance=RequestContext(request)) +