Allow counters in banner text.
authorRadek Czajka <rczajka@rczajka.pl>
Thu, 19 Mar 2020 16:46:18 +0000 (16:46 +0000)
committerRadek Czajka <rczajka@rczajka.pl>
Thu, 19 Mar 2020 16:46:18 +0000 (16:46 +0000)
src/annoy/models.py
src/annoy/templates/annoy/banner.html
src/club/templatetags/club.py

index 9ed724c..488fa87 100644 (file)
@@ -1,6 +1,7 @@
 from django.apps import apps
 from django.conf import settings
 from django.db import models
+from django.template import Context, Template
 from django.utils.translation import ugettext_lazy as _
 from django.utils.timezone import now
 from .places import PLACES, PLACE_CHOICES
@@ -34,6 +35,9 @@ class Banner(models.Model):
     def __str__(self):
         return self.text
 
+    def get_text(self):
+        return Template(self.text).render(Context())
+
     @classmethod
     def choice(cls, place, request):
         Membership = apps.get_model('club', 'Membership')
index 012be11..9d00168 100644 (file)
@@ -17,7 +17,7 @@
         <img src="{{ banner.image.url }}">
       {% endif %}
       <div class="text">
-        {{ banner.text|safe|linebreaks }}
+        {{ banner.get_text|safe|linebreaks }}
       </div>
 
       {% if banner.action_label %}
index b0ce868..42913fe 100644 (file)
@@ -17,6 +17,10 @@ def active_schedule(user):
     return get_active_schedule(user)
 
 
+@register.simple_tag
+def club_count_recurring():
+    return Schedule.objects.exclude(monthly=False, yearly=False).filter(expires_at__gt=now()).count()
+
 @register.simple_tag
 def club_active_monthly_count():
     return Schedule.objects.filter(