update: fixed laravel billing code priority
This commit is contained in:
parent
33a88a77a2
commit
012f9d7025
1 changed files with 22 additions and 7 deletions
|
|
@ -526,8 +526,8 @@ class CustomWindow(QMainWindow):
|
|||
ticket_observer.subscribe('ticket_ready', lambda event: self.update_status('Ticket ready.'))
|
||||
ticket_observer.subscribe('used', lambda event: self.update_status('Ticket used.'))
|
||||
ticket_observer.subscribe('connection_error', lambda event: self.update_status('Ticket server connection error.'))
|
||||
ticket_observer.subscribe('failed_output', lambda event: self.update_status(f'Ticket server error: {event.subject if event.subject else ""}'))
|
||||
ticket_observer.subscribe('failed_input', lambda event: self.update_status(f'Invalid ticket input: {event.subject if event.subject else ""}'))
|
||||
ticket_observer.subscribe('failed_output', lambda event: self.update_status(f'{event.subject if event.subject else ""}'))
|
||||
ticket_observer.subscribe('failed_input', lambda event: self.update_status(f'{event.subject if event.subject else ""}'))
|
||||
ticket_observer.subscribe('unknown_error', lambda event: self.update_status('Unknown ticket error.'))
|
||||
ticket_observer.subscribe('error', lambda event: self.update_status(f'Ticket error: {event.subject if event.subject else ""}'))
|
||||
|
||||
|
|
@ -1531,6 +1531,7 @@ class Worker(QObject):
|
|||
return
|
||||
self.profile_data['billing_code'] = ticket_billing_code
|
||||
elif 'billing_code' not in self.profile_data and self.profile is not None:
|
||||
if not self._profile_has_valid_subscription():
|
||||
ticket_billing_code = self._maybe_auto_use_ticket()
|
||||
if ticket_billing_code is None and self._ticket_error_emitted:
|
||||
return
|
||||
|
|
@ -1631,6 +1632,20 @@ class Worker(QObject):
|
|||
|
||||
return candidates
|
||||
|
||||
def _profile_has_valid_subscription(self):
|
||||
try:
|
||||
sub = getattr(self.profile, 'subscription', None)
|
||||
if not sub:
|
||||
return False
|
||||
expires_at = getattr(sub, 'expires_at', None)
|
||||
if not expires_at:
|
||||
return False
|
||||
if expires_at.tzinfo is None:
|
||||
expires_at = expires_at.replace(tzinfo=timezone.utc)
|
||||
return expires_at > datetime.now(timezone.utc)
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
def _maybe_auto_use_ticket(self):
|
||||
try:
|
||||
which_ticket, error_msg = do_we_use_a_random_ticket(ticket_observer)
|
||||
|
|
|
|||
Loading…
Reference in a new issue