From 2461fb76a64b1b58ebee5f22b9e5a49a8fafce75 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 7 Dec 2017 15:15:30 +0100
Subject: [PATCH] schema for unfinished appointment list

---
 .../0089_unfinshed_appointment_list.py        | 98 +++++++++++++++++++
 1 file changed, 98 insertions(+)
 create mode 100644 smash/web/migrations/0089_unfinshed_appointment_list.py

diff --git a/smash/web/migrations/0089_unfinshed_appointment_list.py b/smash/web/migrations/0089_unfinshed_appointment_list.py
new file mode 100644
index 00000000..dabf6f9f
--- /dev/null
+++ b/smash/web/migrations/0089_unfinshed_appointment_list.py
@@ -0,0 +1,98 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.7 on 2017-12-05 16:50
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+# noinspection PyUnusedLocal
+# noinspection PyPep8Naming
+def create_default_columns_for_APPOINTMENT_LIST_UNFINISHED(apps, schema_editor):
+    # We can't import the Study model directly as it may be a newer
+    # version than this migration expects. We use the historical version.
+    SubjectColumns = apps.get_model("web", "SubjectColumns")
+    subject_columns = SubjectColumns.objects.create()
+    subject_columns.sex = False
+    subject_columns.first_name = True
+    subject_columns.last_name = True
+    subject_columns.languages = False
+    subject_columns.default_written_communication_language = False
+    subject_columns.phone_number = False
+    subject_columns.phone_number_2 = False
+    subject_columns.phone_number_3 = False
+    subject_columns.email = False
+    subject_columns.date_born = False
+    subject_columns.address = False
+    subject_columns.postal_code = False
+    subject_columns.city = False
+    subject_columns.country = False
+    subject_columns.dead = False
+    subject_columns.save()
+
+    StudyColumns = apps.get_model("web", "StudyColumns")
+    study_columns = StudyColumns.objects.create()
+    study_columns.postponed = False
+    study_columns.datetime_contact_reminder = False
+    study_columns.type = False
+    study_columns.default_location = True
+    study_columns.flying_team = True
+    study_columns.screening_number = False
+    study_columns.nd_number = False
+    study_columns.mpower_id = False
+    study_columns.comments = False
+    study_columns.referral = False
+    study_columns.diagnosis = False
+    study_columns.year_of_diagnosis = False
+    study_columns.information_sent = False
+    study_columns.pd_in_family = False
+    study_columns.resigned = False
+    study_columns.resign_reason = False
+    study_columns.save()
+
+    VisitColumns = apps.get_model("web", "VisitColumns")
+    visit_columns = VisitColumns.objects.create()
+    visit_columns.datetime_begin = True
+    visit_columns.datetime_end = False
+    visit_columns.is_finished = False
+    visit_columns.post_mail_sent = False
+    visit_columns.visit_number = True
+    visit_columns.visible_appointment_types = False
+    visit_columns.save()
+
+    AppointmentColumns = apps.get_model("web", "AppointmentColumns")
+    appointment_columns = AppointmentColumns.objects.create()
+    appointment_columns.flying_team = False
+    appointment_columns.worker_assigned = False
+    appointment_columns.appointment_types = True
+    appointment_columns.room = False
+    appointment_columns.location = False
+    appointment_columns.comment = False
+    appointment_columns.datetime_when = True
+    appointment_columns.length = False
+    appointment_columns.status = False
+    appointment_columns.post_mail_sent = False
+    appointment_columns.save()
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ('web', '0088_appointmentcolumns_appointmentlist'),
+    ]
+
+    operations = [
+        migrations.RunPython(create_default_columns_for_APPOINTMENT_LIST_UNFINISHED),
+        migrations.RunSQL('INSERT INTO web_appointmentlist (' +
+                          'study_id, ' +
+                          'visible_visit_columns_id, ' +
+                          'visible_subject_columns_id, ' +
+                          'visible_study_subject_columns_id, ' +
+                          'visible_appointment_columns_id, ' +
+                          'type) ' +
+                          "SELECT " +
+                          "1, " +
+                          "max(web_visitcolumns.id), " +
+                          "max(web_subjectcolumns.id), " +
+                          "max(web_studycolumns.id), " +
+                          "max(web_appointmentcolumns.id), " +
+                          "'UNFINISHED' FROM web_visitcolumns, web_studycolumns, web_subjectcolumns, web_appointmentcolumns;"),
+    ]
-- 
GitLab