diff --git a/alliance_auth/settings.py.example b/alliance_auth/settings.py.example index 3a66bb3b..2664add0 100755 --- a/alliance_auth/settings.py.example +++ b/alliance_auth/settings.py.example @@ -449,7 +449,7 @@ LOGGING = { 'handlers': ['log_file', 'console'], 'level': 'DEBUG', }, - 'corputil': { + 'corputils': { 'handlers': ['log_file', 'console'], 'level': 'DEBUG', }, diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index 96c56fe7..12120190 100755 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -165,9 +165,9 @@ urlpatterns = patterns('', #corputils url(r'^corputils/$', 'corputils.views.corp_member_view', name='auth_corp_member_view'), - url(r'^corputils/(?P[0-9]+)/$', 'corputils.views.corp_member_view', name='auth_corp_member_view'), + url(r'^corputils/(?P[0-9]+)/$', 'corputils.views.corp_member_view'), url(r'^corputils/search/$', 'corputils.views.corputils_search', name="auth_corputils_search"), - url(r'^corputils/search/(?P[0-9]+)/$', 'corputils.views.corputils_search', name="auth_corputils_search"), + url(r'^corputils/search/(?P[0-9]+)/$', 'corputils.views.corputils_search'), # FLEET FITTINGS url(r'^fits/$', 'services.views.fleet_fits', name='auth_fleet_fits'), diff --git a/corputils/views.py b/corputils/views.py index 96cc965a..8498541c 100644 --- a/corputils/views.py +++ b/corputils/views.py @@ -15,6 +15,7 @@ from eveonline.models import EveAllianceInfo from eveonline.models import EveCharacter from authentication.models import AuthServicesInfo from forms import CorputilsSearchForm +from evelink.api import APIError import logging @@ -24,14 +25,31 @@ logger = logging.getLogger(__name__) # Because corp-api only exist for the executor corp, this function will only be available in corporation mode. @login_required @permission_required('auth.corputils') -def corp_member_view(request, corpid = settings.CORP_ID): +def corp_member_view(request, corpid = None): logger.debug("corp_member_view called by user %s" % request.user) + if not settings.IS_CORP: + alliance = EveAllianceInfo.objects.get(alliance_id=settings.ALLIANCE_ID) + alliancecorps = EveCorporationInfo.objects.filter(alliance=alliance) + membercorp_list = [(int(membercorp.corporation_id), str(membercorp.corporation_name)) for membercorp in alliancecorps] + membercorp_list.sort(key=lambda tup: tup[1]) + + if not corpid: + if(settings.CORP_ID): + corpid = settings.CORP_ID + else: + corpid = membercorp_list[0][0] + + corp = EveCorporationInfo.objects.get(corporation_id=corpid) Player = namedtuple("Player", ["main", "maincorp", "maincorpid", "altlist"]) if settings.IS_CORP: - member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + try: + member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + except APIError: + logger.debug("Corp API does not have membertracking scope, using EveWho data instead.") + member_list = EveWhoManager.get_corporation_members(corpid) else: member_list = EveWhoManager.get_corporation_members(corpid) @@ -64,11 +82,6 @@ def corp_member_view(request, corpid = settings.CORP_ID): if not settings.IS_CORP: - alliance = EveAllianceInfo.objects.get(alliance_id=settings.ALLIANCE_ID) - alliancecorps = EveCorporationInfo.objects.filter(alliance=alliance) - membercorp_list = [(int(membercorp.corporation_id), str(membercorp.corporation_name)) for membercorp in alliancecorps] - membercorp_list.sort(key=lambda tup: tup[1]) - context = {"membercorp_list": membercorp_list, "corp": corp, "characters_with_api": sorted(characters_with_api.items()), @@ -102,7 +115,11 @@ def corputils_search(request, corpid=settings.CORP_ID): logger.debug("Searching for player with character name %s for user %s" % (searchstring, request.user)) if settings.IS_CORP: - member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + try: + member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + except APIError: + logger.debug("Corp API does not have membertracking scope, using EveWho data instead.") + member_list = EveWhoManager.get_corporation_members(corpid) else: member_list = EveWhoManager.get_corporation_members(corpid) diff --git a/stock/static/css/bootstrap.min.css b/stock/static/css/bootstrap.min.css index 6822b5b8..ce8cda62 100644 --- a/stock/static/css/bootstrap.min.css +++ b/stock/static/css/bootstrap.min.css @@ -4240,6 +4240,10 @@ textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group- line-height: 20px } +.navbar-wide { + width: 100%; +} + @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; diff --git a/stock/templates/registered/corputils.html b/stock/templates/registered/corputils.html index bbb67a93..7529f890 100644 --- a/stock/templates/registered/corputils.html +++ b/stock/templates/registered/corputils.html @@ -45,7 +45,7 @@