From 29e5790ec7335dc9f0c695403150fd56689aece9 Mon Sep 17 00:00:00 2001 From: Ydmir Date: Mon, 25 Jan 2016 23:19:28 +0100 Subject: [PATCH] Now the search function works in alliance mode as well, searching the corp that is currently active. Also, the select corporation is nicer now. --- alliance_auth/urls.py | 4 ++-- corputils/views.py | 26 ++++++++++---------- stock/static/css/bootstrap.min.css | 5 ++++ stock/templates/registered/corputils.html | 29 ++++++++++++----------- 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index 4b0b37a4..2b865aaa 100755 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -166,8 +166,8 @@ 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/search/', 'corputils.views.corputils_search', - name="auth_corputils_search"), + 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"), # FLEET FITTINGS url(r'^fits/$', 'services.views.fleet_fits', name='auth_fleet_fits'), diff --git a/corputils/views.py b/corputils/views.py index bda698b1..aa8c0fbb 100644 --- a/corputils/views.py +++ b/corputils/views.py @@ -28,13 +28,6 @@ logger = logging.getLogger(__name__) def corp_member_view(request, corpid = settings.CORP_ID): logger.debug("corp_member_view called by user %s" % request.user) - if request.method == 'POST': - form = SelectCorpForm(request.POST) - if form.is_valid(): - return HttpResponseRedirect("/corputils/"+form.cleaned_data["corpid"]) - else: - return HttpResponseRedirect("/corputils/") - corp = EveCorporationInfo.objects.get(corporation_id=corpid) Player = namedtuple("Player", ["main", "maincorp", "maincorpid", "altlist"]) @@ -59,8 +52,8 @@ def corp_member_view(request, corpid = settings.CORP_ID): except (ValueError, EveCharacter.DoesNotExist): mainname = "User: " + user.username mainchar = char - maincorp = mainchar.corporation_name - maincorpid = mainchar.corporation_id + maincorp = "Not set." + maincorpid = None characters_with_api.setdefault(mainname, Player(main=mainchar, maincorp=maincorp, maincorpid=maincorpid, @@ -72,8 +65,12 @@ def corp_member_view(request, corpid = settings.CORP_ID): if not settings.IS_CORP: - form = SelectCorpForm() - context = {"form": form, + 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()), "characters_without_api": sorted(characters_without_api.items()), @@ -91,7 +88,7 @@ def corp_member_view(request, corpid = settings.CORP_ID): @login_required @permission_required('auth.corputils') -def corputils_search(request): +def corputils_search(request, corpid=settings.CORP_ID): logger.debug("corputils_search called by user %s" % request.user) if request.method == 'POST': form = CorputilsSearchForm(request.POST) @@ -102,7 +99,10 @@ def corputils_search(request): searchstring = form.cleaned_data['search_string'] logger.debug("Searching for player with character name %s for user %s" % (searchstring, request.user)) - member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + if settings.IS_CORP: + member_list = EveApiManager.get_corp_membertracking(settings.CORP_API_ID, settings.CORP_API_VCODE) + else: + member_list = EveWhoManager.get_corporation_members(corpid) Member = namedtuple('Member', ['name', 'main', 'api_registered']) diff --git a/stock/static/css/bootstrap.min.css b/stock/static/css/bootstrap.min.css index ee15bd7a..d368d7be 100644 --- a/stock/static/css/bootstrap.min.css +++ b/stock/static/css/bootstrap.min.css @@ -3401,6 +3401,11 @@ tbody.collapse.in { box-shadow: 0 6px 12px rgba(0, 0, 0, .175) } +.dropdown-menu.scrollable { + overflow: auto; + max-height: 450px; +} + .dropdown-menu.pull-right { right: 0; left: auto diff --git a/stock/templates/registered/corputils.html b/stock/templates/registered/corputils.html index c84abe23..b8678029 100644 --- a/stock/templates/registered/corputils.html +++ b/stock/templates/registered/corputils.html @@ -35,19 +35,20 @@

Unregistered characters: {{characters_without_api|length}}

- {% if form %} -
-
-
- -
-
-
+ + {% if membercorp_list %} + {% endif %}