Revision 9a43d4b9 pithos/im/target/invitation.py
b/pithos/im/target/invitation.py | ||
---|---|---|
37 | 37 |
|
38 | 38 |
from django.http import HttpResponseBadRequest |
39 | 39 |
|
40 |
from pithos.im.models import Invitation |
|
41 |
from pithos.im.target.util import get_user, prepare_response |
|
40 |
from pithos.im.models import User, Invitation |
|
41 |
from pithos.im.target.util import prepare_response |
|
42 |
|
|
43 |
|
|
44 |
INVITATIONS_PER_LEVEL = { |
|
45 |
0 : 10000, |
|
46 |
1 : 3, |
|
47 |
2 : 2, |
|
48 |
3 : 1, |
|
49 |
4 : 0} |
|
42 | 50 |
|
43 | 51 |
|
44 | 52 |
def login(request): |
... | ... | |
54 | 62 |
invitation.save() |
55 | 63 |
logging.info('Accepted invitation %s', invitation) |
56 | 64 |
|
57 |
return prepare_response(get_user(invitation.uniq, invitation.realname, 'Invitation'), |
|
58 |
request.GET.get('next'), |
|
59 |
'renew' in request.GET) |
|
65 |
user, created = User.objects.get_or_create(uniq=invitation.uniq) |
|
66 |
if created: |
|
67 |
user.realname = invitation.realname |
|
68 |
user.affiliation = 'Invitation' |
|
69 |
user.level = invitation.inviter.level + 1 |
|
70 |
user.invitations = INVITATIONS_PER_LEVEL.get(user.level, 0) |
|
71 |
user.renew_token() |
|
72 |
user.save() |
|
73 |
logging.info('Created user %s', user) |
|
74 |
|
|
75 |
next = request.GET.get('next') |
|
76 |
return prepare_response(user, next, 'renew' in request.GET) |
Also available in: Unified diff