|
a/Allura/allura/controllers/auth.py |
|
b/Allura/allura/controllers/auth.py |
|
... |
|
... |
79 |
c.user = oid_obj.claimed_by_user()
|
79 |
c.user = oid_obj.claimed_by_user()
|
80 |
session['userid'] = c.user._id
|
80 |
session['userid'] = c.user._id
|
81 |
session.save()
|
81 |
session.save()
|
82 |
if not c.user.username:
|
82 |
if not c.user.username:
|
83 |
flash('Please choose a user name for SourceForge, %s.'
|
83 |
flash('Please choose a user name for SourceForge, %s.'
|
84 |
% c.user.display_name)
|
84 |
% c.user.get_pref('display_name'))
|
85 |
redirect('setup_openid_user')
|
85 |
redirect('setup_openid_user')
|
86 |
redirect(kw.pop('return_to', '/'))
|
86 |
redirect(kw.pop('return_to', '/'))
|
87 |
|
87 |
|
88 |
@expose('jinja:setup_openid_user.html')
|
88 |
@expose('jinja:setup_openid_user.html')
|
89 |
def setup_openid_user(self):
|
89 |
def setup_openid_user(self):
|
|
... |
|
... |
101 |
user = M.User.register(
|
101 |
user = M.User.register(
|
102 |
dict(username=username,
|
102 |
dict(username=username,
|
103 |
display_name=display_name,
|
103 |
display_name=display_name,
|
104 |
password=pw))
|
104 |
password=pw))
|
105 |
plugin.AuthenticationProvider.get(request).login(user)
|
105 |
plugin.AuthenticationProvider.get(request).login(user)
|
106 |
flash('User "%s" registered' % user.display_name)
|
106 |
flash('User "%s" registered' % user.get_pref('display_name'))
|
107 |
redirect('/')
|
107 |
redirect('/')
|
108 |
|
108 |
|
109 |
@expose()
|
109 |
@expose()
|
110 |
def send_verification_link(self, a):
|
110 |
def send_verification_link(self, a):
|
111 |
addr = M.EmailAddress.query.get(_id=a)
|
111 |
addr = M.EmailAddress.query.get(_id=a)
|
|
... |
|
... |
133 |
if u and username != c.user.username:
|
133 |
if u and username != c.user.username:
|
134 |
flash('That username is already taken. Please choose another.',
|
134 |
flash('That username is already taken. Please choose another.',
|
135 |
'error')
|
135 |
'error')
|
136 |
redirect('setup_openid_user')
|
136 |
redirect('setup_openid_user')
|
137 |
c.user.username = username
|
137 |
c.user.username = username
|
138 |
c.user.display_name = display_name
|
138 |
c.user.set_pref('display_name', display_name)
|
139 |
if u is None:
|
139 |
if u is None:
|
140 |
n = M.Neighborhood.query.get(name='Users')
|
140 |
n = M.Neighborhood.query.get(name='Users')
|
141 |
n.register_project('u/' + username)
|
141 |
n.register_project('u/' + username)
|
142 |
flash('Your username has been set to %s.' % username)
|
142 |
flash('Your username has been set to %s.' % username)
|
143 |
redirect('/')
|
143 |
redirect('/')
|
|
... |
|
... |
287 |
oid=None,
|
287 |
oid=None,
|
288 |
new_oid=None,
|
288 |
new_oid=None,
|
289 |
preferences=None,
|
289 |
preferences=None,
|
290 |
**kw):
|
290 |
**kw):
|
291 |
require_authenticated()
|
291 |
require_authenticated()
|
292 |
c.user.display_name = display_name
|
292 |
c.user.set_pref('display_name', display_name)
|
293 |
if config.get('auth.method', 'local') == 'local':
|
293 |
if config.get('auth.method', 'local') == 'local':
|
294 |
for i, (old_a, data) in enumerate(zip(c.user.email_addresses, addr or [])):
|
294 |
for i, (old_a, data) in enumerate(zip(c.user.email_addresses, addr or [])):
|
295 |
obj = c.user.address_object(old_a)
|
295 |
obj = c.user.address_object(old_a)
|
296 |
if data.get('delete') or not obj:
|
296 |
if data.get('delete') or not obj:
|
297 |
del c.user.email_addresses[i]
|
297 |
del c.user.email_addresses[i]
|
298 |
if obj: obj.delete()
|
298 |
if obj: obj.delete()
|
299 |
c.user.preferences.email_address = primary_addr
|
299 |
c.user.set_pref('email_address', primary_addr)
|
300 |
if new_addr.get('claim'):
|
300 |
if new_addr.get('claim'):
|
301 |
if M.EmailAddress.query.get(_id=new_addr['addr'], confirmed=True):
|
301 |
if M.EmailAddress.query.get(_id=new_addr['addr'], confirmed=True):
|
302 |
flash('Email address already claimed', 'error')
|
302 |
flash('Email address already claimed', 'error')
|
303 |
else:
|
303 |
else:
|
304 |
c.user.email_addresses.append(new_addr['addr'])
|
304 |
c.user.email_addresses.append(new_addr['addr'])
|
|
... |
|
... |
311 |
del c.user.open_ids[i]
|
311 |
del c.user.open_ids[i]
|
312 |
if obj: obj.delete()
|
312 |
if obj: obj.delete()
|
313 |
for k,v in preferences.iteritems():
|
313 |
for k,v in preferences.iteritems():
|
314 |
if k == 'results_per_page':
|
314 |
if k == 'results_per_page':
|
315 |
v = int(v)
|
315 |
v = int(v)
|
316 |
c.user.preferences[k] = v
|
316 |
c.user.set_pref(k, v)
|
317 |
redirect('.')
|
317 |
redirect('.')
|
318 |
|
318 |
|
319 |
@h.vardec
|
319 |
@h.vardec
|
320 |
@expose()
|
320 |
@expose()
|
321 |
@require_post()
|
321 |
@require_post()
|