Skip to content

Commit d725d46

Browse files
committed
Show the correct selected player name in 'assets' view filters
1 parent 211cc1f commit d725d46

2 files changed

Lines changed: 25 additions & 15 deletions

File tree

templates/thing/assets.html

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,21 @@ <h2>Assets</h2>
4646
<form class="well well-small" action="{% url thing.views.assets %}" method="GET">
4747
<h4>Filters</h4>
4848
<fieldset>
49-
<select name="filter_type">
50-
<option value="char">Character</option>
49+
{% for f_type, f_comp, f_value in filters %}
50+
<select name="type">
51+
<option value="char"{% if f_type == 'char' %} selected{% endif %}>Character</option>
5152
</select>
52-
<select name="filter_comp" class="input-small">
53-
<option value="eq">=</option>
54-
<option value="ne">!=</option>
53+
<select name="comp" class="input-small">
54+
<option value="eq"{% if f_comp == 'eq' %} selected{% endif %}>=</option>
55+
<option value="ne"{% if f_comp == 'ne' %} selected{% endif %}>!=</option>
5556
</select>
56-
<select name="filter_value">
57+
<select name="value">
5758
<option value=""></option>
5859
{% for character in characters %}
59-
<option value="{{ character.eve_character_id }}">{{ character.name }}</option>
60+
<option value="{{ character.eve_character_id }}"{% if f_value == character.eve_character_id %} selected{% endif %}>{{ character.name }}</option>
6061
{% endfor %}
6162
</select>
63+
{% endfor %}
6264
</fieldset>
6365
{% comment %}<button id="add-filter" class="btn btn-primary"><i class="icon-plus icon-white"></i> Add filter</button>{% endcomment %}
6466
<button type="submit" class="btn btn-primary">Apply filters</button>

thing/views.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -274,23 +274,30 @@ def assets(request):
274274
assets = CharacterAsset.objects.select_related('system', 'station', 'item__item_group__category', 'character', 'inv_flag').filter(character__apikey__user=request.user)
275275

276276
# retrieve any supplied filter values
277-
filter_types = request.GET.getlist('filter_type')
278-
filter_comps = request.GET.getlist('filter_comp')
279-
filter_values = request.GET.getlist('filter_value')
277+
f_types = request.GET.getlist('type')
278+
f_comps = request.GET.getlist('comp')
279+
f_values = request.GET.getlist('value')
280280

281281
# check lengths
282-
if len(filter_types) == len(filter_comps) and len(filter_types) == len(filter_values):
283-
for i in range(len(filter_types)):
284-
ft = filter_types[i]
285-
fc = filter_comps[i]
286-
fv = filter_values[i]
282+
filters = []
283+
284+
if len(f_types) == len(f_comps) and len(f_types) == len(f_values):
285+
for i in range(len(f_types)):
286+
ft = f_types[i]
287+
fc = f_comps[i]
288+
fv = f_values[i]
287289

288290
if ft == 'char' and fv.isdigit():
289291
if fc == 'eq':
290292
assets = assets.filter(character_id=fv)
291293
elif fc == 'ne':
292294
assets = assets.exclude(character_id=fv)
293295

296+
filters.append((ft, fc, int(fv)))
297+
298+
if not filters:
299+
filters.append(('char', 'eq', 0))
300+
294301
# initialise data structures
295302
ca_lookup = {}
296303
loc_totals = {}
@@ -355,6 +362,7 @@ def assets(request):
355362
'thing/assets.html',
356363
{
357364
'characters': Character.objects.filter(apikey__user=request.user),
365+
'filters': filters,
358366
'total_value': total_value,
359367
'systems': sorted_systems,
360368
'loc_totals': loc_totals,

0 commit comments

Comments
 (0)