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