fix card_badges to always be links to card detail page

This commit is contained in:
badblocks 2025-04-13 00:31:24 -07:00
parent 5fbe80e83a
commit 9e501af1ac
6 changed files with 37 additions and 39 deletions

View file

@ -1,11 +1,13 @@
from django import template
from django.template.loader import render_to_string
from django.utils.safestring import mark_safe
from django.urls import reverse
register = template.Library()
@register.inclusion_tag("templatetags/card_badge.html")
def card_badge(card, quantity=None, expanded=False):
url = reverse('cards:card_detail', args=[card.pk])
return {
'quantity': quantity,
'style': card.style,
@ -13,6 +15,7 @@ def card_badge(card, quantity=None, expanded=False):
'rarity': card.rarity_icon,
'cardset': card.cardset,
'expanded': expanded,
'url': url,
}
@register.filter
@ -20,6 +23,7 @@ def card_badge_inline(card, quantity=None):
"""
Renders an inline card badge.
"""
url = reverse('cards:card_detail', args=[card.pk])
html = render_to_string("templatetags/card_badge.html", {
'quantity': quantity,
'style': card.style,
@ -27,6 +31,7 @@ def card_badge_inline(card, quantity=None):
'rarity': card.rarity_icon,
'cardset': card.cardset,
'expanded': True,
'url': url,
})
return mark_safe(html)