ui: Hide undefined data on identity page.
This commit is contained in:
		
							parent
							
								
									b6046fdbf3
								
							
						
					
					
						commit
						6ccfd93997
					
				@ -19,7 +19,6 @@ from .util import (
 | 
			
		||||
    dumpj,
 | 
			
		||||
    ensure,
 | 
			
		||||
    toBool,
 | 
			
		||||
    zeroIfNone,
 | 
			
		||||
    LockedCoinError,
 | 
			
		||||
    format_timestamp,
 | 
			
		||||
)
 | 
			
		||||
@ -31,8 +30,6 @@ from .basicswap_util import (
 | 
			
		||||
    strTxState,
 | 
			
		||||
    strBidState,
 | 
			
		||||
    strAddressType,
 | 
			
		||||
    AutomationOverrideOptions,
 | 
			
		||||
    strAutomationOverrideOption,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
from .js_server import (
 | 
			
		||||
@ -58,6 +55,7 @@ from .ui.page_tor import page_tor, get_tor_established_state
 | 
			
		||||
from .ui.page_wallet import page_wallets, page_wallet
 | 
			
		||||
from .ui.page_settings import page_settings
 | 
			
		||||
from .ui.page_encryption import page_changepassword, page_unlock, page_lock
 | 
			
		||||
from .ui.page_identity import page_identity
 | 
			
		||||
 | 
			
		||||
env = Environment(loader=PackageLoader('basicswap', 'templates'))
 | 
			
		||||
env.filters['formatts'] = format_timestamp
 | 
			
		||||
@ -474,59 +472,6 @@ class HttpHandler(BaseHTTPRequestHandler):
 | 
			
		||||
            'summary': summary,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
    def page_identity(self, url_split, post_string):
 | 
			
		||||
        ensure(len(url_split) > 2, 'Address not specified')
 | 
			
		||||
        identity_address = url_split[2]
 | 
			
		||||
        swap_client = self.server.swap_client
 | 
			
		||||
        swap_client.checkSystemStatus()
 | 
			
		||||
        summary = swap_client.getSummary()
 | 
			
		||||
 | 
			
		||||
        page_data = {'identity_address': identity_address}
 | 
			
		||||
        messages = []
 | 
			
		||||
        err_messages = []
 | 
			
		||||
        form_data = self.checkForm(post_string, 'identity', err_messages)
 | 
			
		||||
        if form_data:
 | 
			
		||||
            if have_data_entry(form_data, 'edit'):
 | 
			
		||||
                page_data['show_edit_form'] = True
 | 
			
		||||
            if have_data_entry(form_data, 'apply'):
 | 
			
		||||
                try:
 | 
			
		||||
                    data = {
 | 
			
		||||
                        'label': get_data_entry_or(form_data, 'label', ''),
 | 
			
		||||
                        'note': get_data_entry_or(form_data, 'note', ''),
 | 
			
		||||
                        'automation_override': get_data_entry(form_data, 'automation_override'),
 | 
			
		||||
                    }
 | 
			
		||||
                    swap_client.setIdentityData({'address': identity_address}, data)
 | 
			
		||||
                    messages.append('Updated')
 | 
			
		||||
                except Exception as e:
 | 
			
		||||
                    err_messages.append(str(e))
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            identity = swap_client.getIdentity(identity_address)
 | 
			
		||||
            if identity is None:
 | 
			
		||||
                raise ValueError('Unknown address')
 | 
			
		||||
            page_data['label'] = identity.label
 | 
			
		||||
            page_data['num_sent_bids_successful'] = identity.num_sent_bids_successful
 | 
			
		||||
            page_data['num_recv_bids_successful'] = identity.num_recv_bids_successful
 | 
			
		||||
            page_data['num_sent_bids_rejected'] = identity.num_sent_bids_rejected
 | 
			
		||||
            page_data['num_recv_bids_rejected'] = identity.num_recv_bids_rejected
 | 
			
		||||
            page_data['num_sent_bids_failed'] = identity.num_sent_bids_failed
 | 
			
		||||
            page_data['num_recv_bids_failed'] = identity.num_recv_bids_failed
 | 
			
		||||
            automation_override = zeroIfNone(identity.automation_override)
 | 
			
		||||
            page_data['automation_override'] = automation_override
 | 
			
		||||
            page_data['str_automation_override'] = strAutomationOverrideOption(automation_override)
 | 
			
		||||
            page_data['note'] = identity.note
 | 
			
		||||
        except Exception as e:
 | 
			
		||||
            err_messages.append(e)
 | 
			
		||||
 | 
			
		||||
        template = env.get_template('identity.html')
 | 
			
		||||
        return self.render_template(template, {
 | 
			
		||||
            'messages': messages,
 | 
			
		||||
            'err_messages': err_messages,
 | 
			
		||||
            'data': page_data,
 | 
			
		||||
            'automation_override_options': [(int(opt), strAutomationOverrideOption(opt)) for opt in AutomationOverrideOptions if opt > 0],
 | 
			
		||||
            'summary': summary,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
    def page_shutdown(self, url_split, post_string):
 | 
			
		||||
        swap_client = self.server.swap_client
 | 
			
		||||
 | 
			
		||||
@ -668,7 +613,7 @@ class HttpHandler(BaseHTTPRequestHandler):
 | 
			
		||||
                if page == 'smsgaddresses':
 | 
			
		||||
                    return self.page_smsgaddresses(url_split, post_string)
 | 
			
		||||
                if page == 'identity':
 | 
			
		||||
                    return self.page_identity(url_split, post_string)
 | 
			
		||||
                    return page_identity(self, url_split, post_string)
 | 
			
		||||
                if page == 'tor':
 | 
			
		||||
                    return page_tor(self, url_split, post_string)
 | 
			
		||||
                if page == 'automation':
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										78
									
								
								basicswap/ui/page_identity.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								basicswap/ui/page_identity.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,78 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# Copyright (c) 2023 tecnovert
 | 
			
		||||
# Distributed under the MIT software license, see the accompanying
 | 
			
		||||
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
 | 
			
		||||
 | 
			
		||||
from basicswap.basicswap_util import (
 | 
			
		||||
    AutomationOverrideOptions,
 | 
			
		||||
    strAutomationOverrideOption,
 | 
			
		||||
)
 | 
			
		||||
from basicswap.util import (
 | 
			
		||||
    ensure,
 | 
			
		||||
    zeroIfNone,
 | 
			
		||||
)
 | 
			
		||||
from .util import (
 | 
			
		||||
    get_data_entry,
 | 
			
		||||
    get_data_entry_or,
 | 
			
		||||
    have_data_entry,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def page_identity(self, url_split, post_string):
 | 
			
		||||
    server = self.server
 | 
			
		||||
    swap_client = server.swap_client
 | 
			
		||||
    swap_client.checkSystemStatus()
 | 
			
		||||
    summary = swap_client.getSummary()
 | 
			
		||||
 | 
			
		||||
    ensure(len(url_split) > 2, 'Address not specified')
 | 
			
		||||
    identity_address = url_split[2]
 | 
			
		||||
 | 
			
		||||
    page_data = {'identity_address': identity_address}
 | 
			
		||||
    messages = []
 | 
			
		||||
    err_messages = []
 | 
			
		||||
    form_data = self.checkForm(post_string, 'identity', err_messages)
 | 
			
		||||
    if form_data:
 | 
			
		||||
        if have_data_entry(form_data, 'edit'):
 | 
			
		||||
            page_data['show_edit_form'] = True
 | 
			
		||||
        if have_data_entry(form_data, 'apply'):
 | 
			
		||||
            try:
 | 
			
		||||
                data = {
 | 
			
		||||
                    'label': get_data_entry_or(form_data, 'label', ''),
 | 
			
		||||
                    'note': get_data_entry_or(form_data, 'note', ''),
 | 
			
		||||
                    'automation_override': get_data_entry(form_data, 'automation_override'),
 | 
			
		||||
                }
 | 
			
		||||
                swap_client.setIdentityData({'address': identity_address}, data)
 | 
			
		||||
                messages.append('Updated')
 | 
			
		||||
            except Exception as e:
 | 
			
		||||
                err_messages.append(str(e))
 | 
			
		||||
 | 
			
		||||
    try:
 | 
			
		||||
        identity = swap_client.getIdentity(identity_address)
 | 
			
		||||
        if identity is None:
 | 
			
		||||
            raise ValueError('Unknown address')
 | 
			
		||||
 | 
			
		||||
        automation_override = zeroIfNone(identity.automation_override)
 | 
			
		||||
        page_data.update({
 | 
			
		||||
            'label': '' if identity.label is None else identity.label,
 | 
			
		||||
            'num_sent_bids_successful': zeroIfNone(identity.num_sent_bids_successful),
 | 
			
		||||
            'num_recv_bids_successful': zeroIfNone(identity.num_recv_bids_successful),
 | 
			
		||||
            'num_sent_bids_rejected': zeroIfNone(identity.num_sent_bids_rejected),
 | 
			
		||||
            'num_recv_bids_rejected': zeroIfNone(identity.num_recv_bids_rejected),
 | 
			
		||||
            'num_sent_bids_failed': zeroIfNone(identity.num_sent_bids_failed),
 | 
			
		||||
            'num_recv_bids_failed': zeroIfNone(identity.num_recv_bids_failed),
 | 
			
		||||
            'automation_override': automation_override,
 | 
			
		||||
            'str_automation_override': strAutomationOverrideOption(automation_override),
 | 
			
		||||
            'note': '' if identity.note is None else identity.note,
 | 
			
		||||
        })
 | 
			
		||||
    except Exception as e:
 | 
			
		||||
        err_messages.append(e)
 | 
			
		||||
 | 
			
		||||
    template = server.env.get_template('identity.html')
 | 
			
		||||
    return self.render_template(template, {
 | 
			
		||||
        'messages': messages,
 | 
			
		||||
        'err_messages': err_messages,
 | 
			
		||||
        'data': page_data,
 | 
			
		||||
        'automation_override_options': [(int(opt), strAutomationOverrideOption(opt)) for opt in AutomationOverrideOptions if opt > 0],
 | 
			
		||||
        'summary': summary,
 | 
			
		||||
    })
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user