From dd63a041f9ac0afbb192a207765e59b9f5cd9e3c Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 28 Dec 2011 16:47:10 +0100 Subject: When changing the provider allow the user to enter all data --- src/ppm-provider-assistant.ui | 2 +- src/prepaid-manager-applet.py | 31 ++++++++++++++++++++----------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/ppm-provider-assistant.ui b/src/ppm-provider-assistant.ui index f07314d..590e18d 100644 --- a/src/ppm-provider-assistant.ui +++ b/src/ppm-provider-assistant.ui @@ -33,7 +33,7 @@ True - Prepaid Manager couldn't autodetect your mobile broadband provider. The following pages will guide you through the process of setting it up. + The following pages will guide you through the process of setting it you mobile broadband provider. True diff --git a/src/prepaid-manager-applet.py b/src/prepaid-manager-applet.py index 75ac064..2a44daa 100755 --- a/src/prepaid-manager-applet.py +++ b/src/prepaid-manager-applet.py @@ -121,18 +121,27 @@ class PPMController(GObject.GObject): """ Given the imsi, determine the provider based on that information from providerdb, request user input where ncessary + + @param imsi: If given use this to dertimine the mcc and mnc + and from that the provider. If set to C{None} request all + information from the user. + @type imsi: C{str} """ - imsi = imsi or self.imsi - mcc, mnc = self._imsi_to_network_id(imsi) - self.providers = self.providerdb.get_providers(mcc, mnc) - if self.providers: - if len(self.providers) > 1: - # More than one provider matching mcc/mnc, let user select - self.view.show_provider_assistant(self.providers) - else: - self.set_provider(self.providers[0]) + self.providers = [] + if imsi: + mcc, mnc = self._imsi_to_network_id(imsi) + self.providers = self.providerdb.get_providers(mcc, mnc) + + if len(self.providers) == 1: + self.set_provider(self.providers[0]) + elif len(self.providers): + # More than one provider matching mcc/mnc, let user select + self.view.show_provider_assistant(self.providers) else: - self.view.show_provider_unknown(mcc, mnc) + if imsi: + self.view.show_provider_unknown(mcc, mnc) + else: + self.view.show_provider_assistant(None) def _get_account_from_accountdb(self, imsi): """ @@ -387,7 +396,7 @@ class PPMDialog(GObject.GObject, PPMObject): self.controller.fetch_balance() def on_provider_change_clicked(self, dummy): - self.controller.get_provider_interactive() + self.controller.get_provider_interactive(imsi=None) def on_entry_code_insert(self, entry): cur_len = entry.get_text_length() -- cgit v1.2.3