Skip to content

Commit f1d3f9b

Browse files
authored
Backport: Added a site setting to hide 'Already have an account? Sign in' (#5996)
* Added a site setting to hide 'Already have an account? Sign in' * Eslint
1 parent eaf0530 commit f1d3f9b

File tree

7 files changed

+47
-5
lines changed

7 files changed

+47
-5
lines changed

app/assets/locales/en.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,9 @@
296296
"allow_users_to_share_rooms": "Allow Users to Share Rooms",
297297
"allow_users_to_share_rooms_description": "Setting to disabled will remove the button from the room options dropdown, preventing users from sharing rooms",
298298
"allow_users_to_preupload_presentation": "Allow Users to Preupload Presentations",
299-
"allow_users_to_preupload_presentation_description": "Users can preupload a presentation to be used as the default presentation for that specific room",
299+
"allow_users_to_preupload_presentation_description": "Users can preupload a presentation to be used as the default presentation for that specific room", "allow_users_to_preupload_presentation": "Allow Users to Preupload Presentations",
300+
"show_sign_in_on_room_join": "Show Sign In Link on Room Join",
301+
"show_sign_in_on_room_join_description": "If the user is not signed in, a sign-in link appears at the bottom of the card when entering a room",
300302
"default_visibility": "Default Recording Visibility",
301303
"default_visibility_description": "All newly created recordings will have this visibility by default",
302304
"session_timeout": "Session Timeout",

app/javascript/components/admin/site_settings/registration/Registration.jsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ import useRoles from '../../../../hooks/queries/admin/roles/useRoles';
2828
export default function Registration() {
2929
const { t } = useTranslation();
3030
const { data: env } = useEnv();
31-
const { data: siteSettings } = useSiteSettings(['RoleMapping', 'DefaultRole', 'ResyncOnLogin', 'RegistrationMethod', 'AllowedDomains']);
31+
const { data: siteSettings } = useSiteSettings(
32+
['RoleMapping', 'DefaultRole', 'ResyncOnLogin', 'SignInOnRoomJoin', 'RegistrationMethod', 'AllowedDomains'],
33+
);
3234
const { data: roles } = useRoles();
3335
const updateRegistrationMethod = useUpdateSiteSetting('RegistrationMethod');
3436
const updateDefaultRole = useUpdateSiteSetting('DefaultRole');
@@ -82,6 +84,17 @@ export default function Registration() {
8284
}
8385
</SettingSelect>
8486

87+
<SettingsRow
88+
name="SignInOnRoomJoin"
89+
title={t('admin.site_settings.settings.show_sign_in_on_room_join')}
90+
description={(
91+
<p className="text-muted">
92+
{t('admin.site_settings.settings.show_sign_in_on_room_join_description')}
93+
</p>
94+
)}
95+
value={siteSettings?.SignInOnRoomJoin}
96+
/>
97+
8598
<Row className="mb-3">
8699
<strong> { t('admin.site_settings.registration.role_mapping_by_email') } </strong>
87100
<p className="text-muted"> { t('admin.site_settings.registration.role_mapping_by_email_description') } </p>

app/javascript/components/rooms/room/join/JoinCard.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import ButtonLink from '../../../shared_components/utilities/ButtonLink';
4444
import Title from '../../../shared_components/utilities/Title';
4545
import useRoomConfigValue from '../../../../hooks/queries/rooms/useRoomConfigValue';
4646
import usePublicRecordings from '../../../../hooks/queries/recordings/usePublicRecordings';
47+
import useSiteSetting from '../../../../hooks/queries/site_settings/useSiteSetting';
4748

4849
export default function JoinCard() {
4950
const { t } = useTranslation();
@@ -58,6 +59,7 @@ export default function JoinCard() {
5859

5960
const { data: env } = useEnv();
6061
const { data: recordValue } = useRoomConfigValue('record');
62+
const { data: signInOnRoomJoin } = useSiteSetting('SignInOnRoomJoin');
6163

6264
const { methods, fields } = useRoomJoinForm();
6365

@@ -272,7 +274,7 @@ export default function JoinCard() {
272274
)}
273275
</Row>
274276
<Row>
275-
{!currentUser?.signed_in && (
277+
{ signInOnRoomJoin && !currentUser?.signed_in && (
276278
env?.EXTERNAL_AUTH ? (
277279
<Stack direction="horizontal" className="d-flex justify-content-center text-muted mt-3"> {t('authentication.already_have_account')}
278280
<RegularForm action={process.env.OMNIAUTH_PATH} method="POST" data-turbo="false">

app/services/tenant_setup.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ def create_site_settings
5757
{ setting: Setting.find_by(name: 'DefaultRecordingVisibility'), provider: @provider, value: 'Published' },
5858
{ setting: Setting.find_by(name: 'Maintenance'), provider: @provider, value: '' },
5959
{ setting: Setting.find_by(name: 'SessionTimeout'), provider: @provider, value: '1' },
60-
{ setting: Setting.find_by(name: 'AllowedDomains'), value: '', provider: @provider }
60+
{ setting: Setting.find_by(name: 'AllowedDomains'), value: '', provider: @provider },
61+
{ setting: Setting.find_by(name: 'SignInOnRoomJoin'), value: 'true', provider: @provider }
6162
]
6263
end
6364

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# frozen_string_literal: true
2+
3+
class AddSignInOnRoomJoinToSiteSettings < ActiveRecord::Migration[7.1]
4+
def up
5+
setting = Setting.find_or_create_by(name: 'SignInOnRoomJoin')
6+
7+
SiteSetting.create!(setting:, value: 'true', provider: 'greenlight') unless SiteSetting.exists?(setting:, provider: 'greenlight')
8+
9+
Tenant.find_each do |tenant|
10+
SiteSetting.create!(setting:, value: 'true', provider: tenant.name) unless SiteSetting.exists?(setting:, provider: tenant.name)
11+
end
12+
end
13+
14+
def down
15+
Tenant.find_each do |tenant|
16+
SiteSetting.find_by(setting: Setting.find_by(name: 'SignInOnRoomJoin'), provider: tenant.name)&.destroy
17+
end
18+
19+
SiteSetting.find_by(setting: Setting.find_by(name: 'SignInOnRoomJoin'), provider: 'greenlight')&.destroy
20+
21+
Setting.find_by(name: 'SignInOnRoomJoin')&.destroy
22+
end
23+
end

db/data_schema.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
DataMigrate::Data.define(version: 20240812210436)
1+
DataMigrate::Data.define(version: 20250130160334)

spec/controllers/admin/tenants_controller_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ def create_settings_permissions_meetingoptions
147147
Setting.find_or_create_by(name: 'Maintenance')
148148
Setting.find_or_create_by(name: 'SessionTimeout')
149149
Setting.find_or_create_by(name: 'AllowedDomains')
150+
Setting.find_or_create_by(name: 'SignInOnRoomJoin')
150151

151152
Permission.find_or_create_by(name: 'CreateRoom')
152153
Permission.find_or_create_by(name: 'ManageUsers')

0 commit comments

Comments
 (0)