diff options
-rw-r--r-- | Bugzilla/Auth/Login/CGI.pm | 6 | ||||
-rw-r--r-- | Bugzilla/WebService/Constants.pm | 5 | ||||
-rw-r--r-- | template/en/default/global/user-error.html.tmpl | 4 |
3 files changed, 9 insertions, 6 deletions
diff --git a/Bugzilla/Auth/Login/CGI.pm b/Bugzilla/Auth/Login/CGI.pm index 407582af4..8e877b951 100644 --- a/Bugzilla/Auth/Login/CGI.pm +++ b/Bugzilla/Auth/Login/CGI.pm @@ -57,10 +57,8 @@ sub fail_nodata { my $cgi = Bugzilla->cgi; my $template = Bugzilla->template; - if (Bugzilla->error_mode == Bugzilla::Constants::ERROR_MODE_DIE_SOAP_FAULT) { - die SOAP::Fault - ->faultcode(ERROR_AUTH_NODATA) - ->faultstring('Login Required'); + if (Bugzilla->usage_mode != USAGE_MODE_BROWSER) { + ThrowUserError('login_required'); } print $cgi->header(); diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm index a51389faa..c7c52fece 100644 --- a/Bugzilla/WebService/Constants.pm +++ b/Bugzilla/WebService/Constants.pm @@ -24,7 +24,6 @@ our @EXPORT = qw( WS_ERROR_CODE ERROR_UNKNOWN_FATAL ERROR_UNKNOWN_TRANSIENT - ERROR_AUTH_NODATA WS_DISPATCH ); @@ -99,6 +98,9 @@ use constant WS_ERROR_CODE => { extern_id_conflict => -303, auth_failure => 304, + # Except, historically, AUTH_NODATA, which is 410. + login_required => 410, + # User errors are 500-600. account_exists => 500, illegal_email_address => 501, @@ -120,7 +122,6 @@ use constant WS_ERROR_CODE => { use constant ERROR_UNKNOWN_FATAL => -32000; use constant ERROR_UNKNOWN_TRANSIENT => 32000; -use constant ERROR_AUTH_NODATA => 410; use constant ERROR_GENERAL => 999; sub WS_DISPATCH { diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index 6bf904a94..4b1a82be6 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -1012,6 +1012,10 @@ You can't use %user% without being logged in, because %user% refers to your login name, which we don't know. + [% ELSIF error == "login_required" %] + [%# Used for non-web-based LOGIN_REQUIRED situations. %] + You must log in before using this part of [% terms.Bugzilla %]. + [% ELSIF error == "migrate_config_created" %] The file <kbd>[% file FILTER html %]</kbd> contains configuration variables that must be set before continuing with the migration. |