Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added a site setting to hide 'Already have an account? Sign in' #5985

Merged
merged 2 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion app/assets/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,9 @@
"allow_users_to_share_rooms": "Allow Users to Share Rooms",
"allow_users_to_share_rooms_description": "Setting to disabled will remove the button from the room options dropdown, preventing users from sharing rooms",
"allow_users_to_preupload_presentation": "Allow Users to Preupload Presentations",
"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_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",
"show_sign_in_on_room_join": "Show Sign In Link on Room Join",
"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",
"default_visibility": "Default Recording Visibility",
"default_visibility_description": "All newly created recordings will have this visibility by default",
"session_timeout": "Session Timeout",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ import useRoles from '../../../../hooks/queries/admin/roles/useRoles';
export default function Registration() {
const { t } = useTranslation();
const { data: env } = useEnv();
const { data: siteSettings } = useSiteSettings(['RoleMapping', 'DefaultRole', 'ResyncOnLogin', 'RegistrationMethod', 'AllowedDomains']);
const { data: siteSettings } = useSiteSettings(
['RoleMapping', 'DefaultRole', 'ResyncOnLogin', 'SignInOnRoomJoin', 'RegistrationMethod', 'AllowedDomains'],
);
const { data: roles } = useRoles();
const updateRegistrationMethod = useUpdateSiteSetting('RegistrationMethod');
const updateDefaultRole = useUpdateSiteSetting('DefaultRole');
Expand Down Expand Up @@ -82,6 +84,17 @@ export default function Registration() {
}
</SettingSelect>

<SettingsRow
name="SignInOnRoomJoin"
title={t('admin.site_settings.settings.show_sign_in_on_room_join')}
description={(
<p className="text-muted">
{t('admin.site_settings.settings.show_sign_in_on_room_join_description')}
</p>
)}
value={siteSettings?.SignInOnRoomJoin}
/>

<Row className="mb-3">
<strong> { t('admin.site_settings.registration.role_mapping_by_email') } </strong>
<p className="text-muted"> { t('admin.site_settings.registration.role_mapping_by_email_description') } </p>
Expand Down
4 changes: 3 additions & 1 deletion app/javascript/components/rooms/room/join/JoinCard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import ButtonLink from '../../../shared_components/utilities/ButtonLink';
import Title from '../../../shared_components/utilities/Title';
import useRoomConfigValue from '../../../../hooks/queries/rooms/useRoomConfigValue';
import usePublicRecordings from '../../../../hooks/queries/recordings/usePublicRecordings';
import useSiteSetting from '../../../../hooks/queries/site_settings/useSiteSetting';

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

const { data: env } = useEnv();
const { data: recordValue } = useRoomConfigValue('record');
const { data: signInOnRoomJoin } = useSiteSetting('SignInOnRoomJoin');

const { methods, fields } = useRoomJoinForm();

Expand Down Expand Up @@ -272,7 +274,7 @@ export default function JoinCard() {
)}
</Row>
<Row>
{!currentUser?.signed_in && (
{ signInOnRoomJoin && !currentUser?.signed_in && (
env?.EXTERNAL_AUTH ? (
<Stack direction="horizontal" className="d-flex justify-content-center text-muted mt-3"> {t('authentication.already_have_account')}
<RegularForm action={process.env.OMNIAUTH_PATH} method="POST" data-turbo="false">
Expand Down
3 changes: 2 additions & 1 deletion app/services/tenant_setup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ def create_site_settings
{ setting: Setting.find_by(name: 'DefaultRecordingVisibility'), provider: @provider, value: 'Published' },
{ setting: Setting.find_by(name: 'Maintenance'), provider: @provider, value: '' },
{ setting: Setting.find_by(name: 'SessionTimeout'), provider: @provider, value: '1' },
{ setting: Setting.find_by(name: 'AllowedDomains'), value: '', provider: @provider }
{ setting: Setting.find_by(name: 'AllowedDomains'), value: '', provider: @provider },
{ setting: Setting.find_by(name: 'SignInOnRoomJoin'), value: 'true', provider: @provider }
]
end

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# frozen_string_literal: true

class AddSignInOnRoomJoinToSiteSettings < ActiveRecord::Migration[7.1]
def up
setting = Setting.find_or_create_by(name: 'SignInOnRoomJoin')

SiteSetting.create!(setting:, value: 'true', provider: 'greenlight') unless SiteSetting.exists?(setting:, provider: 'greenlight')

Tenant.find_each do |tenant|
SiteSetting.create!(setting:, value: 'true', provider: tenant.name) unless SiteSetting.exists?(setting:, provider: tenant.name)
end
end

def down
Tenant.find_each do |tenant|
SiteSetting.find_by(setting: Setting.find_by(name: 'SignInOnRoomJoin'), provider: tenant.name)&.destroy
end

SiteSetting.find_by(setting: Setting.find_by(name: 'SignInOnRoomJoin'), provider: 'greenlight')&.destroy

Setting.find_by(name: 'SignInOnRoomJoin')&.destroy
end
end
2 changes: 1 addition & 1 deletion db/data_schema.rb
Original file line number Diff line number Diff line change
@@ -1 +1 @@
DataMigrate::Data.define(version: 20240812210436)
DataMigrate::Data.define(version: 20250130160334)
1 change: 1 addition & 0 deletions spec/controllers/admin/tenants_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ def create_settings_permissions_meetingoptions
Setting.find_or_create_by(name: 'Maintenance')
Setting.find_or_create_by(name: 'SessionTimeout')
Setting.find_or_create_by(name: 'AllowedDomains')
Setting.find_or_create_by(name: 'SignInOnRoomJoin')

Permission.find_or_create_by(name: 'CreateRoom')
Permission.find_or_create_by(name: 'ManageUsers')
Expand Down
Loading