diff --git a/app/eve_api/models/corporation.py b/app/eve_api/models/corporation.py index 9aa15fc..222f74a 100644 --- a/app/eve_api/models/corporation.py +++ b/app/eve_api/models/corporation.py @@ -40,12 +40,16 @@ class EVEPlayerCorporation(EVEAPIModel): """ Returns the number of characters with stored API keys """ return self.eveplayercharacter_set.filter(eveaccount__isnull=False).count() + @property + def director_api_keys(self): + return self.directors.filter(eveaccount__isnull=False, eveaccount__api_keytype=API_KEYTYPE_FULL, eveaccount__api_status=API_STATUS_OK) + @property def api_key_coverage(self): """ Returns the percentage coverage of API keys for the corporation's members """ # Check if we have a full director key, see if we can base our assumptions off what is in auth already - if self.directors.filter(eveaccount__isnull=False, eveaccount__api_keytype=API_KEYTYPE_FULL).count(): + if self.director_api_keys.count(): membercount = self.eveplayercharacter_set.count() else: membercount = self.member_count diff --git a/app/eve_api/templates/eve_api/corporation.html b/app/eve_api/templates/eve_api/corporation.html index bbdd7e7..2080c6f 100644 --- a/app/eve_api/templates/eve_api/corporation.html +++ b/app/eve_api/templates/eve_api/corporation.html @@ -13,6 +13,7 @@
  • Member Count: {{ corporation.member_count }}
  • Known Members: {{ corporation.eveplayercharacter_set.count }}
  • {% if view_members %} +
  • Full Director API Available: {% if corporation.director_api_keys %}Yes{% else %}No{% endif %}
  • Members with API Keys: {{ corporation.api_keys }}
  • API Coverage: {{ corporation.api_key_coverage|floatformat:2 }}%
  • {% endif %} diff --git a/app/eve_api/views.py b/app/eve_api/views.py index e93c444..010ee8c 100644 --- a/app/eve_api/views.py +++ b/app/eve_api/views.py @@ -11,6 +11,7 @@ from django.core import serializers 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.tasks import import_apikey_result @@ -191,6 +192,6 @@ def eveapi_corporation(request, corporationid, template='eve_api/corporation.htm context = { 'corporation': corporation, 'members': corporation.eveplayercharacter_set.select_related('eveaccount', 'roles').order_by('corporation_date').only('id', 'name', 'corporation_date'), - 'view_members': corporation.eveplayercharacter_set.filter(eveaccount__user=request.user, roles__name="Director").count() or request.user.is_superuser, + '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))