Compare commits

...

2 Commits

Author SHA1 Message Date
74d7df2c8b Add an icon for fetured items 2025-12-29 11:44:54 +01:00
c81508bbd5 Fix a bug in featured count limit 2025-12-25 19:46:18 +01:00
3 changed files with 20 additions and 8 deletions

View File

@@ -3,12 +3,19 @@
<div class="col"> <div class="col">
<div class="card shadow-sm"> <div class="card shadow-sm">
{% if d.image.exists %} <div id="card-img-container" class="position-relative">
<a href="{{d.get_absolute_url}}"><img class="card-img-top" src="{{ d.image.first.image.url }}" alt="{{ d }}"></a> {% if d.featured %}
{% else %} <span class="position-absolute translate-middle top-0 start-0 m-3 text-danger">
<!-- Do not show the "Coming soon" image when running in a single card column mode (e.g. on mobile) --> <abbr title="Featured item"><i class="bi bi-heart-fill"></i></abbr>
<a href="{{d.get_absolute_url}}"><img class="card-img-top d-none d-sm-block" src="{% static DEFAULT_CARD_IMAGE %}" alt="{{ d }}"></a> </span>
{% endif %} {% endif %}
{% if d.image.exists %}
<a href="{{d.get_absolute_url}}"><img class="card-img-top" src="{{ d.image.first.image.url }}" alt="{{ d }}"></a>
{% else %}
<!-- Do not show the "Coming soon" image when running in a single card column mode (e.g. on mobile) -->
<a href="{{d.get_absolute_url}}"><img class="card-img-top d-none d-sm-block" src="{% static DEFAULT_CARD_IMAGE %}" alt="{{ d }}"></a>
{% endif %}
</div>
<div class="card-body"> <div class="card-body">
<p class="card-text" style="position: relative;"> <p class="card-text" style="position: relative;">
<strong>{{ d }}</strong> <strong>{{ d }}</strong>

View File

@@ -1,4 +1,4 @@
from ram.utils import git_suffix from ram.utils import git_suffix
__version__ = "0.18.9" __version__ = "0.18.10"
__version__ += git_suffix(__file__) __version__ += git_suffix(__file__)

View File

@@ -175,7 +175,12 @@ class RollingStock(BaseModel):
def clean(self, *args, **kwargs): def clean(self, *args, **kwargs):
if self.featured: if self.featured:
MAX = settings.FEATURED_ITEMS_MAX MAX = settings.FEATURED_ITEMS_MAX
if RollingStock.objects.filter(featured=True).count() > MAX - 1: featured_count = (
RollingStock.objects.filter(featured=True)
.exclude(uuid=self.uuid)
.count()
)
if featured_count > MAX - 1:
raise ValidationError( raise ValidationError(
"There are already {} featured items".format(MAX) "There are already {} featured items".format(MAX)
) )