[PATCH rhel7-branch/master] If the network is disabled, also disable the network part of the source spoke.

David Shea dshea at redhat.com
Thu Sep 25 20:52:20 UTC 2014


On 09/25/2014 04:24 PM, Chris Lumens wrote:
> Otherwise, the user could be put into a confusing situation where they have
> a network source entered, but the displayed error messages do not help the user
> figure out that there's no network connection.  For RHEL this is especially bad
> since no network is the default.
>
> Resolves: rhbz#1072453
> ---
>   pyanaconda/ui/gui/spokes/source.py | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
>
> diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py
> index 7a72785..812f01f 100644
> --- a/pyanaconda/ui/gui/spokes/source.py
> +++ b/pyanaconda/ui/gui/spokes/source.py
> @@ -42,6 +42,7 @@ from pyanaconda.ui.gui.utils import gtk_call_once, really_hide, really_show
>   from pyanaconda.threads import threadMgr, AnacondaThread
>   from pyanaconda.packaging import PackagePayload, payloadMgr
>   from pyanaconda import constants
> +from pyanaconda import nm
>   
>   from blivet.util import get_mount_device, get_mount_paths
>   
> @@ -761,6 +762,18 @@ class SourceSpoke(NormalSpoke):
>               # that condition here too.
>               self.on_protocol_changed(self._protocolComboBox)
>   
> +        # If there's no network up (which is the default case), disable all the
> +        # network-related stuff.
> +        if not nm.nm_is_connected():
> +            self._networkButton.set_sensitive(False)
> +            self._networkBox.set_sensitive(False)
> +
> +            self.clear_info()
> +            self.set_warning(_("You need to configure the network to use a network installation source."))
> +        else:
> +            self._networkButton.set_sensitive(True)
> +            self._networkBox.set_sensitive(True)
> +
>       @property
>       def showable(self):
>           return isinstance(self.payload, PackagePayload)
> @@ -806,6 +819,10 @@ class SourceSpoke(NormalSpoke):
>           if len(ui_repo_names) != len(frozenset(ui_repo_names)):
>               return
>           else:
> +            # Clear any error message on the bottom of the screen so that on
> +            # the next visit to this spoke, the user doesn't see a stale message
> +            # about no network being up.
> +            self.clear_info()
>               NormalSpoke.on_back_clicked(self, button)
>   
>       def on_chooser_clicked(self, button):

Ack.


More information about the anaconda-patches mailing list