diff --git a/po/bn_IN.po b/po/bn_IN.po index ddb046c..1414155 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-02 14:20-0400\n" -"PO-Revision-Date: 2015-09-23 11:55-0400\n" +"PO-Revision-Date: 2015-09-29 03:28-0400\n" "Last-Translator: John Sefler \n" "Language-Team: Bengali (India)\n" "MIME-Version: 1.0\n" @@ -2946,7 +2946,7 @@ msgstr "" #: ../src/subscription_manager/managercli.py:1952 #, python-format msgid " Available Repositories in %s" -msgstr " %s-এ উপলব্ধ সংগ্রহস্থল" +msgstr " %s-এ উপলব্ধ সংগ্রহস্থল" #: ../src/subscription_manager/managercli.py:1962 msgid "There were no available repositories matching the specified criteria." diff --git a/po/ko.po b/po/ko.po index 1d7c226..6d334ba 100644 --- a/po/ko.po +++ b/po/ko.po @@ -1542,7 +1542,7 @@ msgstr "\n" #: ../src/subscription_manager/migrate/migrate.py:699 #, python-format msgid "System '%s' successfully registered.\n" -msgstr "시스템 '%s'이 성공적으로 등록되었습니다. \n" +msgstr "시스템 '%s'이 성공적으로 등록되었습니다.\n" # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/migrate/migrate.py:703 @@ -1610,7 +1610,7 @@ msgstr "서브스크립션 관리자로 등록하는 동안 자동 첨부 (auto- msgid "" "service level to follow when attaching subscriptions, for no service level " "use --servicelevel=\"\"" -msgstr "서브스크립션을 첨부할 때 따라야 할 서비스 레벨, 서비스 레벨이 없는 경우 --servicelevel=\"\" 사용 " +msgstr "서브스크립션을 첨부할 때 따라야 할 서비스 레벨, 서비스 레벨이 없는 경우 --servicelevel=\"\" 사용" #: ../src/subscription_manager/migrate/migrate.py:829 msgid "don't use legacy proxy settings with destination server" @@ -3398,7 +3398,7 @@ msgstr "매니페스트 zip이 잘못되었습니다." #: ../src/rct/manifest_commands.py:84 #, python-format msgid "Unable to find file \"%s\" in manifest." -msgstr "매니페스트에서 파일 \"%s\"를 찾을 수 없습니다. " +msgstr "매니페스트에서 파일 \"%s\"를 찾을 수 없습니다." # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/rct/manifest_commands.py:108 diff --git a/po/ml.po b/po/ml.po index 2ae55b1..7defbf8 100644 --- a/po/ml.po +++ b/po/ml.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-02 14:20-0400\n" -"PO-Revision-Date: 2015-09-22 04:48-0400\n" +"PO-Revision-Date: 2015-09-29 03:19-0400\n" "Last-Translator: John Sefler \n" "Language-Team: Malayalam\n" "MIME-Version: 1.0\n" @@ -1318,7 +1318,7 @@ msgstr "" #: ../src/subscription_manager/cli.py:61 #, python-format msgid "%%prog %s [OPTIONS]" -msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍] " +msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍]" # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/cli.py:92 @@ -1341,12 +1341,12 @@ msgstr "മറ്റു് ഘടകങ്ങള്‍:" # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/reasons.py:85 msgid "Product " -msgstr "പ്രൊഡക്ട്" +msgstr "പ്രൊഡക്ട് " # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/reasons.py:87 msgid "Subscription " -msgstr "സബ്സ്ക്രിപ്ഷന്‍" +msgstr "സബ്സ്ക്രിപ്ഷന്‍ " # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/reasons.py:89 @@ -4065,7 +4065,7 @@ msgstr "" #: ../src/rhsm_debug/debug_commands.py:80 #, python-format msgid "%%prog %s [OPTIONS] " -msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍]" +msgstr "%%prog %s [ഐച്ഛികങ്ങള്‍] " # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/rhsm_debug/debug_commands.py:85 diff --git a/po/ta_IN.po b/po/ta_IN.po index de97c17..3a2d9ec 100644 --- a/po/ta_IN.po +++ b/po/ta_IN.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-02 14:20-0400\n" -"PO-Revision-Date: 2015-09-23 12:35-0400\n" +"PO-Revision-Date: 2015-09-29 03:15-0400\n" "Last-Translator: John Sefler \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" @@ -4640,7 +4640,7 @@ msgstr "எனது சந்தாபடுத்தல்கள் பார #: ../src/subscription_manager/gui/data/glade/mysubs.glade.h:2 #: ../po/tmp_ui_links/mysubs.ui.glade.h:2 msgid "Remove" -msgstr "நீக்கவும் " +msgstr "நீக்கவும்" # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/gui/data/glade/networkConfig.glade.h:1 @@ -4706,7 +4706,7 @@ msgstr "அங்கீகார சரிபார்க்கும்பெ #: ../src/subscription_manager/gui/data/glade/networkConfig.glade.h:11 #: ../po/tmp_ui_links/networkConfig.ui.glade.h:17 msgid "Proxy _Username:" -msgstr "பதிலாள் பயனர்பெயர் (_U): " +msgstr "பதிலாள் பயனர்பெயர் (_U):" # translation auto-copied from project subscription-manager, version 1.11.X, document keys #: ../src/subscription_manager/gui/data/glade/networkConfig.glade.h:12 diff --git a/po/zh_TW.po b/po/zh_TW.po index ad88430..bca3cb0 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-02 14:20-0400\n" -"PO-Revision-Date: 2015-09-23 12:02-0400\n" +"PO-Revision-Date: 2015-09-29 03:29-0400\n" "Last-Translator: John Sefler \n" "Language-Team: Chinese (Traditional, Taiwan)\n" "MIME-Version: 1.0\n" @@ -2827,7 +2827,7 @@ msgstr "欲停用的軟體庫(可多次指定)。支援萬用字元(* 與 #: ../src/subscription_manager/managercli.py:1952 #, python-format msgid " Available Repositories in %s" -msgstr "%s 中的可用軟體庫" +msgstr " %s 中的可用軟體庫" #: ../src/subscription_manager/managercli.py:1962 msgid "There were no available repositories matching the specified criteria." diff --git a/rel-eng/packages/subscription-manager b/rel-eng/packages/subscription-manager index 85b895f..ba45018 100644 --- a/rel-eng/packages/subscription-manager +++ b/rel-eng/packages/subscription-manager @@ -1 +1 @@ -1.15.9-12 ./ +1.15.9-13 ./ diff --git a/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.py b/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.py index 15c98ff..131bc9b 100644 --- a/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.py +++ b/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.py @@ -54,7 +54,7 @@ class RHSMSpoke(FirstbootOnlySpokeMixIn, NormalSpoke): uiFile = "rhsm_gui.ui" helpFile = "SubscriptionManagerSpoke.xml" category = SystemCategory - icon = "face-cool-symbolic" + icon = "subscription-manager" title = "Subscription Manager" def __init__(self, data, storage, payload, instclass): @@ -80,7 +80,7 @@ class RHSMSpoke(FirstbootOnlySpokeMixIn, NormalSpoke): self.register_box = self.builder.get_object("register_box") self.button_box = self.builder.get_object('navigation_button_box') self.proceed_button = self.builder.get_object('proceed_button') - self.cancel_button = self.builder.get_object('cancel_button') + self.back_button = self.builder.get_object('cancel_button') self.register_box.pack_start(self.register_widget.register_widget, True, True, 0) @@ -88,7 +88,7 @@ class RHSMSpoke(FirstbootOnlySpokeMixIn, NormalSpoke): # Hook up the nav buttons in the gui # TODO: add a 'start over'? self.proceed_button.connect('clicked', self._on_register_button_clicked) - self.cancel_button.connect('clicked', self._on_cancel_button_clicked) + self.back_button.connect('clicked', self._on_back_button_clicked) # initial-setup will likely self.register_widget.connect('finished', self._on_finished) @@ -204,15 +204,16 @@ class RHSMSpoke(FirstbootOnlySpokeMixIn, NormalSpoke): pass - def _on_cancel_button_clicked(self, button): - """Handler for self.cancel_buttons 'clicked' signal. + def _on_back_button_clicked(self, button): + """Handler for self.back_buttons 'clicked' signal. Clear out any user set values and return to the start screen.""" + self.register_widget.emit('back') # TODO: clear out settings and restart? # TODO: attempt to undo the REST api calls we've made? - self.register_widget.set_initial_screen() - self.register_widget.clear_screens() + #self.register_widget.set_initial_screen() + #self.register_widget.clear_screens() def _on_register_button_clicked(self, button): """Handler for self.proceed_buttons 'clicked' signal. @@ -283,6 +284,7 @@ class RHSMSpoke(FirstbootOnlySpokeMixIn, NormalSpoke): def _on_register_screen_ready_change(self, obj, value): ready = self.register_widget.current_screen.get_property('ready') self.proceed_button.set_sensitive(ready) + self.back_button.set_sensitive(ready) def _on_register_status_change(self, obj, value): """Handler for registergui.RegisterInfo's 'register-status' property notifications.""" diff --git a/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.ui b/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.ui index 39c75f1..7541682 100644 --- a/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.ui +++ b/src/initial-setup/com_redhat_subscription_manager/gui/spokes/rhsm_gui.ui @@ -69,11 +69,11 @@ 4 - Cancel + gtk-go-back True True False - 0.43999999761581421 + True True diff --git a/src/subscription_manager/gui/data/glade/register_dialog.glade b/src/subscription_manager/gui/data/glade/register_dialog.glade index fe76ce1..454d463 100644 --- a/src/subscription_manager/gui/data/glade/register_dialog.glade +++ b/src/subscription_manager/gui/data/glade/register_dialog.glade @@ -19,16 +19,16 @@ False end - - gtk-cancel + + gtk-go-back True True True True right - - cancel_button + + back_button @@ -74,7 +74,7 @@ - cancel_button + back_button register_button diff --git a/src/subscription_manager/gui/data/ui/allsubs.ui b/src/subscription_manager/gui/data/ui/allsubs.ui index cd409d3..f1b60bb 100644 --- a/src/subscription_manager/gui/data/ui/allsubs.ui +++ b/src/subscription_manager/gui/data/ui/allsubs.ui @@ -2,27 +2,13 @@ - - 100 - 1 - 10 - - - 100 - 1 - 10 - False - start - start subscription-manager True False - start - start 12 vertical 4 @@ -30,16 +16,12 @@ True False - start - start vertical 6 True False - start - start 6 @@ -134,14 +116,10 @@ True False - end - start True False - end - start * Click to Adjust Quantity True 0.99000000953674316 @@ -173,18 +151,15 @@ True True vertical + 2 True + 125 True True - start 1 - subs_vpane_hadj - subs_vpane_vadj - etched-out - 240 - 120 + etched-in True @@ -195,7 +170,7 @@ True False - end + vertical @@ -216,13 +191,10 @@ True False - end - start True False - start end diff --git a/src/subscription_manager/gui/data/ui/register_dialog.ui b/src/subscription_manager/gui/data/ui/register_dialog.ui index 22fb3c5..3099ddc 100644 --- a/src/subscription_manager/gui/data/ui/register_dialog.ui +++ b/src/subscription_manager/gui/data/ui/register_dialog.ui @@ -32,15 +32,15 @@ 4 True - - gtk-cancel + + gtk-go-back True True True True - - cancel_button + + back_button diff --git a/src/subscription_manager/gui/mysubstab.py b/src/subscription_manager/gui/mysubstab.py index 4eb3e2c..178d59c 100644 --- a/src/subscription_manager/gui/mysubstab.py +++ b/src/subscription_manager/gui/mysubstab.py @@ -153,7 +153,7 @@ class MySubscriptionsTab(widgets.SubscriptionManagerTab): # unregistered, just delete the certs directly action = EntCertDeleteAction(self.entitlement_dir) action.perform([serial]) - self.update_subscriptions() + self.update_subscriptions() def unsubscribe_button_clicked(self, widget): selection = widgets.SelectionWrapper(self.top_view.get_selection(), self.store) diff --git a/src/subscription_manager/gui/registergui.py b/src/subscription_manager/gui/registergui.py index ed5213c..a07a646 100644 --- a/src/subscription_manager/gui/registergui.py +++ b/src/subscription_manager/gui/registergui.py @@ -28,7 +28,7 @@ from subscription_manager.ga import GObject as ga_GObject import rhsm.config as config from rhsm.utils import ServerUrlParseError -from rhsm.connection import GoneException +from rhsm.connection import GoneException, RestlibException from subscription_manager.branding import get_branding from subscription_manager.action_client import ActionClient @@ -109,6 +109,35 @@ def reset_resolver(): pass +# FIXME: TODO: subclass collections.MutableSequence +class UniqueList(object): + def __init__(self): + self._list = [] + + def append(self, item): + if item in self._list: + self._list.remove(item) + return self._list.append(item) + + def __repr__(self): + list_buf = ','.join([repr(a) for a in self._list]) + buf = "" % list_buf + return buf + + def remove(self, value): + return self._list.remove(value) + + def last(self): + return self._list[-1] + + def pop(self, index=None): + # list.pop() has a odd not quite a keyword optional arg + if index: + p = self._list.pop(index) + p = self._list.pop() + return p + + class RegisterInfo(ga_GObject.GObject): """GObject holding registration info and state. @@ -170,6 +199,8 @@ class RegisterWidget(widgets.SubmanBaseWidget): __gsignals__ = {'proceed': (ga_GObject.SignalFlags.RUN_FIRST, None, []), + 'back': (ga_GObject.SignalFlags.RUN_FIRST, + None, []), 'register-message': (ga_GObject.SignalFlags.RUN_FIRST, None, (ga_GObject.TYPE_PYOBJECT, ga_GObject.TYPE_PYOBJECT)), @@ -230,6 +261,8 @@ class RegisterWidget(widgets.SubmanBaseWidget): # expect this to be driving from the parent dialog self.proceed_handler = self.connect('proceed', self._on_proceed) + self.back_handler = self.connect('back', + self._on_back) # FIXME: change glade name self.details_label = self.register_details_label @@ -255,6 +288,8 @@ class RegisterWidget(widgets.SubmanBaseWidget): # Track screens we "show" so we can choose a reasonable error screen self.screen_history = [] + self.uniq_screen_history = UniqueList() + self.applied_screen_history = UniqueList() # FIXME: modify property instead self.callbacks = [] @@ -311,8 +346,7 @@ class RegisterWidget(widgets.SubmanBaseWidget): any parent dialogs for example).""" # return to the last gui screen we showed. - self._go_back_to_last_screen() - + self._pop_last_screen() # FIXME: we have more info here, but we need a good 'blurb' # for the status message. msg = _("Error during registration.") @@ -320,7 +354,7 @@ class RegisterWidget(widgets.SubmanBaseWidget): def do_register_message(self, msg, msg_type=None): # NOTE: we ignore msg_type here - self._go_back_to_last_screen() + self._pop_last_screen() self.info.set_property('register-status', msg) def do_register_finished(self): @@ -339,9 +373,10 @@ class RegisterWidget(widgets.SubmanBaseWidget): # close the window have something to display. self.done() - def _go_back_to_last_screen(self): + def _pop_last_screen(self): try: - self._set_screen(self.screen_history[-1]) + last = self.applied_screen_history.pop() + self._set_screen(last) except IndexError: pass @@ -391,7 +426,6 @@ class RegisterWidget(widgets.SubmanBaseWidget): This also represents screens that allow the user to potentially correct an error, so we track the history of these screens so errors can go to a useful screen.""" - self.screen_history.append(current_screen.screens_index) self._set_screen(self._current_screen) # TODO: replace most of the gui flow logic in the Screen subclasses with @@ -444,6 +478,13 @@ class RegisterWidget(widgets.SubmanBaseWidget): def apply_current_screen(self): """Extract any info from the widgets and call the screens apply().""" + #self._screen_history_append(self.current_screen.screens_index) + + # The apply can emit a move to page signal, changing current_page + # So save current screen index first. + current_screen_index = self.current_screen.screens_index + self.applied_screen_history.append(current_screen_index) + self.current_screen.apply() # FIXME: figure out to determine we are on first screen, then this @@ -452,6 +493,9 @@ class RegisterWidget(widgets.SubmanBaseWidget): def _on_proceed(self, obj): self.apply_current_screen() + def _on_back(self, obj): + self._pop_last_screen() + # switch-page should be after the current screen is reset def _on_switch_page(self, notebook, page, page_num): if self.current_screen.button_label: @@ -536,8 +580,10 @@ class RegisterWidget(widgets.SubmanBaseWidget): if ready: self.handler_unblock(self.proceed_handler) + self.handler_unblock(self.back_handler) else: self.handler_block(self.proceed_handler) + self.handler_block(self.back_handler) # HMMM: If the connect/backend/async, and the auth info is composited into # the same GObject, these could be class closure handlers @@ -597,7 +643,7 @@ class RegisterDialog(widgets.SubmanBaseWidget): widget_names = ['register_dialog', 'register_dialog_main_vbox', 'register_details_label', - 'cancel_button', 'register_button', 'progress_label', + 'back_button', 'register_button', 'progress_label', 'dialog_vbox6'] gui_file = "register_dialog" @@ -642,7 +688,7 @@ class RegisterDialog(widgets.SubmanBaseWidget): #self.register_widget.initialize() self.register_button.connect('clicked', self._on_register_button_clicked) - self.cancel_button.connect('clicked', self.cancel) + self.back_button.connect('clicked', self._on_back_button_clicked) # update window title on register state changes self.reg_info.connect('notify::register-state', @@ -701,9 +747,13 @@ class RegisterDialog(widgets.SubmanBaseWidget): def error_dialog(self, obj, msg): gui_utils.show_error_window(msg) + def _on_back_button_clicked(self, obj): + self.register_widget.emit('back') + def _on_register_screen_ready_change(self, obj, value): ready = self.register_widget.current_screen.get_property('ready') self.register_button.set_sensitive(ready) + self.back_button.set_sensitive(ready) def _on_register_button_clicked(self, button): self.register_widget.emit('proceed') @@ -812,7 +862,7 @@ class Screen(widgets.SubmanBaseWidget): # do whatever the screen indicates, and emit any signals indicating where # to move to next. apply() should not return anything. def apply(self): - pass + return True def post(self): pass @@ -872,6 +922,7 @@ class NoGuiScreen(ga_GObject.GObject): def apply(self): self.emit('move-to-screen') + return True def post(self): pass @@ -897,6 +948,7 @@ class PerformRegisterScreen(NoGuiScreen): if error is not None: self.emit('register-error', REGISTER_ERROR, error) # TODO: register state + self.pre_done() return try: @@ -904,6 +956,7 @@ class PerformRegisterScreen(NoGuiScreen): except Exception, e: # hint: register error, back to creds? self.emit('register-error', REGISTER_ERROR, e) + self.pre_done() return # trigger a id cert reload @@ -1006,6 +1059,7 @@ class ConfirmSubscriptionsScreen(Screen): def apply(self): self.emit('move-to-screen', PERFORM_SUBSCRIBE_PAGE) + return True def set_model(self): dry_run_result = self.info.get_property('dry-run-result') @@ -1082,6 +1136,7 @@ class SelectSLAScreen(Screen): def apply(self): self.emit('move-to-screen', CONFIRM_SUBS_PAGE) + return True def clear(self): child_widgets = self.sla_radio_container.get_children() @@ -1138,10 +1193,22 @@ class SelectSLAScreen(Screen): self.emit('register-error', msg, None) self.pre_done() return - # TODO: where we should go from here? + elif isinstance(error[1], RestlibException) and error[1].code == "401": + # If we get here with a 401, we are using consumer cert auth + # so that means we are likely connecting to the wrong server + # url, since unregistered consumers talking to the correct + # serverurl would 410. Short of changing serverurl or re-registering + # there isn't much we can do to fix that. + msg = error[1].error_msg + # TODO: Provide a better error message reflecting above comment + self.emit('register-error', msg, None) + self.emit('attach-finished') + self.pre_done() + return else: log.exception(error) self.emit('register-error', _("Error subscribing"), error) + self.emit('attach-finished') self.pre_done() return @@ -1264,6 +1331,7 @@ class EnvironmentScreen(Screen): model, tree_iter = self.environment_treeview.get_selection().get_selected() self.set_environment(model.get_value(tree_iter, 0)) self.emit('move-to-screen', PERFORM_REGISTER_PAGE) + return True def set_environment(self, environment): self.info.set_property('environment', environment) @@ -1336,6 +1404,7 @@ class OrganizationScreen(Screen): owner_key = model.get_value(tree_iter, 0) self.info.set_property('owner-key', owner_key) self.emit('move-to-screen', ENVIRONMENT_SELECT_PAGE) + return True def set_model(self, owners): owner_model = ga_Gtk.ListStore(str, str) @@ -1428,10 +1497,10 @@ class CredentialsScreen(Screen): skip_auto_bind = self.skip_auto_bind.get_active() if not self._validate_consumername(consumername): - return + return False if not self._validate_account(): - return + return False self.info.set_property('username', username) self.info.set_property('password', password) @@ -1439,6 +1508,7 @@ class CredentialsScreen(Screen): self.info.set_property('consumername', consumername) self.emit('move-to-screen', OWNER_SELECT_PAGE) + return True def clear(self): self.account_login.set_text("") @@ -1472,19 +1542,20 @@ class ActivationKeyScreen(Screen): consumername = self.consumer_entry.get_text().strip() if not self._validate_owner_key(owner_key): - return + return False if not self._validate_activation_keys(activation_keys): - return + return False if not self._validate_consumername(consumername): - return + return False self.info.set_property('consumername', consumername) self.info.set_property('owner-key', owner_key) self.info.set_property('activation-keys', activation_keys) self.emit('move-to-screen', PERFORM_REGISTER_PAGE) + return True def _split_activation_keys(self, entry): keys = re.split(',\s*|\s+', entry) @@ -1626,19 +1697,19 @@ class ChooseServerScreen(Screen): _("Unable to reach the server at %s:%s%s") % (hostname, port, prefix), None) - return + return False except MissingCaCertException: self.emit('register-error', _("CA certificate for subscription service has not been installed."), None) - return + return False except ServerUrlParseError: self.emit('register-error', _("Please provide a hostname with optional port and/or prefix: " "hostname[:port][/prefix]"), None) - return + return False CFG.save() @@ -1648,11 +1719,11 @@ class ChooseServerScreen(Screen): if self.activation_key_checkbox.get_active(): self.emit('move-to-screen', ACTIVATION_KEY_PAGE) - return + return True else: self.emit('move-to-screen', CREDENTIALS_PAGE) - return + return True def set_server_entry(self, hostname, port, prefix): # No need to show port and prefix for hosted: @@ -1995,10 +2066,11 @@ class InfoScreen(Screen): self.stay() if self.register_radio.get_active(): self.emit('move-to-screen', CHOOSE_SERVER_PAGE) - return + return True else: self.emit('move-to-screen', FINISH) + return True def _on_why_register_button_clicked(self, button): self.why_register_dialog.show() diff --git a/subscription-manager.spec b/subscription-manager.spec index 9a62cdf..63e7a50 100644 --- a/subscription-manager.spec +++ b/subscription-manager.spec @@ -49,7 +49,7 @@ Name: subscription-manager Version: 1.15.9 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Tools and libraries for subscription and repository management Group: System Environment/Base License: GPLv2 @@ -542,6 +542,16 @@ fi %endif %changelog +* Wed Sep 30 2015 Chris Rog 1.15.9-13 +- 1266480: Refresh TreeView selection after subscriptions are removed. + (awood@redhat.com) +- 1267034: Handle 401 with cert based auth (alikins@redhat.com) +- Allow 'back' to go back multiple times. (alikins@redhat.com) +- 1262075,1267179,1243707: Fix back/cancel nav (alikins@redhat.com) +- 1267287: Fix allsubs tab ui regression (alikins@redhat.com) +- 1266994: Use our icon for initial-setup spoke icon (alikins@redhat.com) +- 1265347, 1265371: More translations whitespace corrections (crog@redhat.com) + * Mon Sep 28 2015 Chris Rog 1.15.9-12 - 1261006: Handle multiple nav button clicks (alikins@redhat.com) - 1242998, 1254550: Fix "already reg'ed" in initial-setup (alikins@redhat.com) diff --git a/test/test_registrationgui.py b/test/test_registrationgui.py index 6ccd89b..6e99e6e 100644 --- a/test/test_registrationgui.py +++ b/test/test_registrationgui.py @@ -33,6 +33,7 @@ class RegisterWidgetTests(SubManFixture): self.rs._screens[CHOOSE_SERVER_PAGE] = Mock() self.rs._screens[CHOOSE_SERVER_PAGE].index = 0 + self.rs._screens[CHOOSE_SERVER_PAGE].screens_index = 0 self.rs._screens[CHOOSE_SERVER_PAGE].button_label = "Dummy" self.rs._screens[CHOOSE_SERVER_PAGE].apply.return_value = \ CREDENTIALS_PAGE