from django.db import models from django.db.models.signals import post_save from django.contrib.auth.models import User from decimal import Decimal class UserProfile(models.Model): user = models.ForeignKey(User, unique=True) balance = models.DecimalField(max_digits=9, decimal_places=2, default=Decimal(0)) def __unicode__(self): return "%s (Kontostand: %s)" % (self.user ,self.balance) def createUserProfile(sender, instance, created, **kwargs): if created: profile = UserProfile() profile.user = instance profile.save() post_save.connect(createUserProfile, sender=User) class Plugin(models.Model): name = models.CharField(max_length=40) user = models.ForeignKey(User, unique=True) author = models.CharField(max_length=40) version = models.CharField(max_length=40) descr = models.TextField(default='') uniqueAuthblob = models.BooleanField(default=False) def __unicode__(self): return self.name class PluginPermission(models.Model): user = models.ForeignKey(User) plugin = models.ForeignKey('Plugin') authBlob = models.TextField(default='') def __unicode__(self): return "%s allows %s" % (self.user, self.plugin)