diff --git a/specifyweb/backend/workbench/tests.py b/specifyweb/backend/workbench/tests.py
index 8a452c79416..92da19098f1 100644
--- a/specifyweb/backend/workbench/tests.py
+++ b/specifyweb/backend/workbench/tests.py
@@ -118,3 +118,57 @@ def test_create_record_set(self) -> None:
rs = Recordset.objects.get(id=recordset_id)
self.assertEqual(rs.recordsetitems.count(), 3)
+
+ # [WorkBench] Preserve imported data and mapping after reopening a dataset
+ def test_preserve_imported_data_and_mapping(self) -> None:
+ client = Client()
+ client.force_login(self.specifyuser)
+
+ columns = ["Catalog Number", "Remarks"]
+ rows = [["123", "First row"], ["456", "Second row"]]
+ uploadplan = {
+ "baseTableName": "collectionobject",
+ "uploadable": {
+ "uploadTable": {
+ "wbcols": {
+ "catalognumber": "Catalog Number",
+ "remarks": "Remarks",
+ },
+ "static": {},
+ "toOne": {},
+ "toMany": {},
+ }
+ },
+ }
+
+ response = client.post(
+ "/api/workbench/dataset/",
+ data={
+ "name": "Imported dataset",
+ "columns": columns,
+ "rows": rows,
+ "importedfilename": "records.csv",
+ },
+ content_type="application/json",
+ )
+ self.assertEqual(response.status_code, 201)
+ datasetid = json.loads(response.content)["id"]
+
+ response = client.put(
+ f"/api/workbench/dataset/{datasetid}/",
+ data={"uploadplan": uploadplan},
+ content_type="application/json",
+ )
+ self.assertEqual(response.status_code, 204)
+
+ response = client.get(f"/api/workbench/dataset/{datasetid}/")
+ self.assertEqual(response.status_code, 200)
+ dataset = json.loads(response.content)
+
+ self.assertEqual(dataset["columns"], columns)
+ self.assertEqual(
+ dataset["rows"],
+ [row + [""] for row in rows],
+ )
+ self.assertEqual(dataset["uploadplan"], uploadplan)
+
\ No newline at end of file
diff --git a/specifyweb/frontend/js_src/lib/components/Errors/ErrorDialog.tsx b/specifyweb/frontend/js_src/lib/components/Errors/ErrorDialog.tsx
index 33dee9aec75..788a316f603 100644
--- a/specifyweb/frontend/js_src/lib/components/Errors/ErrorDialog.tsx
+++ b/specifyweb/frontend/js_src/lib/components/Errors/ErrorDialog.tsx
@@ -48,9 +48,7 @@ const errorBody = (
),
discourseLink: (label): JSX.Element => (
-
- {label}
-
+ {label}
),
}}
string={mainText.errorResolutionSecondDescription()}
diff --git a/specifyweb/frontend/js_src/lib/components/SetupTool/setupResources.ts b/specifyweb/frontend/js_src/lib/components/SetupTool/setupResources.ts
index 64360d3c645..aeb037e1ed3 100644
--- a/specifyweb/frontend/js_src/lib/components/SetupTool/setupResources.ts
+++ b/specifyweb/frontend/js_src/lib/components/SetupTool/setupResources.ts
@@ -156,8 +156,7 @@ export const resources: RA = [
resourceName: 'institution',
label: setupToolText.institution(),
description: setupToolText.institutionDescription(),
- documentationUrl:
- 'https://speciforum.org/t/guided-setup/3234',
+ documentationUrl: 'https://speciforum.org/t/guided-setup/3234',
fields: [
{
name: 'name',
diff --git a/specifyweb/frontend/js_src/lib/components/WbUtils/datasetVariants.tsx b/specifyweb/frontend/js_src/lib/components/WbUtils/datasetVariants.tsx
index dd8ca3826a8..76a5757f362 100644
--- a/specifyweb/frontend/js_src/lib/components/WbUtils/datasetVariants.tsx
+++ b/specifyweb/frontend/js_src/lib/components/WbUtils/datasetVariants.tsx
@@ -55,8 +55,7 @@ const baseWbVariant = {
doSuccessful: wbText.uploadSuccessful(),
},
},
- documentationUrl:
- 'https://speciforum.org/t/the-specify-7-workbench/540',
+ documentationUrl: 'https://speciforum.org/t/the-specify-7-workbench/540',
} as const;
// Defines a shared interface to access dataset variants
@@ -145,8 +144,7 @@ export const datasetVariants = {
route: (id: number) => `/specify/attachments/import/${id}`,
// Actually, in retrorespect, this would be a nice feature
metaRoute: f.never,
- documentationUrl:
- 'https://speciforum.org/t/batch-attachment-uploader/1374',
+ documentationUrl: 'https://speciforum.org/t/batch-attachment-uploader/1374',
},
} as const;
diff --git a/specifyweb/frontend/js_src/lib/localization/utils/validateWeblate.ts b/specifyweb/frontend/js_src/lib/localization/utils/validateWeblate.ts
index d37b73ddf9b..40c6123a697 100644
--- a/specifyweb/frontend/js_src/lib/localization/utils/validateWeblate.ts
+++ b/specifyweb/frontend/js_src/lib/localization/utils/validateWeblate.ts
@@ -96,7 +96,6 @@ const doFetch = async (url: string): Promise> =>
headers: { Authorization: getToken() },
}).then(async (response) => response.json());
-
const fetchComponents = async (
url = componentsApiUrl
): Promise>> =>