Now the search function works in alliance mode as well, searching the corp that is currently active. Also, the select corporation is nicer now.

This commit is contained in:
Ydmir 2016-01-25 23:19:28 +01:00
parent bd7bbc9339
commit 29e5790ec7
4 changed files with 35 additions and 29 deletions

View File

@ -166,8 +166,8 @@ urlpatterns = patterns('',
#corputils
url(r'^corputils/$', 'corputils.views.corp_member_view', name='auth_corp_member_view'),
url(r'^corputils/(?P<corpid>[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<corpid>[0-9]+)/$', 'corputils.views.corputils_search', name="auth_corputils_search"),
# FLEET FITTINGS
url(r'^fits/$', 'services.views.fleet_fits', name='auth_fleet_fits'),

View File

@ -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))
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'])

View File

@ -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

View File

@ -35,19 +35,20 @@
<p>Unregistered characters: {{characters_without_api|length}}</p>
</div>
<div class="text-right">
{% if form %}
<div class="container-fluid">
<div class="col-md-4 col-md-offset-4">
<div class="row">
<form class="form-signin" role="form" action="" method="POST">
{% csrf_token %}
{{ form|bootstrap }}
<br/>
<button class="btn btn-lg btn-primary btn-block" type="submit">Select corp</button>
</form>
</div>
</div>
</div>
{% if membercorp_list %}
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Choose corporation <span class="caret"></span></a>
<ul class="dropdown-menu scrollable">
{% for membercorp_id, membercorp_name in membercorp_list %}
<li>
<a href="/corputils/{{ membercorp_id }}">{{ membercorp_name }}</a>
</li>
{% endfor %}
</ul>
</li>
</ul>
{% endif %}
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal">
@ -145,7 +146,7 @@
</div>
<div class="modal-body">
<form class="form-signin" role="form"
action={% url 'auth_corputils_search' %} method="POST">
action={% url 'auth_corputils_search' %}{{ corp.corporation_id }}/ method="POST">
{% csrf_token %}
{{ search_form|bootstrap }}
<br/>