update: updated erorr handling and display
This commit is contained in:
parent
e8a1658d43
commit
84071e9554
1 changed files with 17 additions and 7 deletions
|
|
@ -1379,6 +1379,7 @@ class Worker(QObject):
|
|||
profile_observer.subscribe(
|
||||
'enabled', lambda event: self.handle_profile_status(event.subject, True))
|
||||
self.profile_type = None
|
||||
self._ticket_error_emitted = False
|
||||
|
||||
def run(self):
|
||||
self.profile = ProfileController.get(int(self.profile_data['id']))
|
||||
|
|
@ -1391,6 +1392,8 @@ class Worker(QObject):
|
|||
self.profile_data['billing_code'] = ticket_billing_code
|
||||
elif 'billing_code' not in self.profile_data and self.profile is not None:
|
||||
ticket_billing_code = self._maybe_auto_use_ticket()
|
||||
if ticket_billing_code is None and self._ticket_error_emitted:
|
||||
return
|
||||
if ticket_billing_code:
|
||||
self.profile_data['billing_code'] = ticket_billing_code
|
||||
|
||||
|
|
@ -1486,13 +1489,18 @@ class Worker(QObject):
|
|||
which_ticket, error_msg = do_we_use_a_random_ticket(ticket_observer)
|
||||
except Exception:
|
||||
return None
|
||||
if which_ticket is None or which_ticket == 'error' or error_msg:
|
||||
if error_msg:
|
||||
self._ticket_error_emitted = True
|
||||
self.change_page.emit(f'Ticket use failed: {error_msg}', True)
|
||||
return None
|
||||
if which_ticket is None or which_ticket == 'error':
|
||||
return None
|
||||
return self._consume_ticket(which_ticket, None)
|
||||
|
||||
def _consume_ticket(self, which_ticket, which_location):
|
||||
candidates = self._location_candidates(preferred=which_location)
|
||||
if not candidates:
|
||||
self._ticket_error_emitted = True
|
||||
self.change_page.emit('Could not determine profile location for ticket use.', True)
|
||||
return None
|
||||
|
||||
|
|
@ -1514,9 +1522,11 @@ class Worker(QObject):
|
|||
msg = outcome.get('message', 'failed')
|
||||
last_msg = msg
|
||||
if msg != 'invalid_location':
|
||||
self._ticket_error_emitted = True
|
||||
self.change_page.emit(f'Ticket use failed: {msg}', True)
|
||||
return None
|
||||
|
||||
self._ticket_error_emitted = True
|
||||
self.change_page.emit(f'Ticket use failed: {last_msg or "no valid location"}', True)
|
||||
return None
|
||||
|
||||
|
|
@ -8467,7 +8477,7 @@ class IdPage(Page):
|
|||
self.single_title.setStyleSheet(column_title_style)
|
||||
self.single_title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
|
||||
self.single_button = QPushButton("New Billing ID", self)
|
||||
self.single_button = QPushButton("One Profile Only", self)
|
||||
self.single_button.setGeometry(40, 220, 200, 100)
|
||||
self.single_button.setStyleSheet(column_button_style)
|
||||
self.single_button.clicked.connect(self.go_single_profile)
|
||||
|
|
@ -8489,13 +8499,13 @@ class IdPage(Page):
|
|||
self.multiple_button.clicked.connect(self.go_multiple_profiles)
|
||||
|
||||
self.multiple_desc = QLabel(
|
||||
f"Buy a bundle of {HOW_MANY_PROFILES_DEFAULT} tickets upfront.", self)
|
||||
self.multiple_desc.setGeometry(285, 335, 240, 40)
|
||||
f"Buy a bundle of {HOW_MANY_PROFILES_DEFAULT} tickets at once, which are cryptographically seperated from each other.", self)
|
||||
self.multiple_desc.setGeometry(285, 335, 240, 80)
|
||||
self.multiple_desc.setStyleSheet(column_desc_style)
|
||||
self.multiple_desc.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.multiple_desc.setWordWrap(True)
|
||||
|
||||
self.title = QLabel("Entry Id", self)
|
||||
self.title = QLabel("Use Existing", self)
|
||||
self.title.setGeometry(QtCore.QRect(555, 50, 230, 40))
|
||||
self.title.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
|
||||
self.title.setStyleSheet(column_title_style)
|
||||
|
|
@ -10362,7 +10372,7 @@ class PlanPickerPage(Page):
|
|||
months = plan_data.get('months', '?')
|
||||
days = plan_data.get('days', '?')
|
||||
profiles = plan_data.get('profiles', '?')
|
||||
label = f" Plan {plan_key} | €{cost} | {months}m {days}d left | {profiles} profiles"
|
||||
label = f" Plan {plan_key} | €{cost} | {months}months {days}d left | {profiles} profiles"
|
||||
item = QListWidgetItem(label)
|
||||
item.setData(QtCore.Qt.ItemDataRole.UserRole, plan_key)
|
||||
self.plan_list.addItem(item)
|
||||
|
|
@ -10569,7 +10579,7 @@ class TicketPrepPage(Page):
|
|||
|
||||
def on_error(self, msg):
|
||||
self.terminal.append(f"EXCEPTION: {msg}")
|
||||
self.status_label.setText(f"Error: {msg}")
|
||||
self.status_label.setText(f"An unkown error occured")
|
||||
|
||||
def on_continue(self):
|
||||
menu_page = self.page_stack.findChild(MenuPage)
|
||||
|
|
|
|||
Loading…
Reference in a new issue