Bug 1257179

Summary: subscription-manager-initial-setup-addon - "Cancel" button does nothing
Product: Red Hat Enterprise Linux 7 Reporter: Petr Janda <pjanda>
Component: subscription-managerAssignee: William Poteat <wpoteat>
Status: CLOSED ERRATA QA Contact: John Sefler <jsefler>
Severity: low Docs Contact: Lenka Špačková <lkuprova>
Priority: medium    
Version: 7.2CC: bcourt, crog, csnyder, lkuprova, lmiksik, skallesh, stoner, vrjain, wpoteat
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
Non-working "Back" button in the Subscription Manager add-on for Initial Setup The "Back" button on the first panel of the Subscription Manager add-on for the Initial Setup utility does not work. To work around this problem, click "Done" at the top of Initial Setup to exit the registration workflow.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 20:26:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1186677    
Attachments:
Description Flags
Back button is disabled for the first panel of registration workflow of Initial-setup none

Description Petr Janda 2015-08-26 12:24:33 UTC
Description of problem:

Cancel button on the first page of Subctiption Manager spoke in initial setup does nothing, but is enabled and visible

Version-Release number of selected component (if applicable):

subscription-manager-initial-setup-addon-1.15.9-6.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. install system with GUI and subscription-manager-initial-setup-addon
2. run initial-setup in graphic mode
3. Enter "Subscription Manager" spoke
4. Click Cancel button

Actual results:
Nothing happens

Expected results:
Button is not enabled

Additional info:

Comment 1 John Sefler 2015-08-26 12:29:37 UTC
dup of bug 1243708
also see related bug 1243707

Comment 2 Chris "Ceiu" Rog 2015-09-02 17:44:16 UTC
commit 88b405ff9aff2965a4682a587dff79395306ded0
Author: Adrian Likins <alikins>
Date:   Fri Jul 31 15:46:10 2015 -0400

    884288: Better registergui for initial-setup
    
    Also fixes: 1248546, 1257179, 1250451, 1251527, 1255805
    
    Implement RegisterWidget flow with proceed and finished signals
    
    Make SubManBaseWidget also a GObject.GObject. So that
    sub classes of it can use gobject signals and properties.
    
    Add 'proceed' signal to RegisterWidget, and a handler that
    will move it to the next screen. To drive the widget, another
    widget that provides cancel/register buttons makes them
    emit the 'proceed' signal on registerWidget.
    
    RegisterWidget also emits a 'finished' signal when registration
    is done. The parent widget needs to deal with that. The default
    RegisterDialog just hides the register window.
    
    Try making RegisterInfo a GObject with properties
    Connect RegisterInfo's 'notify::username' and password
    signals to callback that updates the cp_provider
    
    Start splitting error handling up and using signals
    
    ie, register error, register failure, attach error, attach
    failure raise signals so they can get different handlers, depending
    on the dialog that holds the register widget.
    
    add RegisterDialog handlers for attach/register error and failure
    
    Registration state (as used in global STATE) is now
    a property on the registration widget, and the labels/titles
    that need to be updated when it changes are hooked to the
    notify signal on RegisterWidget's 'register_state' property.
    
    Ditto for RegisterWidget's 'details-label-txt', ie, the
    txt for the label under the progress bar ('Finding suitable service
    levels', etc).
    
    There is now a 'stay-on-screen' signal raise from applies or
    async callbacks to indicate to stay on the current screen, replacing
    the previous use of sending the widget to the 'DONT_CHANGE' screen.
    
    Stop using handle_gui_exception for non-exceptions
    
    Passing None as the 'exception' eventually causes
    the last exception handled in the main context to
    get logged as an exception, and also prevents the
    dialog from displaying the message, and generally
    confusing the event loop.
    
    Also update SelectSLAScreen to use a tuple of
    (sla_name, sla_map) in its model for the set of
    radio buttons, to avoid referncing the
    now removed self._sla_data_map
    
    Prevent gui from disabling act keys to prod.
    
    Split handle_gui_exception msg formatting into methods
    
    Start emitting error signals from RegisterWidget with msgs
    
    rhsm_gui can use initial-setup spoke's set_error(msg) to show
    errors and failures.
    
    Screen and NoGuiScreen, RegisterWidget, and RegisterDialog
    all know of 'register-error' signal.
    
    Screens can emit it, where RegisterWidget catches it, logs
    it, stops emission of that signal. (Either the screens
    or RegisterWidget could provide a class closure do_register_error
    that that would see the signal first, and that can be used
    to move to approriate screen to fix the error).
    RegisterWidget then emits RegisterWidget's
    'register-error' signal, that RegisterDialog is connected to.
    
    RegisterDialog._on_register_error will call
    RegisterDialogs handle_register_error or
    handle_register_exception
    
    Any errors that need to present a dialog or other info
    now need to emit a 'register-error' with the args
    of (msg, exc_info). exc_info can be None.
    
    Add register dialog/widget glade for rhel6
    
    RegisterWidget then emits RegisterWidget's
    'register-error' signal, that RegisterDialog is connected to.
    
    RegisterDialog._on_register_error will call
    RegisterDialogs handle_register_error or
    handle_register_exception
    
    Any errors that need to present a dialog or other info
    now need to emit a 'register-error' with the args
    of (msg, exc_info). exc_info can be None.
    
    Add register dialog/widget glade for rhel6
    
    Update the rhel6 fb module to new registergui api
    
    Use signal based error handling instead of the
    multiple levels of overrided methods. In the process
    also remove the RHEL5 firstboot support and the
    firstboot_base.py module it required.
    
    The custom screens that were included in rhsm_login
    were just to alter the UI flow as firstboot needed
    (and really, for the way this module doesn't fit the
    normal firstboot module or moduleSet approach).
    
    Ditch the rhel5 firstboot compat stuff as well.
    
    Fix 'slow' progress bars in register gui.
    
    The timeout used to pulse the progress bar was
    getting added to the main loop twice, causing odd
    progress bar behavior.

Comment 4 John Sefler 2015-09-18 20:15:44 UTC
Testing Version...
[root@jsefler-7 ~]# rpm -q subscription-manager-initial-setup-addon
subscription-manager-initial-setup-addon-1.15.9-10.el7.x86_64

The Cancel button is now working when clicked during progression through the initial-setup registration panels.  When clicked, it will navigate the workflow back to the first panel of the registration workflow.  This behavior fixes bug 1243704.

However, if on the first panel of the initial-setup registration workflow, clicking the Cancel button continues to do nothing (that is the point of this bug). Alternatively on the first panel of the initial-setup registration workflow, clicking "Done" at the top of the page achieves the desired result.

Since the Cancel button continues to be a no-op on the first panel of the initial-setup registration workflow, we have a usability issue.  Although this same button is re-used by the subscription-manager-gui to actually dismiss the registration workflow dialog, it does not have a purpose in subscription-manager-initial-setup-addon.  Can the button be disabled or removed?

Moving this bug to NEW/FailedQA.

Comment 6 John Sefler 2015-09-24 20:21:32 UTC
due to schedule and low severity, need to defer this bug to rhel-7.3.0

Clicking 'Cancel' on the first panel of subscription-manager-initial-setup-addon is a no-op. Instead the user should click "Done" at the top of the initial-setup tool.

Comment 7 Adrian Likins 2015-09-29 17:59:49 UTC
pr at https://github.com/candlepin/subscription-manager/pull/1306

Comment 9 Sean Toner 2015-10-01 18:36:22 UTC
Although the Back button which replaces the Cancel does allow the user to go back to previous screens, on the first page, the Back (formerly Cancel) button does nothing.

Either:
1) The Back button should not be displayed
2) The Back button should be greyed out
3) The Back button should send you back to the first initial-setup screen
4) The Back button does the same as the Done button

