Revision ebd369d0 snf-astakos-app/astakos/im/models.py

b/snf-astakos-app/astakos/im/models.py
59 59
    #for invitations
60 60
    user_level = DEFAULT_USER_LEVEL
61 61
    level = models.IntegerField('Inviter level', default=user_level)
62
    invitations = models.IntegerField('Invitations left', default=INVITATIONS_PER_LEVEL[user_level])
62
    invitations = models.IntegerField('Invitations left', default=INVITATIONS_PER_LEVEL.get(user_level, 0))
63 63
    
64 64
    auth_token = models.CharField('Authentication Token', max_length=32,
65 65
                                  null=True, blank=True)
......
72 72
    # ex. screen_name for twitter, eppn for shibboleth
73 73
    third_party_identifier = models.CharField('Third-party identifier', max_length=255, null=True, blank=True)
74 74
    
75
    email_verified = models.BooleanField('Email verified?', default=False)
76
    
75 77
    @property
76 78
    def realname(self):
77 79
        return '%s %s' %(self.first_name, self.last_name)
......
132 134
    inviter = models.ForeignKey(AstakosUser, related_name='invitations_sent',
133 135
                                null=True)
134 136
    realname = models.CharField('Real name', max_length=255)
135
    username = models.CharField('Unique ID', max_length=255)
137
    username = models.CharField('Unique ID', max_length=255, unique=True)
136 138
    code = models.BigIntegerField('Invitation code', db_index=True)
137 139
    #obsolete: we keep it just for transfering the data
138 140
    is_accepted = models.BooleanField('Accepted?', default=False)
......
170 172
        conn = exchange_connect(QUEUE_CONNECTION)
171 173
        routing_key = QUEUE_CONNECTION.replace('#', body['id'])
172 174
        exchange_send(conn, routing_key, body)
173
        exchange_close(conn)
175
        exchange_close(conn)

Also available in: Unified diff