Revision 7d7f1f1b

b/astakos/im/admin/views.py
59 59
from django.contrib.sites.models import Site
60 60

  
61 61
from astakos.im.models import AstakosUser, Invitation
62
from astakos.im.util import isoformat, get_or_create_user, get_context
62
from astakos.im.util import isoformat, get_context
63 63
from astakos.im.forms import *
64 64
from astakos.im.backends import get_backend
65 65
from astakos.im.views import render_response, index
b/astakos/im/backends/__init__.py
37 37
from django.core.mail import send_mail
38 38
from django.template.loader import render_to_string
39 39
from django.utils.translation import ugettext as _
40
from django.contrib.auth import authenticate, login
40 41
from django.contrib.auth.forms import UserCreationForm
41 42
from django.contrib.sites.models import Site
42 43
from django.contrib import messages
......
45 46
from smtplib import SMTPException
46 47
from urllib import quote
47 48

  
48
from astakos.im.util import get_or_create_user
49 49
from astakos.im.models import AstakosUser, Invitation
50 50
from astakos.im.forms import ExtendedUserCreationForm, InvitedExtendedUserCreationForm
51 51

  
......
150 150
            if self._is_preaccepted(user):
151 151
                user.is_active = True
152 152
                user.save()
153
                # get the raw password from the form
154
                password = form.cleaned_data['password1']
155
                user = authenticate(username=user.email, password=password)
156
                login(self.request, user)
153 157
                message = _('Registration completed. You can now login.')
154 158
            else:
155 159
                message = _('Registration completed. You will receive an email upon your account\'s activation')
b/astakos/im/forms.py
41 41
from hashlib import new as newhasher
42 42

  
43 43
from astakos.im.models import AstakosUser
44
from astakos.im.util import get_or_create_user
45 44

  
46 45
import logging
47 46
import uuid
b/astakos/im/target/invitation.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
import logging
35
import uuid
35 36

  
36 37
from datetime import datetime
37 38

  
......
56 57
        invitation.save()
57 58
        logging.info('Accepted invitation %s', invitation)
58 59
    
59
    user = get_or_create_user(invitation.uniq,
60
                              invitation.realname,
61
                              'Invitation',
62
                              invitation.inviter.level + 1)
60
    user = get_or_create_user(username = uuid.uuid4().hex[:30],
61
                              realname = invitation.realname,
62
                              affiliation = 'Invitation',
63
                              level = invitation.inviter.level + 1,
64
                              email = invitation.uniq)
63 65
    
64 66
    # in order to login the user we must call authenticate first 
65 67
    authenticate(email=user.email, auth_token=user.auth_token)
b/astakos/im/target/local.py
83 83
    
84 84
    user.is_active = True
85 85
    user.save()
86
    return prepare_response(request, user, next, renew=True, skip_login=True)
86
    user = authenticate(email=user.email, auth_token=user.auth_token)
87
    return prepare_response(request, user, next, renew=True)
b/astakos/im/target/shibboleth.py
38 38
from astakos.im.target.util import prepare_response
39 39
from astakos.im.util import get_or_create_user
40 40

  
41
import uuid
41 42

  
42 43
class Tokens:
43 44
    # these are mapped by the Shibboleth SP software
......
69 70
    
70 71
    affiliation = tokens.get(Tokens.SHIB_EP_AFFILIATION, '')
71 72
    
72
    user = get_or_create_user(eppn, realname=realname, affiliation=affiliation, level=0, email=eppn)
73
    username = uuid.uuid4().hex[:30]
74
    user = get_or_create_user(username, realname=realname, affiliation=affiliation, level=0, email=eppn)
73 75
    # in order to login the user we must call authenticate first
74
    user = authenticate(username=user.username, auth_token=user.auth_token)
76
    user = authenticate(email=user.email, auth_token=user.auth_token)
75 77
    return prepare_response(request,
76 78
                            user,
77 79
                            request.GET.get('next'),
b/astakos/im/target/twitter.py
35 35

  
36 36
import oauth2 as oauth
37 37
import urlparse
38
import uuid
38 39

  
39 40
from django.conf import settings
40 41
from django.http import HttpResponse
......
114 115
    # These two things will likely never be used. Alternatively, you 
115 116
    # can prompt them for their email here. Either way, the password 
116 117
    # should never be used.
117
    username = '%s@twitter.com' % access_token['screen_name']
118
    email = '%s@twitter.com' % access_token['screen_name']
118 119
    realname = access_token['screen_name']
119
    
120
    user = get_or_create_user(username, realname=realname, affiliation='Twitter', level=0, email=username)
120
    username = uuid.uuid4().hex[:30]
121
    user = get_or_create_user(username, realname=realname, affiliation='Twitter', level=0, email=email)
121 122
    # in order to login the user we must call authenticate first
122
    user = authenticate(username=user.username, auth_token=user.auth_token)
123
    user = authenticate(email=user.email, auth_token=user.auth_token)
123 124
    return prepare_response(request,
124 125
                            user,
125 126
                            request_token.get('next'))
b/astakos/im/views.py
63 63

  
64 64
#from astakos.im.openid_store import PithosOpenIDStore
65 65
from astakos.im.models import AstakosUser, Invitation
66
from astakos.im.util import isoformat, get_or_create_user, get_context
66
from astakos.im.util import isoformat, get_context
67 67
from astakos.im.backends import get_backend
68 68
from astakos.im.forms import ProfileForm, FeedbackForm, LoginForm
69 69

  

Also available in: Unified diff