From c3f0c7b5c73163733cd4d19e8e325442a1cc37e0 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 25 Jan 2021 15:54:24 +0100
Subject: [PATCH] don't forget to modify Language on update

---
 smash/web/importer/importer.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/smash/web/importer/importer.py b/smash/web/importer/importer.py
index e30323dd..9cb1b299 100644
--- a/smash/web/importer/importer.py
+++ b/smash/web/importer/importer.py
@@ -3,7 +3,7 @@ import logging
 import sys
 import traceback
 
-from web.models import StudySubject, Subject
+from web.models import StudySubject, Subject, Language
 from .etl_common import EtlCommon
 from .subject_import_reader import SubjectImportReader
 from .warning_counter import MsgCounterHandler
@@ -55,7 +55,9 @@ class Importer(EtlCommon):
             for field in Subject._meta.get_fields():
                 if field.get_internal_type() == "CharField" or \
                         field.get_internal_type() == "DateField" or \
-                        field.get_internal_type() == "BooleanField":
+                        field.get_internal_type() == "BooleanField" or \
+                        field.get_internal_type() == "TextField" or \
+                        (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                     old_value = getattr(db_study_subject.subject, field.name)
                     new_value = self.get_new_value(old_value, getattr(study_subject.subject, field.name))
                     self.create_provenance_and_change_data(db_study_subject.subject, field.name, new_value, Subject)
@@ -64,7 +66,9 @@ class Importer(EtlCommon):
             for field in StudySubject._meta.get_fields():
                 if field.get_internal_type() == "CharField" or \
                         field.get_internal_type() == "DateField" or \
-                        field.get_internal_type() == "BooleanField":
+                        field.get_internal_type() == "BooleanField" or \
+                        field.get_internal_type() == "TextField" or \
+                        (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                     old_value = getattr(db_study_subject, field.name)
                     new_value = self.get_new_value(old_value, getattr(study_subject, field.name))
                     self.create_provenance_and_change_data(db_study_subject, field.name, new_value, StudySubject)
-- 
GitLab