def do_put(username, *args, **kwargs): """ Forgot password """ _db = get_db() request = kwargs['request_handler'] username = username.lower() if not check_user_exists(username, _db): log.critical('User check fail') return base_common.msg.error(msgs.USER_NOT_FOUND) # GET HASH FOR FORGOTTEN PASSWORD rh = BaseAPIRequestHandler() data = {'cmd': 'forgot_password', 'username': username} rh.set_argument('data', json.dumps(data, ensure_ascii=False)) kwargs['request_handler'] = rh res = base_api.hash2params.save_hash.do_put( json.dumps(data, ensure_ascii=False), *args, **kwargs) if 'http_status' not in res or res['http_status'] != 200: return base_common.msg.error('Cannot handle forgot password') tk = res['h'] if not forgot_password_hook(request, username, tk, **kwargs): log.critical('Error finishing username change process') return base_common.msg.error(msgs.ERROR_PASSWORD_RESTORE) # # message = get_email_message(request, username, tk) # # # SAVE EMAIL FOR SENDING # rh1 = BaseAPIRequestHandler() # rh1.set_argument('sender', support_mail) # rh1.set_argument('receiver', username) # rh1.set_argument('message', message) # kwargs['request_handler'] = rh1 # res = base_api.mail_api.save_mail.do_put(support_mail, username, message, *args, **kwargs) # if 'http_status' not in res or res['http_status'] != 204: # return base_common.msg.error('Error finishing change password request') return base_common.msg.post_ok(msgs.OK)
def do_put(request, *args, **kwargs): """ Forgot password :param username: users username, string, True :return: 200, OK :return: 404, notice """ log = request.log _db = get_db() try: username = request.get_argument('username') except tornado.web.MissingArgumentError: log.critical('Missing argument username') return base_common.msg.error(msgs.MISSING_REQUEST_ARGUMENT) if not check_user_exists(username, _db, log): log.critical('User check fail') return base_common.msg.error(msgs.USER_NOT_FOUND) # GET HASH FOR FORGOTTEN PASSWORD rh = BaseAPIRequestHandler(log) data = {'cmd': 'forgot_password', 'username': username} rh.set_argument('data', json.dumps(data)) res = base_api.hash2params.save_hash.do_put(rh) if 'http_status' not in res or res['http_status'] != 200: return base_common.msg.error('Cannot handle forgot password') tk = res['h'] message = get_email_message(request, username, tk) # SAVE EMAIL FOR SENDING rh1 = BaseAPIRequestHandler(log) rh1.set_argument('sender', support_mail) rh1.set_argument('receiver', username) rh1.set_argument('message', message) res = base_api.mail_api.save_mail.do_put(rh1) if 'http_status' not in res or res['http_status'] != 204: return base_common.msg.error('Error finishing change password request') return base_common.msg.post_ok(msgs.OK)
def do_put(request, *args, **kwargs): """ Forgot password :param username: users username, string, True :return: 200, OK :return: 404, notice """ log = request.log _db = get_md2db() try: username = request.get_argument('username') except tornado.web.MissingArgumentError: log.critical('Missing argument username') return base_common.msg.error(msgs.MISSING_REQUEST_ARGUMENT) if not check_user_exists(username, _db, log): log.critical('User check fail') return base_common.msg.error(msgs.USER_NOT_FOUND) # GET HASH FOR FORGOTTEN PASSWORD rh = BaseAPIRequestHandler(log) data = {'cmd': 'forgot_password', 'username': username} rh.set_argument('data', json.dumps(data)) res = base_api.hash2params.save_hash.do_put(rh) if 'http_status' not in res or res['http_status'] != 200: return base_common.msg.error('Cannot handle forgot password') tk = res['h'] message = get_email_message(request, username, tk) # SAVE EMAIL FOR SENDING rh1 = BaseAPIRequestHandler(log) rh1.set_argument('sender', support_mail) rh1.set_argument('receiver', username) rh1.set_argument('message', message) res = base_api.mail_api.save_mail.do_put(rh1) if 'http_status' not in res or res['http_status'] != 204: return base_common.msg.error('Error finishing change password request') return base_common.msg.post_ok(msgs.OK)