Revision 4e30244e snf-astakos-app/astakos/im/activation_backends.py
b/snf-astakos-app/astakos/im/activation_backends.py | ||
---|---|---|
47 | 47 |
from astakos.im.forms import * |
48 | 48 |
from astakos.im.util import get_invitation |
49 | 49 |
from astakos.im.functions import send_verification, send_admin_notification, activate |
50 |
from astakos.im.settings import INVITATIONS_ENABLED, DEFAULT_CONTACT_EMAIL, DEFAULT_FROM_EMAIL, MODERATION_ENABLED, SITENAME, BASEURL, DEFAULT_ADMIN_EMAIL, RE_USER_EMAIL_PATTERNS
|
|
50 |
from astakos.im.settings import INVITATIONS_ENABLED, DEFAULT_CONTACT_EMAIL, DEFAULT_FROM_EMAIL, MODERATION_ENABLED, SITENAME, DEFAULT_ADMIN_EMAIL, RE_USER_EMAIL_PATTERNS |
|
51 | 51 |
|
52 | 52 |
import socket |
53 | 53 |
import logging |
... | ... | |
100 | 100 |
or invitation username is reserved. |
101 | 101 |
""" |
102 | 102 |
self.request = request |
103 |
self.invitation = get_invitation(request) |
|
104 | 103 |
super(InvitationsBackend, self).__init__() |
105 | 104 |
|
106 |
def get_signup_form(self, provider='local'): |
|
105 |
def get_signup_form(self, provider='local', instance=None):
|
|
107 | 106 |
""" |
108 | 107 |
Returns the form class name |
109 | 108 |
""" |
110 |
invitation = self.invitation |
|
111 |
initial_data = self.get_signup_initial_data(provider) |
|
112 |
prefix = 'Invited' if invitation else '' |
|
113 |
main = provider.capitalize() |
|
114 |
suffix = 'UserCreationForm' |
|
115 |
formclass = '%s%s%s' % (prefix, main, suffix) |
|
116 |
ip = self.request.META.get('REMOTE_ADDR', |
|
117 |
self.request.META.get('HTTP_X_REAL_IP', None)) |
|
118 |
return globals()[formclass](initial_data, ip=ip) |
|
109 |
try: |
|
110 |
self.invitation = get_invitation(self.request) |
|
111 |
except (Invitation, ValueError), e: |
|
112 |
self.invitation = None |
|
113 |
else: |
|
114 |
invitation = self.invitation |
|
115 |
initial_data = self.get_signup_initial_data(provider) |
|
116 |
prefix = 'Invited' if invitation else '' |
|
117 |
main = provider.capitalize() |
|
118 |
suffix = 'UserCreationForm' |
|
119 |
formclass = '%s%s%s' % (prefix, main, suffix) |
|
120 |
ip = self.request.META.get('REMOTE_ADDR', |
|
121 |
self.request.META.get('HTTP_X_REAL_IP', None)) |
|
122 |
return globals()[formclass](initial_data, instance=instance, ip=ip) |
|
119 | 123 |
|
120 | 124 |
def get_signup_initial_data(self, provider): |
121 | 125 |
""" |
... | ... | |
134 | 138 |
initial_data = {'email':invitation.username, |
135 | 139 |
'inviter':invitation.inviter.realname, |
136 | 140 |
'first_name':u.first_name, |
137 |
'last_name':u.last_name} |
|
141 |
'last_name':u.last_name, |
|
142 |
'provider':provider} |
|
138 | 143 |
else: |
139 | 144 |
if provider == request.POST.get('provider', ''): |
140 | 145 |
initial_data = request.POST |
... | ... | |
191 | 196 |
self.request = request |
192 | 197 |
super(SimpleBackend, self).__init__() |
193 | 198 |
|
194 |
def get_signup_form(self, provider='local'): |
|
199 |
def get_signup_form(self, provider='local', instance=None):
|
|
195 | 200 |
""" |
196 | 201 |
Returns the form class name |
197 | 202 |
""" |
... | ... | |
205 | 210 |
initial_data = request.POST |
206 | 211 |
ip = self.request.META.get('REMOTE_ADDR', |
207 | 212 |
self.request.META.get('HTTP_X_REAL_IP', None)) |
208 |
return globals()[formclass](initial_data, ip=ip) |
|
213 |
return globals()[formclass](initial_data, instance=instance, ip=ip)
|
|
209 | 214 |
|
210 | 215 |
def _is_preaccepted(self, user): |
211 | 216 |
if super(SimpleBackend, self)._is_preaccepted(user): |
Also available in: Unified diff