The Back button still does nothing on the very first page and so might be confusing to users.  

[root@rh72-stoner-snap4 com_redhat_subscription_manager]# rpm -qa | grep subscription
subscription-manager-1.15.9-13.el7.x86_64
subscription-manager-gui-1.15.9-13.el7.x86_64
subscription-manager-initial-setup-addon-1.15.9-13.el7.x86_64

Comment 10 Barnaby Court 2015-10-12 13:20:58 UTC
What status should this bug be in for Docs to be able to process it as a known issue? The current doc text looks correct.

Comment 11 Lenka Špačková 2015-10-12 14:11:50 UTC
Status is not relevant for inclusion. What matters is the doc type - Known issue, and the doc text, so that we can filter such BZ and track it. We add the BZ# to relevant bug lists (for Beta and GA docs separately, as some Known Issues are fixed between Beta and GA) and the text from the doc text field is automatically included in the Release Notes for BZs on appropriate lists.

Please do not remove the description title from the first line, it is a part of the text and helps users orientate. See what it looks like in the book:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html-single/7.2_Release_Notes/index.html#known-issues-system_and_subscription_management

Comment 12 John Sefler 2015-10-19 15:44:54 UTC
deferring to rhel-7.3.0 for consideration due to low severity and remaining rhel-7.2.0 schedule

Comment 18 Chris Snyder 2016-07-08 21:34:52 UTC
Correction Master Commit:

ea587429b223b554eefce0001ac722afd442e59a


please ignore comment 17

Comment 20 Shwetha Kallesh 2016-07-14 08:40:01 UTC
Created attachment 1179664 [details]
Back button is disabled for the first panel of registration workflow of Initial-setup

[root@dhcp35-45 ~]# subscription-manager version
server type: This system is currently not registered.
subscription management server: 0.9.51.15-1
subscription management rules: 5.15.1
subscription-manager: 1.17.9-1.el7
python-rhsm: 1.17.5-1.git.0.265c7c6.el7
subscription-manager-initial-setup-addon-1.17.9-1.el7.x86_64

Comment 22 errata-xmlrpc 2016-11-03 20:26:57 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2592.html