Revision 8316698a snf-astakos-app/astakos/im/models.py
b/snf-astakos-app/astakos/im/models.py | ||
---|---|---|
56 | 56 |
#for invitations |
57 | 57 |
user_level = DEFAULT_USER_LEVEL |
58 | 58 |
level = models.IntegerField('Inviter level', default=user_level) |
59 |
invitations = models.IntegerField('Invitations left', default=INVITATIONS_PER_LEVEL[user_level])
|
|
59 |
invitations = models.IntegerField('Invitations left', default=INVITATIONS_PER_LEVEL.get(user_level, 0))
|
|
60 | 60 |
|
61 | 61 |
auth_token = models.CharField('Authentication Token', max_length=32, |
62 | 62 |
null=True, blank=True) |
... | ... | |
69 | 69 |
# ex. screen_name for twitter, eppn for shibboleth |
70 | 70 |
third_party_identifier = models.CharField('Third-party identifier', max_length=255, null=True, blank=True) |
71 | 71 |
|
72 |
email_verified = models.BooleanField('Email verified?', default=False) |
|
73 |
|
|
72 | 74 |
@property |
73 | 75 |
def realname(self): |
74 | 76 |
return '%s %s' %(self.first_name, self.last_name) |
... | ... | |
127 | 129 |
inviter = models.ForeignKey(AstakosUser, related_name='invitations_sent', |
128 | 130 |
null=True) |
129 | 131 |
realname = models.CharField('Real name', max_length=255) |
130 |
username = models.CharField('Unique ID', max_length=255) |
|
132 |
username = models.CharField('Unique ID', max_length=255, unique=True)
|
|
131 | 133 |
code = models.BigIntegerField('Invitation code', db_index=True) |
132 | 134 |
#obsolete: we keep it just for transfering the data |
133 | 135 |
is_accepted = models.BooleanField('Accepted?', default=False) |
Also available in: Unified diff