diff --git a/stave/models.py b/stave/models.py index 6e3bcda..2c78af4 100644 --- a/stave/models.py +++ b/stave/models.py @@ -294,6 +294,13 @@ class Subscription(models.Model): League, related_name="subscribers", on_delete=models.CASCADE ) + class Meta: + constraints = [ + models.UniqueConstraint( + fields=["user", "league"], name="unique_subscription" + ) + ] + class LeagueTemplate(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) diff --git a/stave/settings/base.py b/stave/settings/base.py index 7f6a3cd..6a8c4d2 100644 --- a/stave/settings/base.py +++ b/stave/settings/base.py @@ -52,6 +52,7 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "django_htmx", "allauth", "allauth.account", "allauth.mfa", @@ -77,6 +78,7 @@ "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", "allauth.account.middleware.AccountMiddleware", + "django_htmx.middleware.HtmxMiddleware", ] # Authentication diff --git a/stave/templates/base.html b/stave/templates/base.html index 7981579..7962bd0 100644 --- a/stave/templates/base.html +++ b/stave/templates/base.html @@ -1,3 +1,4 @@ +{% load django_htmx %} {% load static %} {% load meta %} @@ -12,12 +13,13 @@ {% block title %}Stave{% endblock %} + {% htmx_script %} {% include 'meta/meta.html' %} {% block resources %}{% endblock %} {% block extra_head %} {% endblock extra_head %} - +