Revision bf0c6de5 snf-astakos-app/astakos/im/forms.py
b/snf-astakos-app/astakos/im/forms.py | ||
---|---|---|
89 | 89 |
""" |
90 | 90 |
Changes the order of fields, and removes the username field. |
91 | 91 |
""" |
92 |
request = kwargs.get('request', None)
|
|
92 |
request = kwargs.pop('request', None)
|
|
93 | 93 |
if request: |
94 |
kwargs.pop('request') |
|
95 | 94 |
self.ip = request.META.get('REMOTE_ADDR', |
96 | 95 |
request.META.get('HTTP_X_REAL_IP', None)) |
97 | 96 |
|
... | ... | |
150 | 149 |
save behavior is complete. |
151 | 150 |
""" |
152 | 151 |
user = super(LocalUserCreationForm, self).save(commit=False) |
153 |
user.renew_token() |
|
154 | 152 |
if commit: |
155 | 153 |
user.save() |
156 | 154 |
logger._log(LOGGING_LEVEL, 'Created user %s' % user.email, []) |
... | ... | |
240 | 238 |
def save(self, commit=True): |
241 | 239 |
user = super(ThirdPartyUserCreationForm, self).save(commit=False) |
242 | 240 |
user.set_unusable_password() |
243 |
user.renew_token() |
|
244 | 241 |
user.provider = get_query(self.request).get('provider') |
245 | 242 |
if commit: |
246 | 243 |
user.save() |
... | ... | |
385 | 382 |
fields = ('email', 'first_name', 'last_name', 'auth_token', 'auth_token_expires') |
386 | 383 |
|
387 | 384 |
def __init__(self, *args, **kwargs): |
385 |
self.session_key = kwargs.pop('session_key', None) |
|
388 | 386 |
super(ProfileForm, self).__init__(*args, **kwargs) |
389 | 387 |
instance = getattr(self, 'instance', None) |
390 | 388 |
ro_fields = ('email', 'auth_token', 'auth_token_expires') |
... | ... | |
396 | 394 |
user = super(ProfileForm, self).save(commit=False) |
397 | 395 |
user.is_verified = True |
398 | 396 |
if self.cleaned_data.get('renew'): |
399 |
user.renew_token() |
|
397 |
user.renew_token( |
|
398 |
flush_sessions=True, |
|
399 |
current_key=self.session_key |
|
400 |
) |
|
400 | 401 |
if commit: |
401 | 402 |
user.save() |
402 | 403 |
return user |
... | ... | |
523 | 524 |
help_text='Unsetting this may result in security risk.') |
524 | 525 |
|
525 | 526 |
def __init__(self, user, *args, **kwargs): |
527 |
self.session_key = kwargs.pop('session_key', None) |
|
526 | 528 |
super(ExtendedPasswordChangeForm, self).__init__(user, *args, **kwargs) |
527 | 529 |
|
528 | 530 |
def save(self, commit=True): |
529 |
if NEWPASSWD_INVALIDATE_TOKEN or self.cleaned_data.get('renew'): |
|
530 |
self.user.renew_token() |
|
531 |
try: |
|
532 |
if NEWPASSWD_INVALIDATE_TOKEN or self.cleaned_data.get('renew'): |
|
533 |
self.user.renew_token() |
|
534 |
self.user.flush_sessions(current_key=self.session_key) |
|
535 |
except AttributeError: |
|
536 |
# if user model does has not such methods |
|
537 |
pass |
|
531 | 538 |
return super(ExtendedPasswordChangeForm, self).save(commit=commit) |
532 | 539 |
|
533 | 540 |
class ExtendedSetPasswordForm(SetPasswordForm): |
... | ... | |
536 | 543 |
to optionally renew also the token. |
537 | 544 |
""" |
538 | 545 |
if not NEWPASSWD_INVALIDATE_TOKEN: |
539 |
renew = forms.BooleanField(label='Renew token', required=False, |
|
540 |
initial=True, |
|
541 |
help_text='Unsetting this may result in security risk.') |
|
546 |
renew = forms.BooleanField( |
|
547 |
label='Renew token', |
|
548 |
required=False, |
|
549 |
initial=True, |
|
550 |
help_text='Unsetting this may result in security risk.' |
|
551 |
) |
|
542 | 552 |
|
543 | 553 |
def __init__(self, user, *args, **kwargs): |
544 | 554 |
super(ExtendedSetPasswordForm, self).__init__(user, *args, **kwargs) |
545 | 555 |
|
546 | 556 |
def save(self, commit=True): |
547 |
if NEWPASSWD_INVALIDATE_TOKEN or self.cleaned_data.get('renew'): |
|
548 |
if isinstance(self.user, AstakosUser): |
|
557 |
try: |
|
558 |
self.user = AstakosUser.objects.get(id=self.user.id) |
|
559 |
if NEWPASSWD_INVALIDATE_TOKEN or self.cleaned_data.get('renew'): |
|
549 | 560 |
self.user.renew_token() |
561 |
self.user.flush_sessions() |
|
562 |
except BaseException, e: |
|
563 |
logger.exception(e) |
|
564 |
pass |
|
550 | 565 |
return super(ExtendedSetPasswordForm, self).save(commit=commit) |
Also available in: Unified diff