Files
@ 40f4d1bb8d07
Branch filter:
Location: symposion_app/symposion/teams/models.py - annotation
40f4d1bb8d07
1.3 KiB
text/x-python
display available teams on dashboard and remove debugging print
69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 283ac696efd1 283ac696efd1 283ac696efd1 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 283ac696efd1 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e a907b78bd131 a907b78bd131 a907b78bd131 a907b78bd131 a907b78bd131 a907b78bd131 69d3df83c15e 69d3df83c15e 283ac696efd1 283ac696efd1 283ac696efd1 283ac696efd1 283ac696efd1 283ac696efd1 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e 283ac696efd1 283ac696efd1 283ac696efd1 69d3df83c15e 69d3df83c15e 69d3df83c15e 69d3df83c15e | import datetime
from django.db import models
import reversion
from django.contrib.auth.models import Permission, User
TEAM_ACCESS_CHOICES = [
("open", "open"),
("application", "by application"),
("invitation", "by invitation")
]
class Team(models.Model):
slug = models.SlugField(unique=True)
name = models.CharField(max_length=100)
description = models.TextField(blank=True)
access = models.CharField(max_length=20, choices=TEAM_ACCESS_CHOICES)
permissions = models.ManyToManyField(Permission, blank=True)
created = models.DateTimeField(default=datetime.datetime.now, editable=False)
def __unicode__(self):
return self.name
def get_state_for_user(self, user):
try:
return self.memberships.get(user=user).state
except Membership.DoesNotExist:
return None
MEMBERSHIP_STATE_CHOICES = [
("applied", "applied"),
("invited", "invited"),
("declined", "declined"),
("rejected", "rejected"),
("member", "member"),
("manager", "manager"),
]
class Membership(models.Model):
user = models.ForeignKey(User, related_name="memberships")
team = models.ForeignKey(Team, related_name="memberships")
state = models.CharField(max_length=20, choices=MEMBERSHIP_STATE_CHOICES)
message = models.TextField(blank=True)
reversion.register(Membership)
|