diff --git a/web/template/admin/admin_tabs/course-import.gohtml b/web/template/admin/admin_tabs/course-import.gohtml
index ea3e189e9..b204b309c 100644
--- a/web/template/admin/admin_tabs/course-import.gohtml
+++ b/web/template/admin/admin_tabs/course-import.gohtml
@@ -76,21 +76,21 @@
diff --git a/web/ts/course-import.ts b/web/ts/course-import.ts
index 19477089d..170f35f8b 100644
--- a/web/ts/course-import.ts
+++ b/web/ts/course-import.ts
@@ -44,3 +44,17 @@ export function addNotifyEventListeners() {
window.location.replace("/");
});
}
+
+//The data coming from TUMonline sometimes duplicates contacts of some courses. course.contacts has 5 attributes:
+//first_name, last_name, email, main_contact, role.
+//All cases considered, the most distinctive among them is e-mail and duplicates are eliminated accordingly.
+export function filterUniqueContacts(contacts) {
+ const uniqueEmails = new Set();
+ return contacts.filter((contact) => {
+ if (!uniqueEmails.has(contact.email)) {
+ uniqueEmails.add(contact.email);
+ return true;
+ }
+ return false;
+ });
+}