Setup wizard: Fix the http fallback logic

Also don't allow to go back from the advanced settings page because
this break everything
This commit is contained in:
Olivier Goffart 2015-01-21 15:07:24 +01:00
parent 95f7e83c5c
commit c91de092e5
2 changed files with 14 additions and 5 deletions

View file

@ -220,16 +220,17 @@ void OwncloudSetupWizard::testOwnCloudConnect()
bool OwncloudSetupWizard::checkDowngradeAdvised(QNetworkReply* reply)
{
if(reply->url().scheme() == QLatin1String("https")) {
qWarning() << reply->url() << reply->errorString() << reply->error() << reply->hasRawHeader("Strict-Transport-Security");
if(reply->url().scheme() != QLatin1String("https")) {
return false;
}
switch (reply->error()) {
case QNetworkReply::NoError:
case QNetworkReply::ContentNotFoundError:
case QNetworkReply::ConnectionRefusedError:
case QNetworkReply::AuthenticationRequiredError:
case QNetworkReply::HostNotFoundError:
case QNetworkReply::TimeoutError:
return false;
default:
break;
@ -251,8 +252,10 @@ void OwncloudSetupWizard::slotConnectionCheck(QNetworkReply* reply)
break;
default:
_ocWizard->show();
_ocWizard->back();
_ocWizard->displayError(reply->errorString(), checkDowngradeAdvised(reply));
if (_ocWizard->currentId() == WizardCommon::Page_ShibbolethCreds) {
_ocWizard->back();
}
_ocWizard->displayError(reply->errorString(), _ocWizard->currentId() == WizardCommon::Page_ServerSetup && checkDowngradeAdvised(reply));
break;
}
}

View file

@ -180,6 +180,12 @@ void OwncloudWizard::slotCurrentPageChanged( int id )
}
setOption(QWizard::HaveCustomButton1, id == WizardCommon::Page_AdvancedSetup);
if (id == WizardCommon::Page_AdvancedSetup) {
// Going back from this page messes the state as the account is created already
button(QWizard::BackButton)->setDisabled(true);
}
}
void OwncloudWizard::displayError( const QString& msg, bool retryHTTPonly )