new apps.epic app migrations for token expiration & cooldown; reject token renamed to return token everywhere; new mapps.epic.models & .views for expiration & cooldown; new apps.dash.views to manage stacking of like Token types not just in the kit bag but in the Gameboard's Game Kit applet & in the Dashwallet's Tokens applet; Free Tokens now display correctly in kit bag; apps.lyric.admin now ensures superuser cannot grant Free Tokens without an expiration date; corresponding tests in .tests.integrated.test_admin.TokenAdminFormTest; screendumps occurring for every test, regardless of passfail status, after one fail fixed in FTs.base; FTs.test_gatekeeper.GameKitInsertTest.test_free_token_insert_via_kit_consumed_on_confirm, for test purposes only, ensures starting Free Token deleted before fresh one assigned w. full 7d expiration battery
This commit is contained in:
@@ -32,21 +32,18 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for token in free_tokens %}
|
||||
<div id="id_kit_free_token_{{ forloop.counter0 }}" class="token">
|
||||
{% if free_tokens %}
|
||||
{% with free_tokens.0 as token %}
|
||||
<div id="id_kit_free_token" class="token">
|
||||
<i class="fa-solid fa-coins"></i>
|
||||
<div class="token-tooltip">
|
||||
<h4>{{ token.tooltip_name }}</h4>
|
||||
<p>
|
||||
{{ token.tooltip_description }}
|
||||
</p>
|
||||
{% if token.tooltip_shoptalk %}
|
||||
<small><em>{{ token.tooltip_shoptalk }}</em></small>
|
||||
{% endif %}
|
||||
<h4>{{ token.tooltip_name }}{% if free_count > 1 %} <span class="token-count">(×{{ free_count }})</span>{% endif %}</h4>
|
||||
<p>{{ token.tooltip_description }}</p>
|
||||
<p class="expiry">{{ token.tooltip_expiry }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<div id="id_kit_card_deck" class="kit-item"><i class="fa-regular fa-id-badge"></i></div>
|
||||
<div id="id_kit_dice_set" class="kit-item"><i class="fa-solid fa-dice"></i></div>
|
||||
</div>
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
<div class="token-panel">
|
||||
<div class="token-denomination">1</div>
|
||||
<span class="token-insert-label">INSERT TOKEN TO PLAY</span>
|
||||
<span class="token-reject-label">PUSH TO REJECT</span>
|
||||
<span class="token-return-label">PUSH TO RETURN</span>
|
||||
</div>
|
||||
{% if user_can_reject %}
|
||||
<form method="POST" action="{% url 'epic:reject_token' room.id %}" style="display:contents">
|
||||
<form method="POST" action="{% url 'epic:return_token' room.id %}" style="display:contents">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="token-reject-btn" aria-label="Push to reject"></button>
|
||||
<button type="submit" class="token-return-btn" aria-label="Push to return"></button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -26,19 +26,18 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for token in free_tokens %}
|
||||
<div id="id_free_token_{{ forloop.counter0 }}" class="token">
|
||||
{% if free_tokens %}
|
||||
{% with free_tokens.0 as token %}
|
||||
<div id="id_free_token" class="token">
|
||||
<i class="fa-solid fa-coins"></i>
|
||||
<div class="token-tooltip">
|
||||
<h4>{{ token.tooltip_name }}</h4>
|
||||
<h4>{{ token.tooltip_name }}{% if free_count > 1 %} <span class="token-count">(×{{ free_count }})</span>{% endif %}</h4>
|
||||
<p>{{ token.tooltip_description }}</p>
|
||||
{% if token.tooltip_shoptalk %}
|
||||
<small><em>{{ token.tooltip_shoptalk }}</em></small>
|
||||
{% endif %}
|
||||
<p class="expiry">{{ token.tooltip_expiry }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% empty %}
|
||||
{% endwith %}
|
||||
{% else %}
|
||||
<div id="id_free_token_empty" class="token token--empty">
|
||||
<i class="fa-solid fa-coins"></i>
|
||||
<div class="token-tooltip">
|
||||
@@ -47,20 +46,19 @@
|
||||
<p class="expiry">find one around</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% for token in tithe_tokens %}
|
||||
<div id="id_tithe_token_{{ forloop.counter0 }}" class="token">
|
||||
{% endif %}
|
||||
{% if tithe_tokens %}
|
||||
{% with tithe_tokens.0 as token %}
|
||||
<div id="id_tithe_token" class="token">
|
||||
<i class="fa-solid fa-piggy-bank"></i>
|
||||
<div class="token-tooltip">
|
||||
<h4>{{ token.tooltip_name }}</h4>
|
||||
<h4>{{ token.tooltip_name }}{% if tithe_count > 1 %} <span class="token-count">(×{{ tithe_count }})</span>{% endif %}</h4>
|
||||
<p>{{ token.tooltip_description }}</p>
|
||||
{% if token.tooltip_shoptalk %}
|
||||
<small><em>{{ token.tooltip_shoptalk }}</em></small>
|
||||
{% endif %}
|
||||
<p class="expiry">{{ token.tooltip_expiry }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% empty %}
|
||||
{% endwith %}
|
||||
{% else %}
|
||||
<div id="id_tithe_token_empty" class="token token--empty">
|
||||
<i class="fa-solid fa-piggy-bank"></i>
|
||||
<div class="token-tooltip">
|
||||
@@ -69,6 +67,6 @@
|
||||
<p class="expiry">purchase one above</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user