forked from MarseyWorld/MarseyWorld
leaderboards: workaround jinja can't do this by setting a value for if v appears in ranking
parent
40a34ea26a
commit
5c32713469
|
@ -17,6 +17,7 @@ class Leaderboard:
|
|||
all_users = None
|
||||
v_position = 0
|
||||
v_value = None
|
||||
v_appears_in_ranking = False
|
||||
user_func = None
|
||||
value_func = None
|
||||
|
||||
|
@ -33,6 +34,7 @@ class Leaderboard:
|
|||
self.all_users = lb[0]
|
||||
self.v_position = lb[1]
|
||||
self.v_value = lb[2]
|
||||
self.v_appears_in_ranking = self.v_position <= limit
|
||||
if value_func:
|
||||
self.user_func = lambda u:u
|
||||
self.value_func = value_func
|
||||
|
|
|
@ -35,16 +35,14 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% set v_appears_in_ranking = false %}
|
||||
{% for user in lb.all_users %}
|
||||
{% set user2 = lb.user_func(user) %}
|
||||
{% if v.id == user2.id %}
|
||||
{% set style="class=\"self\"" %}
|
||||
{% set v_appears_in_ranking = true %}
|
||||
{% endif %}
|
||||
{{format_user_in_table(user2, style, loop.index, lb.value_func(user), lb.user_relative_url)}}
|
||||
{% endfor %}
|
||||
{% if lb.v_position and not v_appears_in_ranking %}
|
||||
{% if lb.v_position and not lb.v_appears_in_ranking %}
|
||||
{{format_user_in_table(v, "style=\"border-top:2px solid var(--primary)\"", lb.v_position, lb.v_value, lb.user_relative_url)}}
|
||||
{% endif %}
|
||||
</tbody>
|
||||
|
|
Loading…
Reference in New Issue