forked from External/greenlight
GRN2-192: Made error pages more descriptive (#620)
* GRN2-192 * Brought back error codes
This commit is contained in:
parent
523d9a38f2
commit
c7a0c6a463
|
@ -141,7 +141,11 @@ class ApplicationController < ActionController::Base
|
||||||
retrieve_provider_info(@user_domain, 'api2', 'getUserGreenlightCredentials')
|
retrieve_provider_info(@user_domain, 'api2', 'getUserGreenlightCredentials')
|
||||||
rescue => e
|
rescue => e
|
||||||
if e.message.eql? "No user with that id exists"
|
if e.message.eql? "No user with that id exists"
|
||||||
render "errors/not_found", locals: { user_not_found: true }
|
render "errors/not_found", locals: { message: I18n.t("errors.not_found.user_not_found.message"),
|
||||||
|
help: I18n.t("errors.not_found.user_not_found.help") }
|
||||||
|
elsif e.message.eql? "Provider not included."
|
||||||
|
render "errors/not_found", locals: { message: I18n.t("errors.not_found.user_missing.message"),
|
||||||
|
help: I18n.t("errors.not_found.user_missing.help") }
|
||||||
else
|
else
|
||||||
render "errors/internal_error"
|
render "errors/internal_error"
|
||||||
end
|
end
|
||||||
|
|
|
@ -21,10 +21,6 @@ class ErrorsController < ApplicationController
|
||||||
render status: 404, formats: :html
|
render status: 404, formats: :html
|
||||||
end
|
end
|
||||||
|
|
||||||
def unprocessable
|
|
||||||
render status: 422, formats: :html
|
|
||||||
end
|
|
||||||
|
|
||||||
def internal_error
|
def internal_error
|
||||||
render status: 500, formats: :html
|
render status: 500, formats: :html
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<div class="container text-center pt-9">
|
<div class="container text-center pt-9">
|
||||||
<div class="display-1 text-muted mb-5"><%= I18n.t("errors.bigbluebutton.title") %></div>
|
<div class="display-1 text-muted mb-5"><%= t("errors.bigbluebutton.title") %></div>
|
||||||
<h1 class="h2 mb-3"><%= I18n.t("errors.bigbluebutton.message") %></h1>
|
<h1 class="h2 mb-3"><%= t("errors.bigbluebutton.message") %></h1>
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= I18n.t("errors.bigbluebutton.help", doc_link: "http://docs.bigbluebutton.org/greenlight/gl-install.html#setting-bigbluebutton-credentials").html_safe %></p>
|
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.bigbluebutton.help", doc_link: "http://docs.bigbluebutton.org/greenlight/gl-install.html#setting-bigbluebutton-credentials").html_safe %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<div class="container text-center pt-9">
|
<div class="container text-center pt-9">
|
||||||
<div class="display-1 text-muted mb-5">500</div>
|
<div class="display-1 text-primary mb-5">500</div>
|
||||||
<h1 class="h2 mb-3"><%= t("errors.internal.message") %></h1>
|
<h1 class="h2 mb-3"><%= t("errors.internal.message") %></h1>
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.internal.help") %></p>
|
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.internal.help") %></p>
|
||||||
<a class="btn btn-primary" href="javascript:history.back()">
|
<a class="btn btn-primary" href="javascript:history.back()">
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<div class="container text-center pt-9">
|
<div class="container text-center pt-9">
|
||||||
<div class="display-1 text-muted mb-5">404</div>
|
<div class="display-1 mb-5 text-primary">404</div>
|
||||||
<% if defined?(user_not_found) %>
|
<% if defined?(message) && defined?(help) %>
|
||||||
<h1 class="h2 mb-3"><%= t("errors.not_found.user_message") %></h1>
|
<h1 class="h2 mb-3"><%= message %></h1>
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.not_found.user_help") %></p>
|
<p class="h4 text-muted font-weight-normal mb-7"><%= help %></p>
|
||||||
<% else %>
|
<% else %>
|
||||||
<h1 class="h2 mb-3"><%= t("errors.not_found.message") %></h1>
|
<h1 class="h2 mb-3"><%= t("errors.not_found.message") %></h1>
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.not_found.help") %></p>
|
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.not_found.help") %></p>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<div class="container text-center pt-9">
|
<div class="container text-center pt-9">
|
||||||
<div class="display-1 text-muted mb-5">401</div>
|
<div class="display-1 text-primary mb-5">401</div>
|
||||||
<h1 class="h2 mb-3"><%= I18n.t("errors.unauthorized.message") %></h1>
|
<h1 class="h2 mb-3"><%= t("errors.unauthorized.message") %></h1>
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= I18n.t("errors.unauthorized.help") %></p>
|
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.unauthorized.help") %></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
<%
|
|
||||||
# BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
|
|
||||||
# Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under the
|
|
||||||
# terms of the GNU Lesser General Public License as published by the Free Software
|
|
||||||
# Foundation; either version 3.0 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
# PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
|
||||||
# You should have received a copy of the GNU Lesser General Public License along
|
|
||||||
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
%>
|
|
||||||
|
|
||||||
<div class="container text-center pt-9">
|
|
||||||
<div class="display-1 text-muted mb-5">422</div>
|
|
||||||
<h1 class="h2 mb-3"><%= t("errors.unprocessable.message") %></h1>
|
|
||||||
<p class="h4 text-muted font-weight-normal mb-7"><%= t("errors.unprocessable.help") %></p>
|
|
||||||
<a class="btn btn-primary" href="javascript:history.back()">
|
|
||||||
<i class="fas fa-arrow-left mr-2"></i><%= t("go_back") %>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
|
@ -119,7 +119,7 @@ en:
|
||||||
message: Invalid BigBlueButton Endpoint and Secret
|
message: Invalid BigBlueButton Endpoint and Secret
|
||||||
title: Server Error
|
title: Server Error
|
||||||
internal:
|
internal:
|
||||||
message: Oh no! Looks like something went wrong on our end.
|
message: Looks like something went wrong on our end.
|
||||||
help: The error has been logged, we'll take a look!
|
help: The error has been logged, we'll take a look!
|
||||||
migration_error:
|
migration_error:
|
||||||
contact_admin: If you are not an administrator, please contact one.
|
contact_admin: If you are not an administrator, please contact one.
|
||||||
|
@ -138,17 +138,18 @@ en:
|
||||||
confirmation: doesn't match %{attribute}
|
confirmation: doesn't match %{attribute}
|
||||||
inclusion: is not included in the list
|
inclusion: is not included in the list
|
||||||
not_found:
|
not_found:
|
||||||
message: Whoops! Looks like we can't find that.
|
message: Sorry! The page you are looking for does not exist.
|
||||||
help: Is it possible its been removed?
|
help: Is it possible its been removed?
|
||||||
user_message: User Not Found.
|
user_not_found:
|
||||||
user_help: Sorry, this user is not registered.
|
help: Please contact an administrator.
|
||||||
|
message: Sorry, this user is not registered.
|
||||||
|
user_missing:
|
||||||
|
help: Please verify the URL and try again
|
||||||
|
message: The URL that you have entered is not valid.
|
||||||
title: Errors
|
title: Errors
|
||||||
unauthorized:
|
unauthorized:
|
||||||
message: You do not have access to this application
|
message: You do not have access to this application
|
||||||
help: If you believe this is a mistake, please contact your system administrator.
|
help: If you believe this is a mistake, please contact your system administrator.
|
||||||
unprocessable:
|
|
||||||
message: Oops! Request is unprocessable.
|
|
||||||
help: Unfortunately this isn't a valid request.
|
|
||||||
expired_reset_token: Password reset link has expired!
|
expired_reset_token: Password reset link has expired!
|
||||||
features:
|
features:
|
||||||
title: Features
|
title: Features
|
||||||
|
|
|
@ -22,7 +22,6 @@ Rails.application.routes.draw do
|
||||||
# Error routes.
|
# Error routes.
|
||||||
match '/401', to: 'errors#unauthorized', via: :all, as: :unauthorized
|
match '/401', to: 'errors#unauthorized', via: :all, as: :unauthorized
|
||||||
match '/404', to: 'errors#not_found', via: :all, as: :not_found
|
match '/404', to: 'errors#not_found', via: :all, as: :not_found
|
||||||
match '/422', to: 'errors#unprocessable', via: :all
|
|
||||||
match '/500', to: 'errors#internal_error', via: :all, as: :internal_error
|
match '/500', to: 'errors#internal_error', via: :all, as: :internal_error
|
||||||
|
|
||||||
# Signin/Signup routes.
|
# Signin/Signup routes.
|
||||||
|
|
|
@ -74,7 +74,7 @@ describe ApplicationController do
|
||||||
it "renders a 404 error if user is not found" do
|
it "renders a 404 error if user is not found" do
|
||||||
allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
|
allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
|
||||||
allow(Rails.env).to receive(:test?).and_return(false)
|
allow(Rails.env).to receive(:test?).and_return(false)
|
||||||
allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
|
allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("fake_provider")
|
||||||
allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("No user with that id exists")
|
allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("No user with that id exists")
|
||||||
|
|
||||||
routes.draw { get "user_not_found" => "anonymous#user_not_found" }
|
routes.draw { get "user_not_found" => "anonymous#user_not_found" }
|
||||||
|
@ -83,7 +83,19 @@ describe ApplicationController do
|
||||||
expect(response).to render_template("errors/not_found")
|
expect(response).to render_template("errors/not_found")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "renders a 500 error if any other error is not found" do
|
it "renders a 404 error if user is not given" do
|
||||||
|
allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
|
||||||
|
allow(Rails.env).to receive(:test?).and_return(false)
|
||||||
|
allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
|
||||||
|
allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("Provider not included.")
|
||||||
|
|
||||||
|
routes.draw { get "user_not_found" => "anonymous#user_not_found" }
|
||||||
|
|
||||||
|
get :user_not_found
|
||||||
|
expect(response).to render_template("errors/not_found")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "renders a 500 error if any other error related to bbb api" do
|
||||||
allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
|
allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
|
||||||
allow(Rails.env).to receive(:test?).and_return(false)
|
allow(Rails.env).to receive(:test?).and_return(false)
|
||||||
allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
|
allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
|
||||||
|
|
|
@ -26,13 +26,6 @@ describe ErrorsController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "GET #unprocessable" do
|
|
||||||
it "returns unprocessable" do
|
|
||||||
get :unprocessable
|
|
||||||
expect(response).to have_http_status(422)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "GET #internal_error" do
|
describe "GET #internal_error" do
|
||||||
it "returns internal_error" do
|
it "returns internal_error" do
|
||||||
get :internal_error
|
get :internal_error
|
||||||
|
|
Loading…
Reference in New Issue