Merge v2.7-alpha (#1951)

* Fix wrong conditional (reported by LGTM) (#1477)

Signed-off-by: Stefan Weil <sw@weilnetz.de>

Co-authored-by: Ahmad Farhat <ahmad.af.farhat@gmail.com>

* Bump rack from 2.2.2 to 2.2.3 (#1839)

Bumps [rack](https://github.com/rack/rack) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.2...2.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [FIX]  Unable to edit long recording names #1776  (#1780)

* Allow to set a filter for LDAP authentication

* [FIX] Unable to edit long recording names #1776

Co-authored-by: François Ménabé <francois.menabe@unistra.fr>
Co-authored-by: farhatahmad <ahmad.af.farhat@gmail.com>

* Desgin for Manage Users Tabs (#1777)

* Update _subtitle.html.erb

* Update _manage_users_tags.html.erb

* Update admins.scss

* Update _primary_themes.scss

* Update _manage_users_tags.html.erb

* Minor style changes to manage users (#1845)

* Maintenance banner moved to admin site (#1775)

* initial

* finish

* travis fixes

* travis again

* not required

* Co-authored-by: Tobias Fiebig <t.fiebig@tudelft.nl> (#1296)

Co-authored-by: Ahmad Farhat <ahmad.af.farhat@gmail.com>

* Enhance Room OpenGraph Metadata (#1601)

* Revert "Enhance Room OpenGraph Metadata (#1601)" (#1852)

This reverts commit 3b007c233a.

* GRN2-xx: Tab title now displays the current page name (#1853)

* Tab title now displays the current page name

* Added page title for the rest of the pages

* Split Site Settings into 3 different tabs (#1858)

* Split Site Settings into 3 different tabs

* Fix copyright

* Added redirect to correct tab

* Make sure settings are displaying when they should

* Update en.yml (#1857)

* Build images for alpha branches (#1867)

* Upgraded jquery to latest version (#1896)

* Added favicon tag (#1898)

* Fixed XSS issue with role name (#1899)

* Update path for coloring redirect (#1908)

* Added a fourth section to the room uid (#1910)

* Fixed issue with insecure room sharing removal (#1914)

* Fixes typo (#1917)

Fixes typo: successfully was written incorrect.

* Fixed order of rooms in server rooms (#1915)

* Change default room sort to latest activity (#1919)

* GRN2-xx: Small changes/improvements to the recording settings (#1851)

* Small changes/improvements to the recording settings

* Replaced room warning with info flash

* Added global setting to enable/disable the recording consent feature

* Replace Legal with Terms (#1931)

* Added a more friendly OpenGraph description when invited to join a room (#1932)

* Fixed issue causing maintenance banner not to hide correctly (#1933)

* Hide recording menu and recording list when it is disabled (#1935)

* Hide recording menu and recording list when it is disabled

* Hide recording list when disabled

* GRN2-xx: Added an auto-refresh after 2 mins while waiting for room to start (#1947)

* Added an auto-refresh after 2 mins while waiting for room to start

* Fixed random issue with test case

* GRN2-xx: Added ability to preupload presentations to rooms (#1895)

* Added ability to preupload presentations to rooms (#1868)

* Added setting to site settings and allowed admins to change the presentation

* Added AWS S3 and GCS Storage ENV variables

* Added check to ensure file extension is correct

* Added icon to remove presentation

* Added testcases for preupload

* Add nginx redirect to solve issue with relative root

* Record title, instead of room name, in the popup (#1924)

* Update _public_recording_row.html.erb

* Update _recording_row.html.erb

Co-authored-by: Stefan Weil <sw@weilnetz.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: beckerr-rzht <beckerr@hochschule-trier.de>
Co-authored-by: François Ménabé <francois.menabe@unistra.fr>
Co-authored-by: MrKeksi <mrkeksi@users.noreply.github.com>
Co-authored-by: yanosz <yanosz@users.noreply.github.com>
Co-authored-by: Moritz Schlarb <moschlar@metalabs.de>
Co-authored-by: chronikum <34622984+chronikum@users.noreply.github.com>
Co-authored-by: Mitsutaka Sato <miztaka@honestyworks.jp>
Co-authored-by: hiroshisuga <45039819+hiroshisuga@users.noreply.github.com>
This commit is contained in:
Ahmad Farhat
2020-07-29 11:03:22 -04:00
committed by GitHub
parent 50c2070188
commit 60cf5f7440
64 changed files with 1463 additions and 399 deletions

View File

@ -52,7 +52,7 @@ module Greenlight
# Use standalone BigBlueButton server.
config.bigbluebutton_endpoint = if ENV["BIGBLUEBUTTON_ENDPOINT"].present?
ENV["BIGBLUEBUTTON_ENDPOINT"]
ENV["BIGBLUEBUTTON_ENDPOINT"]
else
config.bigbluebutton_endpoint_default
end
@ -128,6 +128,9 @@ module Greenlight
config.report_issue_url = ENV["REPORT_ISSUE_URL"]
config.help_url = ENV["HELP_URL"].nil? ? "https://docs.bigbluebutton.org/greenlight/gl-overview.html" : ENV["HELP_URL"]
# File types allowed in preupload presentation
config.allowed_file_types = ".doc,.docx,.pptx,.pdf"
# DEFAULTS
# Default branding image if the user does not specify one
@ -157,6 +160,12 @@ module Greenlight
# Allow users to share rooms by default
config.shared_access_default = "true"
# Don't require recording consent by default
config.require_consent_default = "false"
# Don't allow users to preupload presentations by default
config.preupload_presentation_default = "false"
# Default admin password
config.admin_password_default = ENV['ADMIN_PASSWORD'] || 'administrator'
end

View File

@ -61,7 +61,13 @@ Rails.application.configure do
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
# Store uploaded files on the local file system (see config/storage.yml for options)
config.active_storage.service = :local
config.active_storage.service = if ENV["AWS_ACCESS_KEY_ID"].present?
:amazon
elsif ENV["GCS_PRIVATE_KEY_ID"].present?
:google
else
:local
end
# Mount Action Cable outside main process or domain
# config.action_cable.mount_path = nil

View File

@ -36,7 +36,7 @@ en:
enabled: Enabled
info: Only allow authenticated users to join a room
title: Require Authentication for Rooms
user-info: You must sign in to Greenlight to join this room
user-info: You must sign in above to join this room.
branding:
change: Change Image
info: Change the branding image that appears in the top left corner
@ -45,9 +45,9 @@ en:
invalid: Invalid URL
legal:
change: Change URL
info: Change the Legal Link that appears in the bottom of the page
placeholder: Legal URL...
title: Legal
info: Change the Terms Link that appears in the bottom of the page
placeholder: Terms URL...
title: Terms
invalid: Invalid URL
privpolicy:
change: Change URL
@ -82,6 +82,18 @@ en:
info: Set the default recording visbility for new recordings
title: Recording Default Visibility
warning: This setting will only be applied to rooms that aren't running
require_consent:
info: This setting enables a room setting that allows room owners to specify which rooms can be recorded. Users joining a recorded room must consent before joining.
title: Require Room Owner and Joiner Consent to Recording
maintenance_banner:
info: Displays a Banner to inform the user of a scheduled maintenance
title: Maintenance Banner
display: Set
clear: Clear
time: "Example: Update scheduled on December 13 @ 23:00 ET. Users may experience problems signing in."
preupload:
info: Users can preupload a presentation to be used as the default presentation for that specific room
title: Allow Users to Preupload Presentations
registration:
info: Change the way that users register to the website
title: Registration Method
@ -96,6 +108,10 @@ en:
info: Setting to disabled will remove the button from the Room options dropdown, preventing users from sharing rooms
title: Allow Users to Share Rooms
subtitle: Customize Greenlight
tabs:
appearance: Appearance
administration: Administration
settings: Settings
title: Site Settings
flash:
approved: User has been successfully approved.
@ -106,7 +122,7 @@ en:
demoted: User has been successfully demoted
invite: Invite successfully sent to %{email}
invite_email_verification: Emails must be enabled in order to use this method. Please contact your system administrator.
merge_fail: There was an issue merging the user accounts. Please check the users selected and try again
merge_fail: There was an issue merging the user accounts. Please check the users selected and try again
merge_success: User accounts merged successfully
perm_deleted: User has been permanently deleted
promoted: User has been successfully promoted
@ -136,7 +152,7 @@ en:
edit_site_settings: Allow users with this role to edit site settings
edit_roles: Allow users with this role to edit other roles
manage_users: Allow users with this role to manage users
invalid_assignment: There was a problem assigning the roles to the user. Please check the values and try again
invalid_assignment: There was a problem assigning the roles to the user. Please check the values and try again
colour:
title: Role Colour
info: Set the colour that will be associated with the role
@ -150,6 +166,8 @@ en:
info: Allows any user to start the meeting at any time. By default, only the room owner can start the meeting.
all_moderator:
info: Gives all users moderator privileges in BigBlueButton when they join the meeting.
recordings:
info: Allows room owners to specify whether they want the option to record a room or not. If enabled, the moderator must still click the "Record" button once the meeting has started.
options:
disabled: Disabled
enabled: Always Enabled
@ -261,7 +279,7 @@ en:
designs: Custom Designs
authentication: User Authentication
footer:
legal: Legal
legal: Terms
privpolicy: Privacy Policy
powered_by: Powered by %{href}.
forgot_password:
@ -393,6 +411,14 @@ en:
or: or
with: Sign in with %{provider}
forgot_password: Forgot Password?
preupload:
change: Replace Presentation
choose: Choose a file (%{type})
current: "Current Presentation:"
footer: Depending on the size of the presentation, it may require additional time to upload before it can be used.
invalid: Invalid size/file type. Please see the restrictions below.
title: Add Presentation
use: Use Presentation
rename_recording:
remove_shared:
title: Are you sure you want to remove this room from your room list?
@ -407,6 +433,7 @@ en:
require_approval: Require moderator approval before joining
start: Allow any user to start this meeting
footer_text: Adjustment to your room can be done at anytime.
recording: Allow room to be recorded
rename_room:
name_placeholder: Enter a new room name...
share_access:
@ -474,7 +501,7 @@ en:
fail: Your account has not been approved yet. If multiples days have passed since you signed up, please contact your administrator.
signup: Your account was successfully created. It has been sent to an administrator for approval.
banned:
fail: You do not have access to this application. If you believe this is a mistake, please contact your administrator.
fail: You do not have access to this application. If you believe this is a mistake, please contact your administrator.
deprecated:
new_signin: Select a new login method for you account. All your rooms from your old account will be migrated to the new account
twitter_signin: Signing in via Twitter has been deprecated and will be removed in the next release. Click <a href="%{link}"> here </a> to move your account to a new authentication method
@ -501,6 +528,7 @@ en:
user: User
room:
access_code_required: Please enter a valid access code to join the room
add_presentation: Add Presentation
create_room: Create a Room
create_room_error: There was an error creating the room
create_room_success: Room created successfully
@ -510,7 +538,9 @@ en:
fail: Failed to delete room (%{error})
enter_the_access_code: Enter the room's access code
invalid_provider: You have entered an invalid url. Please check the url and try again.
invitation_description: You have been invited to join %{name} using BigBlueButton. To join, click the link above and enter your name.
invited: You have been invited to join
recording_present: The session is going to be recorded. This may include voice and video from your side.
invite_participants: Invite Participants
join: Join
last_session: Last session on %{session}
@ -527,6 +557,10 @@ en:
recent_rooms: Go To a Recently Joined Room
title: Join a Room
no_sessions: This room has no sessions, yet!
preupload_success: Successfully added presentation
preupload_error: There was an error updating the room presentation
preupload_remove_success: Successfully removed presentation
preupload_remove_error: There was an error removing the room presentation
recordings: Room Recordings
room_limit: You have reached the maximum number of rooms allowed
room_limit_exceeded: You have exceeded the number of rooms allowed. Please delete %{difference} room(s) to access this room.

View File

@ -122,6 +122,9 @@ Rails.application.routes.draw do
patch '/', to: 'rooms#update', as: :update_room
get '/room_settings', to: 'rooms#room_settings'
post '/update_settings', to: 'rooms#update_settings'
get '/current_presentation', to: 'rooms#current_presentation'
post '/preupload_presentation', to: 'rooms#preupload_presentation'
post '/remove_presentation', to: 'rooms#remove_presentation'
post '/update_shared_access', to: 'rooms#shared_access', as: :room_shared_access
delete '/remove_shared_access', to: 'rooms#remove_shared_access', as: :room_remove_shared_access
get '/shared_users', to: 'rooms#shared_users', as: :room_shared_users

View File

@ -7,19 +7,29 @@ local:
root: <%= Rails.root.join("storage") %>
# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
# amazon:
# service: S3
# access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
# secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
# region: us-east-1
# bucket: your_own_bucket
amazon:
service: S3
access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %>
secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
region: <%= ENV['AWS_REGION'] %>
bucket: <%= ENV['AWS_BUCKET'] %>
# Remember not to checkin your GCS keyfile to a repository
# google:
# service: GCS
# project: your_project
# credentials: <%= Rails.root.join("path/to/gcs.keyfile") %>
# bucket: your_own_bucket
google:
service: GCS
project: "<%= ENV['GCS_PROJECT'] %>"
bucket: "<%= ENV['GCS_BUCKET'] %>"
credentials:
type: 'service_account'
project_id: "<%= ENV['GCS_PROJECT_ID'] %>"
private_key_id: "<%= ENV['GCS_PRIVATE_KEY_ID'] %>"
private_key: "<%= ENV['GCS_PRIVATE_KEY']&.lines&.join("\\n") %>"
client_email: "<%= ENV['GCS_CLIENT_EMAIL'] %>"
client_id: "<%= ENV['GCS_CLIENT_ID'] %>"
auth_uri: 'https://accounts.google.com/o/oauth2/auth'
token_uri: 'https://accounts.google.com/o/oauth2/token'
auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs'
client_x509_cert_url: "<%= ENV['GCS_CLIENT_CERT'] %>"
# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
# microsoft: