From ebbb608166b2c069df3397c8f8f48a965bf157af Mon Sep 17 00:00:00 2001 From: Hugo Costa Date: Wed, 31 May 2023 17:08:40 -0300 Subject: [PATCH] fix: Login Terms custom content (#28999) --- .changeset/login-terms.md | 7 +++++++ .../rocketchat-i18n/i18n/en.i18n.json | 1 + .../rocketchat-i18n/i18n/pt-BR.i18n.json | 3 ++- apps/meteor/server/settings/layout.ts | 15 ++++++------- .../meteor/server/startup/migrations/index.ts | 1 + apps/meteor/server/startup/migrations/v296.ts | 21 +++++++++++++++++++ .../src/components/LoginTerms.tsx | 15 ++++++------- 7 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 .changeset/login-terms.md create mode 100644 apps/meteor/server/startup/migrations/v296.ts diff --git a/.changeset/login-terms.md b/.changeset/login-terms.md new file mode 100644 index 00000000000..861f34b7f82 --- /dev/null +++ b/.changeset/login-terms.md @@ -0,0 +1,7 @@ +--- +"@rocket.chat/meteor": patch +"@rocket.chat/web-ui-registration": patch +--- + +fix: Login Terms custom content +The custom layout Login Terms did not had any effect on the login screen, so it was changed to get the proper setting effect diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index 4185cc208db..938b12783af 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2815,6 +2815,7 @@ "Layout_Home_Title": "Home Title", "Layout_Legal_Notice": "Legal Notice", "Layout_Login_Terms": "Login Terms", + "Layout_Login_Terms_Content": "By proceeding you are agreeing to our Terms of Service, Privacy Policy and Legal Notice.", "Layout_Privacy_Policy": "Privacy Policy", "Layout_Show_Home_Button": "Show home page button on sidebar header", "Layout_Custom_Content_Description": "Here goes your custom content. It may be placed inside a white block or may take the all space available in the homepage, if you’re on Enterprise.", diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json index a50f1612727..57eb6128f0d 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/pt-BR.i18n.json @@ -2478,6 +2478,7 @@ "Layout_Home_Title": "Título da página inicial", "Layout_Legal_Notice": "Aviso legal", "Layout_Login_Terms": "Termos de login", + "Layout_Login_Terms_Content": "Ao continuar você está concordando com nossos Termos de Serviço, Política de Privacidade e Aviso Legal.", "Layout_Privacy_Policy": "Política de privacidade", "Layout_Show_Home_Button": "Exibir \"Botão da página inicial\"", "Layout_Sidenav_Footer": "Rodapé da navegação lateral", @@ -4985,4 +4986,4 @@ "RegisterWorkspace_Features_Omnichannel_Title": "Omnichannel", "RegisterWorkspace_Setup_Label": "E-mail da conta da nuvem", "cloud.RegisterWorkspace_Setup_Terms_Privacy": "Eu concordo com os <1>Termos e condições e a <3>Política de privacidade" -} \ No newline at end of file +} diff --git a/apps/meteor/server/settings/layout.ts b/apps/meteor/server/settings/layout.ts index d2b6cbeb705..58884e733b7 100644 --- a/apps/meteor/server/settings/layout.ts +++ b/apps/meteor/server/settings/layout.ts @@ -108,15 +108,12 @@ export const createLayoutSettings = () => multiline: true, public: true, }); - await this.add( - 'Layout_Login_Terms', - 'By proceeding you are agreeing to our Terms of Service, Privacy Policy and Legal Notice.', - { - type: 'string', - multiline: true, - public: true, - }, - ); + await this.add('Layout_Login_Terms', '', { + type: 'code', + code: 'text/html', + multiline: true, + public: true, + }); await this.add('Layout_Privacy_Policy', 'Privacy Policy
Go to APP SETTINGS → Layout to customize this page.', { type: 'code', code: 'text/html', diff --git a/apps/meteor/server/startup/migrations/index.ts b/apps/meteor/server/startup/migrations/index.ts index 0f316128bea..14395ee78a4 100644 --- a/apps/meteor/server/startup/migrations/index.ts +++ b/apps/meteor/server/startup/migrations/index.ts @@ -29,4 +29,5 @@ import './v292'; import './v293'; import './v294'; import './v295'; +import './v296'; import './xrun'; diff --git a/apps/meteor/server/startup/migrations/v296.ts b/apps/meteor/server/startup/migrations/v296.ts new file mode 100644 index 00000000000..a3a18e7bb30 --- /dev/null +++ b/apps/meteor/server/startup/migrations/v296.ts @@ -0,0 +1,21 @@ +import { Settings } from '@rocket.chat/models'; + +import { addMigration } from '../../lib/migrations'; +import { SystemLogger } from '../../lib/logger/system'; +import { settings } from '../../../app/settings/server'; + +addMigration({ + version: 296, + name: 'Reset the default value of Login Terms setting and replace by empty string', + async up() { + const oldLoginTermsValue = + 'By proceeding you are agreeing to our Terms of Service, Privacy Policy and Legal Notice.'; + + const loginTermsValue = settings.get('Layout_Login_Terms'); + + if (loginTermsValue === oldLoginTermsValue) { + await Settings.updateOne({ _id: 'Layout_Login_Terms' }, { $set: { value: '', packageValue: '' } }); + SystemLogger.warn(`The default value of the setting 'Login Terms' has changed to an empty string. Please review your settings.`); + } + }, +}); diff --git a/packages/web-ui-registration/src/components/LoginTerms.tsx b/packages/web-ui-registration/src/components/LoginTerms.tsx index 3d4c5e8009a..1a353a45de9 100644 --- a/packages/web-ui-registration/src/components/LoginTerms.tsx +++ b/packages/web-ui-registration/src/components/LoginTerms.tsx @@ -1,15 +1,16 @@ -import { Trans } from 'react-i18next'; import type { ReactElement } from 'react'; -import { Link, HorizontalWizardLayoutCaption } from '@rocket.chat/layout'; +import { HorizontalWizardLayoutCaption } from '@rocket.chat/layout'; +import { useSetting } from '@rocket.chat/ui-contexts'; +import { Box } from '@rocket.chat/fuselage'; +import { useTranslation } from 'react-i18next'; export const LoginTerms = (): ReactElement => { + const { t } = useTranslation(); + const loginTerms = useSetting('Layout_Login_Terms') as string; + return ( - , , ]} - /> + ); };