Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
0086_unfinished_visit_list.py 3.41 KiB
# -*- 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, models

# noinspection PyUnusedLocal
# noinspection PyPep8Naming
def create_default_columns_for_VISIT_LIST_EXCEEDED_TIME(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 = False
    visit_columns.datetime_end = True
    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()

class Migration(migrations.Migration):

    dependencies = [
        ('web', '0085_auto_20171205_1650'),
    ]

    operations = [
        migrations.RunPython(create_default_columns_for_VISIT_LIST_EXCEEDED_TIME),
        migrations.RunSQL('INSERT INTO web_studyvisitlist (' +
                          'study_id, ' +
                          'visible_visit_columns_id, ' +
                          'visible_subject_columns_id, ' +
                          'visible_study_subject_columns_id, ' +
                          'visible_appointment_types_done,'
                          'visible_appointment_types_in_progress,'
                          'visible_appointment_types_missing,'
                          'type) ' +
                          "SELECT " +
                          "1, " +
                          "max(web_visitcolumns.id), " +
                          "max(web_subjectcolumns.id), " +
                          "max(web_studycolumns.id), " +
                          "TRUE, " +
                          "TRUE, " +
                          "TRUE, " +
                          "'UNFINISHED' FROM web_visitcolumns, web_studycolumns, web_subjectcolumns;"),
    ]