rendered paste body# -*- coding: UTF-8 -*-
from django.db import models
from django.contrib.auth.models import User
from django.db.models import Q
from django import newforms as forms
class Usergroup(models.Model):
INVITE_ONLY = 1
ON_REQUEST = 2
EVERYBODY = 3
join_choices = (
(INVITE_ONLY, 'Nur auf Einladung'), #nur auf einladung
(ON_REQUEST, 'Auf Anfrage'), #Anfrage ob man rein darf
(EVERYBODY, 'Free4All') #Jeder kann einfach so joinen
)
name = models.CharField(max_length=80)
description = models.TextField()
founder = models.ForeignKey(User, related_name="foundedgroups")
founddate = models.DateTimeField()
deleted = models.BooleanField(default=False)
join_mode = models.SmallIntegerField(choices=join_choices, default=1, verbose_name="Beitrittsmodus")
num_members = models.IntegerField(default=1)
def __unicode__(self):
return self.name
class Admin:
pass
class User2Usergroup(models.Model):
CANDIDATE = 1
INVITED = 2
MEMBER = 3
MODERATOR = 4
FOUNDER = 5
status_choices =(
(CANDIDATE, 'Bewerber'),
(INVITED, 'Eingeladen'),
(MEMBER, 'Mitglied'),
(MODERATOR, 'Moderator'),
(FOUNDER, 'Gründer')
)
user = models.ForeignKey(User, related_name="usergroups")
group = models.ForeignKey(Usergroup, related_name="users")
joindate = models.DateTimeField() # Time of groupjoin
status = models.SmallIntegerField(choices=status_choices) # Which level does the user have?
def __unicode__(self):
return self.group.name + " <-> " + self.user.username
class Admin:
pass