All pastes #920570 Raw Edit

Zeug

public text v1 · immutable
#920570 ·published 2008-02-27 14:29 UTC
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