From a8501294dbd2ccaba323bfa6cc09e38ecdd1c677 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Fri, 5 Oct 2007 14:08:17 +0000 Subject: check network access and adress settings --- lib/network/connection_manager.pm | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/network/connection_manager.pm b/lib/network/connection_manager.pm index 113eaa9..d4ae224 100644 --- a/lib/network/connection_manager.pm +++ b/lib/network/connection_manager.pm @@ -81,12 +81,15 @@ sub configure_connection { load_settings($cmanager); - $cmanager->{in}->ask_from_({ - title => N("Network settings"), - messages => N("Please enter settings for network"), - icon => $cmanager->{connection}->get_type_icon(48), - banner_title => $cmanager->{connection}->get_description, - }, + my $error; + do { + undef $error; + $cmanager->{in}->ask_from_({ + title => N("Network settings"), + messages => N("Please enter settings for network"), + icon => $cmanager->{connection}->get_type_icon(48), + banner_title => $cmanager->{connection}->get_description, + }, [ $cmanager->{connection}->can('get_network_access_settings') ? ( { label => $cmanager->{connection}->get_network_access_settings_label, title => 1, advanced => 1 }, @@ -108,6 +111,15 @@ sub configure_connection { ) : (), ], ) or return; + if ($cmanager->{connection}->can('check_network_access_settings') && !$cmanager->{connection}->check_network_access_settings) { + $cmanager->{in}->ask_warn(N("Error"), $cmanager->{connection}->{network_access}{error}{message}); + $error = 1; + } + if ($cmanager->{connection}->can('check_address_settings') && !$cmanager->{connection}->check_address_settings($cmanager->{net})) { + $cmanager->{in}->ask_warn(N("Error"), $cmanager->{connection}->{address}{error}{message}); + $error = 1; + } + } while $error; $cmanager->{connection}->install_packages($cmanager->{in}) if $cmanager->{connection}->can('install_packages'); $cmanager->{connection}->unload_connection if $cmanager->{connection}->can('unload_connection'); -- cgit v1.2.1