Source code for collective.smsauthenticator.browser.disable_two_step_verification
from zope.i18nmessageid import MessageFactory
from plone import api
from Products.Five import BrowserView
from Products.statusmessages.interfaces import IStatusMessage
_ = MessageFactory('collective.smsauthenticator')
[docs]class DisableTwoStepVerification(BrowserView):
"""
Disabling the two-step verification.
"""
def __init__(self, context, request):
self.context = context
self.request = request
[docs] def disable(self):
"""
Disable the two-step verification for the user and redirect back to the `@@personal-information`.
"""
if bool(api.user.is_anonymous()) is True:
self.request.response.setStatus(401, _('Forbidden for anonymous'), True)
return None
user = api.user.get_current()
user.setMemberProperties(
mapping = {
'enable_two_step_verification': False,
'two_step_verification_secret': '',
'mobile_number_reset_token': '',
'mobile_number_reset_code': '',
#'authentication_token_valid_until': '',
'mobile_number_authentication_code': '',
}
)
IStatusMessage(self.request).addStatusMessage(
_("You have successfully disabled the two-step verification for your account."),
'info'
)
# TODO: redirect user to where he actually came from?
redirect_url = "{0}/@@personal-information".format(self.context.absolute_url())
self.request.response.redirect(redirect_url)