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 0000000000000000000000000000000000000000..dabf6f9fa77d3e3451c41225cb9dfaf64df310a5 --- /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;"), + ]