ubuntu-pro: submit token asynchronously if check_token is successful

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
This commit is contained in:
Olivier Gayot 2022-06-15 13:58:36 +02:00
parent 84a1d38646
commit e69675793c
1 changed files with 7 additions and 0 deletions

View File

@ -70,6 +70,7 @@ class UbuntuProController(SubiquityTuiController):
async def inner() -> None: async def inner() -> None:
answer = await self.endpoint.check_token.GET(token) answer = await self.endpoint.check_token.GET(token)
if answer.status == TokenStatus.VALID_TOKEN: if answer.status == TokenStatus.VALID_TOKEN:
await self.endpoint.POST(UbuntuProInfo(token=token))
on_success(answer.subscription.services) on_success(answer.subscription.services)
else: else:
on_failure(answer.status) on_failure(answer.status)
@ -85,6 +86,12 @@ class UbuntuProController(SubiquityTuiController):
self.app.prev_screen() self.app.prev_screen()
def done(self, token: str) -> None: def done(self, token: str) -> None:
""" Submit the token and move on to the next screen. """
self.app.next_screen( self.app.next_screen(
self.endpoint.POST(UbuntuProInfo(token=token)) self.endpoint.POST(UbuntuProInfo(token=token))
) )
def next_screen(self) -> None:
""" Move on to the next screen. Assume the token should not be
submitted (or has already been submitted). """
self.app.next_screen()