From 7d04de0cd1728a61551f689acdfe9c5d82371984 Mon Sep 17 00:00:00 2001
From: Florian Spreckelsen <f.spreckelsen@indiscale.com>
Date: Fri, 7 Feb 2025 13:43:27 +0100
Subject: [PATCH] ENH: Add special properties treatment for samples

---
 .../sample_upload_add_special_properties.py           | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
index 2242305..b4e1330 100644
--- a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
+++ b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_add_special_properties.py
@@ -44,6 +44,15 @@ def add_special_properties(sample: db.Record, data: pd.Series) -> db.Record:
             return_value_if_not_none(data[get_column_header_name("Storage ID")]) is not None):
         container = get_container(return_value_if_not_none(
             data[get_column_header_name("Storage ID")]))
-        sample = update_property(sample, container_rt.id, contianer)
+        sample = update_property(sample, container_rt.id, container)
+
+    for name in ["Curator", "Collector"]:
+        prop = db.get_entity_by_name(name)
+        if (get_column_header_name(name) in data and
+                return_value_if_not_none(data[get_column_header_name(name)]) is not None):
+            persons = [get_person(id_str) for id_str in return_value_if_not_none(
+                data[get_column_header_name(name)])]
+            sample = update_property(sample, prop.id, persons,
+                                     datatype=db.LIST(get_entity_name("Person")))
 
     return sample
-- 
GitLab