From b959851dc83f07638de27b82b1edf96f8e0febb9 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 25 Jan 2021 15:34:00 +0100
Subject: [PATCH] allow to edit language import column name

---
 smash/web/forms/subject_import_data_form.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/smash/web/forms/subject_import_data_form.py b/smash/web/forms/subject_import_data_form.py
index 7c49b512..94f07fab 100644
--- a/smash/web/forms/subject_import_data_form.py
+++ b/smash/web/forms/subject_import_data_form.py
@@ -1,7 +1,7 @@
 from django import forms
 from django.forms import ModelForm
 
-from web.models import SubjectImportData, Subject, StudySubject
+from web.models import SubjectImportData, Subject, StudySubject, Language
 
 
 class SubjectImportDataEditForm(ModelForm):
@@ -16,7 +16,8 @@ class SubjectImportDataEditForm(ModelForm):
             for field in Subject._meta.get_fields():
                 if field.get_internal_type() == "CharField" or \
                         field.get_internal_type() == "DateField" or \
-                        field.get_internal_type() == "TextField":
+                        field.get_internal_type() == "TextField" or \
+                        (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                     field_id = Subject._meta.db_table + " - " + field.name
                     value = field.name
                     for mapping in instance.column_mappings.all():
@@ -27,7 +28,8 @@ class SubjectImportDataEditForm(ModelForm):
             for field in StudySubject._meta.get_fields():
                 if field.get_internal_type() == "CharField" or \
                         field.get_internal_type() == "DateField" or \
-                        field.get_internal_type() == "TextField":
+                        field.get_internal_type() == "TextField" or \
+                        (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                     field_id = StudySubject._meta.db_table + " - " + field.name
                     value = field.name
                     for mapping in instance.column_mappings.all():
@@ -42,7 +44,8 @@ class SubjectImportDataEditForm(ModelForm):
         for field in Subject._meta.get_fields():
             if field.get_internal_type() == "CharField" or \
                     field.get_internal_type() == "DateField" or \
-                    field.get_internal_type() == "TextField":
+                    field.get_internal_type() == "TextField" or \
+                    (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                 field_id = Subject._meta.db_table + " - " + field.name
                 value = self[field_id].value()
                 instance.set_column_mapping(Subject, field.name, value)
@@ -50,7 +53,8 @@ class SubjectImportDataEditForm(ModelForm):
         for field in StudySubject._meta.get_fields():
             if field.get_internal_type() == "CharField" or \
                     field.get_internal_type() == "DateField" or \
-                    field.get_internal_type() == "TextField":
+                    field.get_internal_type() == "TextField" or \
+                    (field.get_internal_type() == "ForeignKey" and field.related_model in (Language,)):
                 field_id = StudySubject._meta.db_table + " - " + field.name
                 value = self[field_id].value()
                 instance.set_column_mapping(StudySubject, field.name, value)
-- 
GitLab