diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index cd312622a3..515de386bf 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -18,6 +18,7 @@ "accept_invitation": "", "accept_or_reject_each_changes_individually": "", "accepted_invite": "", + "access_denied": "", "account_has_been_link_to_institution_account": "", "account_has_past_due_invoice_change_plan_warning": "", "account_managed_by_group_administrator": "", @@ -469,6 +470,7 @@ "hotkey_undo": "", "hotkeys": "", "i_want_to_stay": "", + "if_error_persists_try_relinking_provider": "", "ignore_validation_errors": "", "ill_take_it": "", "image_file": "", @@ -683,7 +685,6 @@ "on": "", "on_free_plan_upgrade_to_access_features": "", "only_group_admin_or_managers_can_delete_your_account": "", - "only_importer_can_refresh": "", "open_project": "", "optional": "", "or": "", @@ -940,7 +941,6 @@ "showing_x_out_of_n_projects": "", "showing_x_results": "", "showing_x_results_of_total": "", - "something_not_right": "", "something_went_wrong_loading_pdf_viewer": "", "something_went_wrong_processing_the_request": "", "something_went_wrong_rendering_pdf": "", @@ -1084,7 +1084,6 @@ "try_it_for_free": "", "try_premium_for_free": "", "try_recompile_project_or_troubleshoot": "", - "try_relinking_provider": "", "try_to_compile_despite_errors": "", "turn_off_link_sharing": "", "turn_on_link_sharing": "", diff --git a/services/web/frontend/js/features/file-view/components/file-view-header.js b/services/web/frontend/js/features/file-view/components/file-view-header.js index da1fbb93a6..154860390e 100644 --- a/services/web/frontend/js/features/file-view/components/file-view-header.js +++ b/services/web/frontend/js/features/file-view/components/file-view-header.js @@ -7,8 +7,6 @@ import { formatTime, relativeDate } from '../../utils/format-date' import { postJSON } from '../../../infrastructure/fetch-json' import { useEditorContext } from '../../../shared/context/editor-context' import { useProjectContext } from '../../../shared/context/project-context' -import { useUserContext } from '../../../shared/context/user-context' -import { capitalize } from 'lodash' import importOverleafModules from '../../../../macros/import-overleaf-module.macro' import useAbortController from '../../../shared/hooks/use-abort-controller' @@ -42,7 +40,6 @@ export default function FileViewHeader({ file, storeReferencesKeys }) { const { permissionsLevel } = useEditorContext({ permissionsLevel: PropTypes.string, }) - const { id: userId } = useUserContext() const { t } = useTranslation() const [refreshing, setRefreshing] = useState(false) @@ -51,9 +48,7 @@ export default function FileViewHeader({ file, storeReferencesKeys }) { const { signal } = useAbortController() let fileInfo - let isImporter if (file.linkedFileData) { - isImporter = file.linkedFileData.importer_id === userId if (file.linkedFileData.provider === 'url') { fileInfo = (
@@ -122,9 +117,9 @@ export default function FileViewHeader({ file, storeReferencesKeys }) { ))} {file.linkedFileData && permissionsLevel !== 'readOnly' && ( -
+
+ {t('access_denied')}: {refreshError} + {tprLinkedFileRefreshError.map( + ({ import: { LinkedFileRefreshError }, path }) => ( + + ) + )}
)} diff --git a/services/web/locales/de.json b/services/web/locales/de.json index 8a4fb71991..a19827b024 100644 --- a/services/web/locales/de.json +++ b/services/web/locales/de.json @@ -553,6 +553,7 @@ "how_to_insert_images": "So fügst du Bilder ein", "hundreds_templates_info": "Erstelle schöne Dokumente ausgehend von unserer Galerie mit LaTeX-Vorlagen für Zeitschriften, Konferenzen, Abschlussarbeiten, Berichte, Lebensläufe und vieles mehr.", "i_want_to_stay": "Ich möchte bleiben", + "if_error_persists_try_relinking_provider": "Wenn dieser Fehler weiterhin besteht, versuche, dein __provider__-Konto hier erneut zu verknüpfen", "if_have_existing_can_link": "Wenn du ein vorhandenes __appName__-Konto mit einer anderen E-Mail-Adresse hast, kannst du es mit deinem __institutionName__-Konto verknüpfen, indem du auf „__clickText__“ klickst.", "if_owner_can_link": "Wenn du das __appName__ Konto mit __email__ besitzt, kannst du es mit deinem institutionellen Konto __institutionName__ verknüpfen.", "ignore_and_continue_institution_linking": "Du kannst dies auch ignorieren und weiter zu __appName__ mit deinem __email__-Konto gehen.", diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 6a73b5be5f..3d58849c92 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -734,6 +734,7 @@ "how_to_insert_images": "How to insert images", "hundreds_templates_info": "Produce beautiful documents starting from our gallery of LaTeX templates for journals, conferences, theses, reports, CVs and much more.", "i_want_to_stay": "I want to stay", + "if_error_persists_try_relinking_provider": "If this error persists, try re-linking your __provider__ account here", "if_have_existing_can_link": "If you have an existing __appName__ account on another email, you can link it to your __institutionName__ account by clicking __clickText__.", "if_owner_can_link": "If you own the __appName__ account with __email__, you will be allowed to link it to your __institutionName__ institutional account.", "ignore_and_continue_institution_linking": "You can also ignore this and continue to __appName__ with your __email__ account.", @@ -1094,7 +1095,6 @@ "one_free_collab": "One free collaborator", "online_latex_editor": "Online LaTeX Editor", "only_group_admin_or_managers_can_delete_your_account": "Only your group admin or group managers will be able to delete your account.", - "only_importer_can_refresh": "Only the person who originally imported this __provider__ file can refresh it.", "open_a_file_on_the_left": "Open a file on the left", "open_as_template": "Open as Template", "open_project": "Open Project", @@ -1476,7 +1476,6 @@ "skip_to_content": "Skip to content", "sl_gives_you_free_stuff_see_progress_below": "When someone starts using __appName__ after your recommendation we’ll give you some free stuff to say thanks! Check your progress below.", "sl_included_history_of_changes_blurb": "__appName__ includes a history of all of your changes so you can see exactly who changed what, and when. This makes it extremely easy to keep up to date with any progress made by your collaborators and allows you to review recent work.", - "something_not_right": "Something’s not right", "something_went_wrong_canceling_your_subscription": "Something went wrong canceling your subscription. Please contact support.", "something_went_wrong_loading_pdf_viewer": "Something went wrong loading the PDF viewer. This might be caused by issues like <0>temporary network problems or an <0>outdated web browser. Please follow the <1>troubleshooting steps for access, loading and display problems. If the issue persists, please <2>let us know.", "something_went_wrong_processing_the_request": "Something went wrong processing the request", @@ -1683,7 +1682,6 @@ "try_now": "Try Now", "try_premium_for_free": "Try Premium for free", "try_recompile_project_or_troubleshoot": "Please try recompiling the project from scratch, and if that doesn’t help, follow our <0>troubleshooting guide.", - "try_relinking_provider": "It looks like you need to re-link your __provider__ account.", "try_to_compile_despite_errors": "Try to compile despite errors", "turn_off_link_sharing": "Turn off link sharing", "turn_on_link_sharing": "Turn on link sharing", diff --git a/services/web/locales/fr.json b/services/web/locales/fr.json index 5705e94b54..c7ee82a778 100644 --- a/services/web/locales/fr.json +++ b/services/web/locales/fr.json @@ -458,6 +458,7 @@ "hotkeys": "Raccourcis clavier", "hundreds_templates_info": "Créez de magnifiques documents en vous basant sur notre galerie de modèles LaTeX pour les revues, conférences, thèses, rapports, CV et bien plus encore.", "i_want_to_stay": "Je veux rester", + "if_error_persists_try_relinking_provider": "Si cette erreur persiste, essayez de lier à nouveau votre compte ici", "if_have_existing_can_link": "Si vous avez déjà un compte __appName__ sur une autre adresse courriel, vous pouvez le lier à votre compte __institutionName__ en cliquant __clickText.", "if_owner_can_link": "Si vous possédez le compte __appName__ ayant pour adresse __email__, vous serez autorisé à le lier à votre compte institutionnel __institutionName__.", "ignore_and_continue_institution_linking": "Vous pouvez également ignorer ceci et continuer vers __appName__ avec votre compte __email__.", diff --git a/services/web/locales/zh-CN.json b/services/web/locales/zh-CN.json index b932ff9810..9cfab63a29 100644 --- a/services/web/locales/zh-CN.json +++ b/services/web/locales/zh-CN.json @@ -454,6 +454,7 @@ "hotkeys": "快捷键", "hundreds_templates_info": "从我们的 LaTeX 模板库开始,为期刊、会议、论文、报告、简历等制作漂亮的文档。", "i_want_to_stay": "我要留下", + "if_error_persists_try_relinking_provider": "如果此错误仍然存在,请尝试在此处重新链接您的__provider__帐户", "if_have_existing_can_link": "如果您在另一封电子邮件中有一个现有的 __appName__ 帐户,您可以通过单击 __clickText__ 将其链接到您的 __institutionName__ 账户。", "if_owner_can_link": "如果您在__appName__拥有账户__email__,您可以将其链接到您的 __institutionName__ 机构帐户。", "ignore_and_continue_institution_linking": "您也可以忽略此项,然后继续在 __appName__ 上使用您的 __email__ 帐户。", diff --git a/services/web/test/frontend/features/file-view/components/file-view-header.test.js b/services/web/test/frontend/features/file-view/components/file-view-header.test.js index 0973292327..6789462a3d 100644 --- a/services/web/test/frontend/features/file-view/components/file-view-header.test.js +++ b/services/web/test/frontend/features/file-view/components/file-view-header.test.js @@ -27,19 +27,6 @@ describe('', function () { source_project_id: 'source-project-id', source_entity_path: '/source-entity-path.ext', provider: 'project_file', - importer_id: '123abd', - }, - created: new Date(2021, 1, 17, 3, 24).toISOString(), - } - - const notOrignalImporterFile = { - name: 'references.bib', - linkedFileData: { - v1_source_doc_id: 'v1-source-id', - source_project_id: 'source-project-id', - source_entity_path: '/source-entity-path.ext', - provider: 'project_file', - importer_id: '123abc', }, created: new Date(2021, 1, 17, 3, 24).toISOString(), } @@ -58,7 +45,6 @@ describe('', function () { name: 'example.tex', linkedFileData: { provider: 'zotero', - importer_id: '123abd', }, created: new Date(2021, 1, 17, 3, 24).toISOString(), } @@ -117,13 +103,11 @@ describe('', function () { {}} /> ) - const refreshButton = screen.getByRole('button', { name: 'Refresh' }) - fireEvent.click(refreshButton) + fireEvent.click(screen.getByRole('button', { name: 'Refresh' })) await waitForElementToBeRemoved(() => screen.getByText('Refreshing', { exact: false }) ) - await screen.findByText('Refresh') }) @@ -153,38 +137,14 @@ describe('', function () { /> ) - const refreshButton = screen.getByRole('button', { name: 'Refresh' }) - fireEvent.click(refreshButton) + fireEvent.click(screen.getByRole('button', { name: 'Refresh' })) await waitForElementToBeRemoved(() => screen.getByText('Refreshing', { exact: false }) ) expect(fetchMock.done()).to.be.true - expect(storeReferencesKeys).to.have.been.calledWith(reindexResponse.keys) - }) - - it('Displays message when user is not original importer', function () { - renderWithEditorContext( - {}} - /> - ) - - const refreshButton = screen.getByRole('button', { name: 'Refresh' }) - if (refreshButton.disabled) { - const textBefore = screen.getByText( - 'Only the person who originally imported this', - { exact: false } - ) - expect(textBefore).to.exist - - const textAfter = screen.getByText('file can refresh it', { - exact: false, - }) - expect(textAfter).to.exist - } + expect(storeReferencesKeys).to.be.calledWith(reindexResponse.keys) }) })