Merge branch 'v2'

This commit is contained in:
jfederico
2019-07-29 14:30:30 +00:00
7 changed files with 12 additions and 46 deletions

View File

@ -36,9 +36,6 @@ class ApplicationController < ActionController::Base
# Manually handle BigBlueButton errors
rescue_from BigBlueButton::BigBlueButtonException, with: :handle_bigbluebutton_error
# Manually Handle errors when application is in readonly mode
rescue_from ActiveRecord::ReadOnlyRecord, with: :handle_readonly_error
protect_from_forgery with: :exception
MEETING_NAME_LIMIT = 90
@ -56,7 +53,7 @@ class ApplicationController < ActionController::Base
end
def maintenance_mode?
if ENV["MAINTENANCE_MODE"] == "full"
if ENV["MAINTENANCE_MODE"] == "true"
render "errors/greenlight_error", status: 503, formats: :html,
locals: {
status_code: 503,
@ -202,10 +199,4 @@ class ApplicationController < ActionController::Base
def handle_bigbluebutton_error
render "errors/bigbluebutton_error"
end
# Manually Handle errors when application is in readonly mode
def handle_readonly_error
flash.clear
redirect_to request.referrer || root_path, flash: { alert: I18n.t("errors.maintenance.readonly") }
end
end

View File

@ -22,8 +22,4 @@ class ApplicationRecord < ActiveRecord::Base
def to_param
uid
end
def readonly?
ENV["MAINTENANCE_MODE"] == "readonly"
end
end

View File

@ -70,7 +70,7 @@ class Room < ApplicationRecord
# Update session info.
unless meeting[:messageKey] == 'duplicateWarning'
update_attributes(sessions: sessions + 1,
last_session: DateTime.now) unless ENV["MAINTENANCE_MODE"] == "readonly"
last_session: DateTime.now)
end
rescue BigBlueButton::BigBlueButtonException => e
puts "BigBlueButton failed on create: #{e.key}: #{e.message}"

View File

@ -54,31 +54,14 @@ class User < ApplicationRecord
def from_omniauth(auth)
# Provider is the customer name if in loadbalanced config mode
provider = auth['provider'] == "bn_launcher" ? auth['info']['customer'] : auth['provider']
u = find_by(social_uid: auth['uid'], provider: provider)
if ENV["MAINTENANCE_MODE"] == "readonly"
raise ActiveRecord::ReadOnlyRecord if u.nil?
return u
find_or_initialize_by(social_uid: auth['uid'], provider: provider).tap do |u|
u.name = auth_name(auth) unless u.name
u.username = auth_username(auth) unless u.username
u.email = auth_email(auth)
u.image = auth_image(auth)
u.email_verified = true
u.save!
end
return User.create(
name: auth_name(auth),
username: auth_username(auth),
email: auth_email(auth),
social_uid: auth['uid'],
provider: provider,
image: auth_image(auth),
email_verified: true
) if u.nil?
u.name = auth_name(auth) unless u.name
u.username = auth_username(auth) unless u.username
u.email = auth_email(auth)
u.image = auth_image(auth) unless u.image
u.email_verified = true
u.save!
u
end
private