# -*- coding: utf-8 -*- # Copyright (c) 2022 tecnovert # Distributed under the MIT software license, see the accompanying # file LICENSE or http://www.opensource.org/licenses/mit-license.php. from .util import ( get_data_entry_or, ) def page_changepassword(self, url_split, post_string): server = self.server swap_client = server.swap_client swap_client.checkSystemStatus() messages = [] err_messages = [] form_data = self.checkForm(post_string, 'changepassword', err_messages) if form_data: old_password = get_data_entry_or(form_data, 'oldpassword', '') new_password = get_data_entry_or(form_data, 'newpassword', '') confirm_password = get_data_entry_or(form_data, 'confirmpassword', '') try: if new_password == '': raise ValueError('New password must be entered.') if new_password != confirm_password: raise ValueError('New password and confirm password must match.') swap_client.changeWalletPasswords(old_password, new_password) messages.append('Password changed') except Exception as e: err_messages.append(str(e)) template = server.env.get_template('changepassword.html') return self.render_template(template, { 'messages': messages, 'err_messages': err_messages, 'summary': swap_client.getSummary(), }) def page_unlock(self, url_split, post_string): server = self.server swap_client = server.swap_client messages = ['Warning: This will unlock the system for all users!', ] err_messages = [] form_data = self.checkForm(post_string, 'unlock', err_messages) if form_data: password = get_data_entry_or(form_data, 'password', '') try: if password == '': raise ValueError('Password must be entered.') swap_client.unlockWallets(password) self.send_response(302) self.send_header('Location', '/') self.end_headers() return bytes() except Exception as e: err_messages.append(str(e)) template = server.env.get_template('unlock.html') return self.render_template(template, { 'messages': messages, 'err_messages': err_messages, }) def page_lock(self, url_split, post_string): server = self.server swap_client = server.swap_client swap_client.checkSystemStatus() swap_client.lockWallets() self.send_response(302) self.send_header('Location', '/') self.end_headers() return bytes()