Display notification that max concurrent sessions has been reached (GRN-41) (#317)

* <Added max concurrent sessions check>

* <Refactored some exception logic>

* <Fixed code style>

* <Generalized BBBException error message>
This commit is contained in:
John Ma 2018-11-15 14:20:46 -05:00 committed by Jesus Federico
parent 655516535c
commit de98fd0a3c
4 changed files with 16 additions and 1 deletions

View File

@ -94,7 +94,11 @@ class RoomsController < ApplicationController
opts = default_meeting_options
opts[:user_is_moderator] = true
redirect_to @room.join_path(current_user.name, opts, current_user.uid)
begin
redirect_to @room.join_path(current_user.name, opts, current_user.uid)
rescue BigBlueButton::BigBlueButtonException => exc
redirect_to room_path, notice: I18n.t(exc.key.to_s.underscore, default: I18n.t("bigbluebutton_exception"))
end
# Notify users that the room has started.
# Delay 5 seconds to allow for server start, although the request will retry until it succeeds.

View File

@ -63,6 +63,7 @@ class Room < ApplicationRecord
bbb.create_meeting(name, bbb_id, create_options)
rescue BigBlueButton::BigBlueButtonException => exc
puts "BigBlueButton failed on create: #{exc.key}: #{exc.message}"
raise exc
end
end

View File

@ -13,6 +13,14 @@
# with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
%>
<% unless flash.empty? %>
<%= render "shared/error_banner" do %>
<% flash.each do |key, value| %>
<%= content_tag :div, value, class: "flash #{key} d-inline" %>
<% end %>
<% end %>
<% end %>
<div class="background pb-1">
<div class="container">
<div class="row pt-9">

View File

@ -22,6 +22,7 @@ en:
user:
accepted_terms: "Terms and Conditions"
bigbluebutton: BigBlueButton
bigbluebutton_exception: Oops, there was an error when starting the meeting!
cancel: Cancel
copy: Copy
delete: Delete
@ -78,6 +79,7 @@ en:
version: We've released a new version of Greenlight, but your database isn't compatible.
ldap_error: Unable to connect to the LDAP server. Please check your LDAP configuration in the env file and ensure your server is running.
login: Sign in
max_concurrent: The maximum number of concurrent sessions allowed has been reached!
modal:
create_room:
auto_join: Automatically join me into the room.