diff --git a/vendor/symposion/teams/models.py b/vendor/symposion/teams/models.py index ca197272fb89fc474139247064286fcea7e0cf72..a09abad8b03b1b80809695d9810bac1502f05c5d 100644 --- a/vendor/symposion/teams/models.py +++ b/vendor/symposion/teams/models.py @@ -2,11 +2,15 @@ import datetime from django.db import models from django.utils.translation import ugettext_lazy as _ +from django.urls import reverse -from django.contrib.auth.models import Permission, User +from django.contrib.auth.models import Permission +from django.contrib.auth import get_user_model from reversion import revisions as reversion +User = get_user_model() + TEAM_ACCESS_CHOICES = [ ("open", _("open")), @@ -36,9 +40,8 @@ class Team(models.Model): created = models.DateTimeField(default=datetime.datetime.now, editable=False, verbose_name=_("Created")) - @models.permalink def get_absolute_url(self): - return ("team_detail", [self.slug]) + return reverse("team_detail", args=[self.slug]) def __str__(self): return self.name @@ -78,10 +81,18 @@ MEMBERSHIP_STATE_CHOICES = [ class Membership(models.Model): - user = models.ForeignKey(User, related_name="memberships", - verbose_name=_("User")) - team = models.ForeignKey(Team, related_name="memberships", - verbose_name=_("Team")) + user = models.ForeignKey( + User, + related_name="memberships", + verbose_name=_("User"), + on_delete=models.CASCADE, + ) + team = models.ForeignKey( + Team, + related_name="memberships", + verbose_name=_("Team"), + on_delete=models.CASCADE, + ) state = models.CharField(max_length=20, choices=MEMBERSHIP_STATE_CHOICES, verbose_name=_("State")) message = models.TextField(blank=True, verbose_name=_("Message"))