diff --git a/corputils/views.py b/corputils/views.py index a148bc38..729f72f1 100644 --- a/corputils/views.py +++ b/corputils/views.py @@ -31,23 +31,36 @@ def corp_member_view(request): if settings.IS_CORP: corp = EveCorporationInfo.objects.get(corporation_id=settings.CORP_ID) + Player = namedtuple("Player", ["main", "maincorp", "altlist"]) + member_list = EveApiManager.get_corp_membertracking() characters_with_api = {} - characters_without_api = {} + characters_without_api = [] + for char_id, member_data in member_list.items(): try: char = EveCharacter.objects.get(character_id=char_id) user = char.user - mainid = int(AuthServicesInfoManager.get_auth_service_info(user=user).main_char_id) - mainname = EveCharacter.objects.get(character_id=mainid).character_name - characters_with_api.setdefault(mainname,[]).append(char.character_name) + try: + mainid = int(AuthServicesInfoManager.get_auth_service_info(user=user).main_char_id) + mainchar = EveCharacter.objects.get(character_id=mainid) + mainname = mainchar.character_name + maincorp = mainchar.corporation_name + except ValueError: + mainname = "User: " + user.username + maincorp = None + characters_with_api.setdefault(mainname, Player(main=mainname, + maincorp=maincorp, + altlist=[]) + ).altlist.append(char.character_name) + except EveCharacter.DoesNotExist: - characters_without_api.setdefault(member_data["name"],[]).append(member_data["name"]) + characters_without_api.append(member_data["name"]) context = {"corp": corp, "characters_with_api": sorted(characters_with_api.items()), - "characters_without_api": sorted(characters_without_api.items()), + "characters_without_api": sorted(characters_without_api), "search_form": CorputilsSearchForm()} return render_to_response('registered/corputils.html',context, context_instance=RequestContext(request) ) diff --git a/stock/templates/registered/corputils.html b/stock/templates/registered/corputils.html index 04b4ee92..359b1dc3 100644 --- a/stock/templates/registered/corputils.html +++ b/stock/templates/registered/corputils.html @@ -1,6 +1,5 @@ {% extends "public/base.html" %} {% load bootstrap %} -{% load corputils_extras %} {% block title %}Alliance Auth{% endblock %} {% block page_title %}Corporation Member Tracking{% endblock page_title %} @@ -54,24 +53,31 @@ + - {% for main, alts in characters_with_api %} - + {% for mainchar, player in characters_with_api %} + + {% endfor %} - {% for main, value in characters_without_api %} - + {% for charname in characters_without_api %} + +
Main characterMain corporation Character list
-

{{ main }}

+

{{ mainchar }}

+
+

{{ player.maincorp }}

- {% for name in alts %} -

{{ name}}

+ {% for charname in player.altlist %} +

{{ charname }}

{% endfor %}
-

{{ main }}

+

{{ charname }}

+
+

No API registered!

diff --git a/stock/templates/registered/corputilssearchview.html b/stock/templates/registered/corputilssearchview.html index 3ffce71f..42d882e8 100644 --- a/stock/templates/registered/corputilssearchview.html +++ b/stock/templates/registered/corputilssearchview.html @@ -1,7 +1,6 @@ {% extends "public/base.html" %} {% load bootstrap %} {% load staticfiles %} -{% load corputils_extras %} {% block title %}Alliance Auth{% endblock %} @@ -10,7 +9,7 @@ {% block content %}
- {% if perms.auth.corp_stats %} + {% if perms.auth.corputils %}

Member Search Results
@@ -42,7 +41,7 @@ {% endif %}
- {% if perms.auth.corp_stats %} + {% if perms.auth.corputils %}