Revision 2d45374d

b/db/models.py
9 9

  
10 10
backend_prefix_id = settings.BACKEND_PREFIX_ID
11 11

  
12
class Limit(models.Model):
13
    description = models.CharField(max_length=45)
14
    
15
    class Meta:
16
        verbose_name = u'User limit'
17
    
18
    def __unicode__(self):
19
        return self.description
20

  
21 12

  
22 13
class SynnefoUser(models.Model):
23 14
    name = models.CharField(max_length=255)
24 15
    credit = models.IntegerField()
25
    quota = models.IntegerField()
26 16
    created = models.DateField()
27 17
    monthly_rate = models.IntegerField()
28 18
    user = models.ForeignKey(User)
29
    limits = models.ManyToManyField(Limit, through='UserLimit')
30 19
    violations = models.IntegerField()
31
    max_violations = models.IntegerField(default=3)
32 20
    
33 21
    class Meta:
34 22
        verbose_name = u'Synnefo User'
......
116 104

  
117 105

  
118 106
class UserLimit(models.Model):
107
    LIMITS = (
108
        ('QUOTA_CREDIT', 'Maximum number of credits per user'),
109
        ('MAX_VIOLATIONS', 'Maximum number of credit violation per user')
110
    )
119 111
    user = models.ForeignKey(SynnefoUser)
120
    limit = models.ForeignKey(Limit)
112
    limit = models.CharField(choices=LIMITS, max_length=30, null=False)
121 113
    value = models.IntegerField()
122 114
    
123 115
    class Meta:
124
        unique_together = ('user', 'limit')
125 116
        verbose_name = u'Enforced limit for user'
126 117
    
127 118
    def __unicode__(self):

Also available in: Unified diff