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