diff --git a/smash/web/migrations/0177_auto_20201116_1250.py b/smash/web/migrations/0177_auto_20201116_1250.py new file mode 100644 index 0000000000000000000000000000000000000000..1e526f650b99425eab5171eae7cb42cc582f9a5a --- /dev/null +++ b/smash/web/migrations/0177_auto_20201116_1250.py @@ -0,0 +1,1356 @@ +# Generated by Django 2.0.13 on 2020-11-16 12:50 + +import django.core.files.storage +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('web', '0176_customstudysubjectfield_customstudysubjectvalue'), + ] + + operations = [ + migrations.AlterField( + model_name='appointment', + name='appointment_types', + field=models.ManyToManyField(blank=True, related_name='new_appointment', through='web.AppointmentTypeLink', to='web.AppointmentType', verbose_name='Appointment types'), + ), + migrations.AlterField( + model_name='appointment', + name='post_mail_sent', + field=models.BooleanField(default=False, verbose_name='Post mail sent'), + ), + migrations.AlterField( + model_name='appointment', + name='status', + field=models.CharField(choices=[('SCHEDULED', 'Scheduled'), ('FINISHED', 'Finished'), ('CANCELLED', 'Cancelled'), ('NO_SHOW', 'No Show')], default='SCHEDULED', max_length=20, verbose_name='Status'), + ), + migrations.AlterField( + model_name='appointment', + name='visit', + field=models.ForeignKey(blank=True, editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Visit', verbose_name='Visit ID'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='appointment_types', + field=models.BooleanField(default=True, verbose_name='Appointment types'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='comment', + field=models.BooleanField(default=False, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='datetime_when', + field=models.BooleanField(default=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='flying_team', + field=models.BooleanField(default=False, verbose_name='Flying team'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='length', + field=models.BooleanField(default=False, verbose_name='Appointment length'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='location', + field=models.BooleanField(default=False, verbose_name='Location'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='post_mail_sent', + field=models.BooleanField(default=False, verbose_name='Post mail sent'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='room', + field=models.BooleanField(default=False, verbose_name='Room'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='status', + field=models.BooleanField(default=False, verbose_name='Status'), + ), + migrations.AlterField( + model_name='appointmentcolumns', + name='worker_assigned', + field=models.BooleanField(default=False, verbose_name='Worker conducting the assessment'), + ), + migrations.AlterField( + model_name='appointmentlist', + name='type', + field=models.CharField(choices=[('GENERIC', 'Generic'), ('UNFINISHED', 'Unfinished'), ('APPROACHING', 'Approaching')], max_length=50, verbose_name='Type of list'), + ), + migrations.AlterField( + model_name='appointmenttype', + name='calendar_font_color', + field=models.CharField(default='#00000', max_length=2000, verbose_name='Calendar font color'), + ), + migrations.AlterField( + model_name='availability', + name='available_from', + field=models.TimeField(verbose_name='Available from'), + ), + migrations.AlterField( + model_name='availability', + name='available_till', + field=models.TimeField(verbose_name='Available until'), + ), + migrations.AlterField( + model_name='availability', + name='day_number', + field=models.IntegerField(choices=[(1, 'MONDAY'), (2, 'TUESDAY'), (3, 'WEDNESDAY'), (4, 'THURSDAY'), (5, 'FRIDAY'), (6, 'SATURDAY'), (7, 'SUNDAY')], verbose_name='Day of the week'), + ), + migrations.AlterField( + model_name='availability', + name='person', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker'), + ), + migrations.AlterField( + model_name='configurationitem', + name='name', + field=models.CharField(editable=False, max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='configurationitem', + name='type', + field=models.CharField(editable=False, max_length=50, verbose_name='Type'), + ), + migrations.AlterField( + model_name='configurationitem', + name='value', + field=models.CharField(max_length=1024, verbose_name='Value'), + ), + migrations.AlterField( + model_name='contactattempt', + name='datetime_when', + field=models.DateTimeField(help_text='When did the contact occurred?', verbose_name='When'), + ), + migrations.AlterField( + model_name='contactattempt', + name='subject', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.StudySubject', verbose_name='Subject'), + ), + migrations.AlterField( + model_name='contactattempt', + name='type', + field=models.CharField(choices=[('E', 'Email'), ('M', 'Post mail'), ('F', 'Face to face'), ('X', 'Fax'), ('P', 'Phone'), ('S', 'SMS')], default='P', max_length=2), + ), + migrations.AlterField( + model_name='contactattempt', + name='worker', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker'), + ), + migrations.AlterField( + model_name='customstudysubjectfield', + name='type', + field=models.CharField(choices=[('TEXT', 'Text'), ('BOOL', 'Boolean (True/False)'), ('INTEGER', 'Integer'), ('DOUBLE', 'Double (real number)'), ('DATE', 'Date'), ('SELECT_LIST', 'Select list'), ('FILE', 'File')], max_length=20), + ), + migrations.AlterField( + model_name='holiday', + name='info', + field=models.TextField(blank=True, max_length=2000, verbose_name='Comments'), + ), + migrations.AlterField( + model_name='holiday', + name='kind', + field=models.CharField(choices=[('H', 'Holiday'), ('X', 'Extra Availability')], default='H', help_text='Defines the kind of availability. Either Holiday or Extra Availability.', max_length=1), + ), + migrations.AlterField( + model_name='inconsistentfield', + name='inconsistent_subject', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='web.InconsistentSubject', verbose_name='Invalid fields'), + ), + migrations.AlterField( + model_name='inconsistentfield', + name='name', + field=models.CharField(max_length=255, verbose_name='Field name'), + ), + migrations.AlterField( + model_name='inconsistentfield', + name='redcap_value', + field=models.CharField(max_length=255, verbose_name='RED Cap value'), + ), + migrations.AlterField( + model_name='inconsistentfield', + name='smash_value', + field=models.CharField(max_length=255, verbose_name='Smash value'), + ), + migrations.AlterField( + model_name='inconsistentsubject', + name='redcap_url', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='URL to RED Cap subject'), + ), + migrations.AlterField( + model_name='inconsistentsubject', + name='subject', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.StudySubject', verbose_name='Subject'), + ), + migrations.AlterField( + model_name='language', + name='image', + field=models.ImageField(upload_to=''), + ), + migrations.AlterField( + model_name='language', + name='locale', + field=models.CharField(choices=[('af_ZA', 'af_ZA'), ('am_ET', 'am_ET'), ('ar_AE', 'ar_AE'), ('ar_BH', 'ar_BH'), ('ar_DZ', 'ar_DZ'), ('ar_EG', 'ar_EG'), ('ar_IQ', 'ar_IQ'), ('ar_JO', 'ar_JO'), ('ar_KW', 'ar_KW'), ('ar_LB', 'ar_LB'), ('ar_LY', 'ar_LY'), ('ar_MA', 'ar_MA'), ('ar_OM', 'ar_OM'), ('ar_QA', 'ar_QA'), ('ar_SA', 'ar_SA'), ('ar_SY', 'ar_SY'), ('ar_TN', 'ar_TN'), ('ar_YE', 'ar_YE'), ('arn_CL', 'arn_CL'), ('as_IN', 'as_IN'), ('az_AZ', 'az_AZ'), ('az_AZ', 'az_AZ'), ('ba_RU', 'ba_RU'), ('be_BY', 'be_BY'), ('bg_BG', 'bg_BG'), ('bn_IN', 'bn_IN'), ('bo_BT', 'bo_BT'), ('bo_CN', 'bo_CN'), ('br_FR', 'br_FR'), ('bs_BA', 'bs_BA'), ('bs_BA', 'bs_BA'), ('ca_ES', 'ca_ES'), ('co_FR', 'co_FR'), ('cs_CZ', 'cs_CZ'), ('cy_GB', 'cy_GB'), ('da_DK', 'da_DK'), ('de_AT', 'de_AT'), ('de_CH', 'de_CH'), ('de_DE', 'de_DE'), ('de_LI', 'de_LI'), ('de_LU', 'de_LU'), ('div_MV', 'div_MV'), ('dsb_DE', 'dsb_DE'), ('el_GR', 'el_GR'), ('en_AU', 'en_AU'), ('en_BZ', 'en_BZ'), ('en_CA', 'en_CA'), ('en_CB', 'en_CB'), ('en_GB', 'en_GB'), ('en_IE', 'en_IE'), ('en_IN', 'en_IN'), ('en_IN', 'en_IN'), ('en_JA', 'en_JA'), ('en_MY', 'en_MY'), ('en_NZ', 'en_NZ'), ('en_PH', 'en_PH'), ('en_TT', 'en_TT'), ('en_US', 'en_US'), ('en_ZA', 'en_ZA'), ('en_ZW', 'en_ZW'), ('es_AR', 'es_AR'), ('es_BO', 'es_BO'), ('es_CL', 'es_CL'), ('es_CO', 'es_CO'), ('es_CR', 'es_CR'), ('es_DO', 'es_DO'), ('es_EC', 'es_EC'), ('es_ES', 'es_ES'), ('es_ES', 'es_ES'), ('es_GT', 'es_GT'), ('es_HN', 'es_HN'), ('es_MX', 'es_MX'), ('es_NI', 'es_NI'), ('es_PA', 'es_PA'), ('es_PE', 'es_PE'), ('es_PR', 'es_PR'), ('es_PY', 'es_PY'), ('es_SV', 'es_SV'), ('es_UR', 'es_UR'), ('es_US', 'es_US'), ('es_VE', 'es_VE'), ('et_EE', 'et_EE'), ('eu_ES', 'eu_ES'), ('fa_IR', 'fa_IR'), ('fi_FI', 'fi_FI'), ('fil_PH', 'fil_PH'), ('fo_FO', 'fo_FO'), ('fr_BE', 'fr_BE'), ('fr_CA', 'fr_CA'), ('fr_CH', 'fr_CH'), ('fr_FR', 'fr_FR'), ('fr_LU', 'fr_LU'), ('fr_MC', 'fr_MC'), ('fy_NL', 'fy_NL'), ('ga_IE', 'ga_IE'), ('gbz_AF', 'gbz_AF'), ('gl_ES', 'gl_ES'), ('gsw_FR', 'gsw_FR'), ('gu_IN', 'gu_IN'), ('ha_NG', 'ha_NG'), ('he_IL', 'he_IL'), ('hi_IN', 'hi_IN'), ('hr_BA', 'hr_BA'), ('hr_HR', 'hr_HR'), ('hu_HU', 'hu_HU'), ('hy_AM', 'hy_AM'), ('id_ID', 'id_ID'), ('ii_CN', 'ii_CN'), ('is_IS', 'is_IS'), ('it_CH', 'it_CH'), ('it_IT', 'it_IT'), ('iu_CA', 'iu_CA'), ('iu_CA', 'iu_CA'), ('ja_JP', 'ja_JP'), ('ka_GE', 'ka_GE'), ('kh_KH', 'kh_KH'), ('kk_KZ', 'kk_KZ'), ('kl_GL', 'kl_GL'), ('kn_IN', 'kn_IN'), ('ko_KR', 'ko_KR'), ('kok_IN', 'kok_IN'), ('ky_KG', 'ky_KG'), ('lb_LU', 'lb_LU'), ('lo_LA', 'lo_LA'), ('lt_LT', 'lt_LT'), ('lv_LV', 'lv_LV'), ('mi_NZ', 'mi_NZ'), ('mk_MK', 'mk_MK'), ('ml_IN', 'ml_IN'), ('mn_CN', 'mn_CN'), ('mn_MN', 'mn_MN'), ('moh_CA', 'moh_CA'), ('mr_IN', 'mr_IN'), ('ms_BN', 'ms_BN'), ('ms_MY', 'ms_MY'), ('mt_MT', 'mt_MT'), ('nb_NO', 'nb_NO'), ('ne_NP', 'ne_NP'), ('nl_BE', 'nl_BE'), ('nl_NL', 'nl_NL'), ('nn_NO', 'nn_NO'), ('ns_ZA', 'ns_ZA'), ('oc_FR', 'oc_FR'), ('or_IN', 'or_IN'), ('pa_IN', 'pa_IN'), ('pl_PL', 'pl_PL'), ('ps_AF', 'ps_AF'), ('pt_BR', 'pt_BR'), ('pt_PT', 'pt_PT'), ('qut_GT', 'qut_GT'), ('quz_BO', 'quz_BO'), ('quz_EC', 'quz_EC'), ('quz_PE', 'quz_PE'), ('rm_CH', 'rm_CH'), ('ro_RO', 'ro_RO'), ('ru_RU', 'ru_RU'), ('rw_RW', 'rw_RW'), ('sa_IN', 'sa_IN'), ('sah_RU', 'sah_RU'), ('se_FI', 'se_FI'), ('se_NO', 'se_NO'), ('se_SE', 'se_SE'), ('si_LK', 'si_LK'), ('sk_SK', 'sk_SK'), ('sl_SI', 'sl_SI'), ('sma_NO', 'sma_NO'), ('sma_SE', 'sma_SE'), ('smj_NO', 'smj_NO'), ('smj_SE', 'smj_SE'), ('smn_FI', 'smn_FI'), ('sms_FI', 'sms_FI'), ('sq_AL', 'sq_AL'), ('sr_BA', 'sr_BA'), ('sr_BA', 'sr_BA'), ('sr_SP', 'sr_SP'), ('sr_SP', 'sr_SP'), ('sv_FI', 'sv_FI'), ('sv_SE', 'sv_SE'), ('sw_KE', 'sw_KE'), ('syr_SY', 'syr_SY'), ('ta_IN', 'ta_IN'), ('te_IN', 'te_IN'), ('tg_TJ', 'tg_TJ'), ('th_TH', 'th_TH'), ('tk_TM', 'tk_TM'), ('tmz_DZ', 'tmz_DZ'), ('tn_ZA', 'tn_ZA'), ('tr_TR', 'tr_TR'), ('tt_RU', 'tt_RU'), ('ug_CN', 'ug_CN'), ('uk_UA', 'uk_UA'), ('ur_IN', 'ur_IN'), ('ur_PK', 'ur_PK'), ('uz_UZ', 'uz_UZ'), ('uz_UZ', 'uz_UZ'), ('vi_VN', 'vi_VN'), ('wen_DE', 'wen_DE'), ('wo_SN', 'wo_SN'), ('xh_ZA', 'xh_ZA'), ('yo_NG', 'yo_NG'), ('zh_CHS', 'zh_CHS'), ('zh_CHT', 'zh_CHT'), ('zh_CN', 'zh_CN'), ('zh_HK', 'zh_HK'), ('zh_MO', 'zh_MO'), ('zh_SG', 'zh_SG'), ('zh_TW', 'zh_TW'), ('zu_ZA', 'zu_ZA')], default='fr_FR', max_length=10), + ), + migrations.AlterField( + model_name='language', + name='windows_locale_name', + field=models.CharField(choices=[('af_ZA', 'af_ZA'), ('am_ET', 'am_ET'), ('ar_AE', 'ar_AE'), ('ar_BH', 'ar_BH'), ('ar_DZ', 'ar_DZ'), ('ar_EG', 'ar_EG'), ('ar_IQ', 'ar_IQ'), ('ar_JO', 'ar_JO'), ('ar_KW', 'ar_KW'), ('ar_LB', 'ar_LB'), ('ar_LY', 'ar_LY'), ('ar_MA', 'ar_MA'), ('ar_OM', 'ar_OM'), ('ar_QA', 'ar_QA'), ('ar_SA', 'ar_SA'), ('ar_SY', 'ar_SY'), ('ar_TN', 'ar_TN'), ('ar_YE', 'ar_YE'), ('arn_CL', 'arn_CL'), ('as_IN', 'as_IN'), ('az_AZ', 'az_AZ'), ('az_AZ', 'az_AZ'), ('ba_RU', 'ba_RU'), ('be_BY', 'be_BY'), ('bg_BG', 'bg_BG'), ('bn_IN', 'bn_IN'), ('bo_BT', 'bo_BT'), ('bo_CN', 'bo_CN'), ('br_FR', 'br_FR'), ('bs_BA', 'bs_BA'), ('bs_BA', 'bs_BA'), ('ca_ES', 'ca_ES'), ('co_FR', 'co_FR'), ('cs_CZ', 'cs_CZ'), ('cy_GB', 'cy_GB'), ('da_DK', 'da_DK'), ('de_AT', 'de_AT'), ('de_CH', 'de_CH'), ('de_DE', 'de_DE'), ('de_LI', 'de_LI'), ('de_LU', 'de_LU'), ('div_MV', 'div_MV'), ('dsb_DE', 'dsb_DE'), ('el_GR', 'el_GR'), ('en_AU', 'en_AU'), ('en_BZ', 'en_BZ'), ('en_CA', 'en_CA'), ('en_CB', 'en_CB'), ('en_GB', 'en_GB'), ('en_IE', 'en_IE'), ('en_IN', 'en_IN'), ('en_IN', 'en_IN'), ('en_JA', 'en_JA'), ('en_MY', 'en_MY'), ('en_NZ', 'en_NZ'), ('en_PH', 'en_PH'), ('en_TT', 'en_TT'), ('en_US', 'en_US'), ('en_ZA', 'en_ZA'), ('en_ZW', 'en_ZW'), ('es_AR', 'es_AR'), ('es_BO', 'es_BO'), ('es_CL', 'es_CL'), ('es_CO', 'es_CO'), ('es_CR', 'es_CR'), ('es_DO', 'es_DO'), ('es_EC', 'es_EC'), ('es_ES', 'es_ES'), ('es_ES', 'es_ES'), ('es_GT', 'es_GT'), ('es_HN', 'es_HN'), ('es_MX', 'es_MX'), ('es_NI', 'es_NI'), ('es_PA', 'es_PA'), ('es_PE', 'es_PE'), ('es_PR', 'es_PR'), ('es_PY', 'es_PY'), ('es_SV', 'es_SV'), ('es_UR', 'es_UR'), ('es_US', 'es_US'), ('es_VE', 'es_VE'), ('et_EE', 'et_EE'), ('eu_ES', 'eu_ES'), ('fa_IR', 'fa_IR'), ('fi_FI', 'fi_FI'), ('fil_PH', 'fil_PH'), ('fo_FO', 'fo_FO'), ('fr_BE', 'fr_BE'), ('fr_CA', 'fr_CA'), ('fr_CH', 'fr_CH'), ('fr_FR', 'fr_FR'), ('fr_LU', 'fr_LU'), ('fr_MC', 'fr_MC'), ('fy_NL', 'fy_NL'), ('ga_IE', 'ga_IE'), ('gbz_AF', 'gbz_AF'), ('gl_ES', 'gl_ES'), ('gsw_FR', 'gsw_FR'), ('gu_IN', 'gu_IN'), ('ha_NG', 'ha_NG'), ('he_IL', 'he_IL'), ('hi_IN', 'hi_IN'), ('hr_BA', 'hr_BA'), ('hr_HR', 'hr_HR'), ('hu_HU', 'hu_HU'), ('hy_AM', 'hy_AM'), ('id_ID', 'id_ID'), ('ii_CN', 'ii_CN'), ('is_IS', 'is_IS'), ('it_CH', 'it_CH'), ('it_IT', 'it_IT'), ('iu_CA', 'iu_CA'), ('iu_CA', 'iu_CA'), ('ja_JP', 'ja_JP'), ('ka_GE', 'ka_GE'), ('kh_KH', 'kh_KH'), ('kk_KZ', 'kk_KZ'), ('kl_GL', 'kl_GL'), ('kn_IN', 'kn_IN'), ('ko_KR', 'ko_KR'), ('kok_IN', 'kok_IN'), ('ky_KG', 'ky_KG'), ('lb_LU', 'lb_LU'), ('lo_LA', 'lo_LA'), ('lt_LT', 'lt_LT'), ('lv_LV', 'lv_LV'), ('mi_NZ', 'mi_NZ'), ('mk_MK', 'mk_MK'), ('ml_IN', 'ml_IN'), ('mn_CN', 'mn_CN'), ('mn_MN', 'mn_MN'), ('moh_CA', 'moh_CA'), ('mr_IN', 'mr_IN'), ('ms_BN', 'ms_BN'), ('ms_MY', 'ms_MY'), ('mt_MT', 'mt_MT'), ('nb_NO', 'nb_NO'), ('ne_NP', 'ne_NP'), ('nl_BE', 'nl_BE'), ('nl_NL', 'nl_NL'), ('nn_NO', 'nn_NO'), ('ns_ZA', 'ns_ZA'), ('oc_FR', 'oc_FR'), ('or_IN', 'or_IN'), ('pa_IN', 'pa_IN'), ('pl_PL', 'pl_PL'), ('ps_AF', 'ps_AF'), ('pt_BR', 'pt_BR'), ('pt_PT', 'pt_PT'), ('qut_GT', 'qut_GT'), ('quz_BO', 'quz_BO'), ('quz_EC', 'quz_EC'), ('quz_PE', 'quz_PE'), ('rm_CH', 'rm_CH'), ('ro_RO', 'ro_RO'), ('ru_RU', 'ru_RU'), ('rw_RW', 'rw_RW'), ('sa_IN', 'sa_IN'), ('sah_RU', 'sah_RU'), ('se_FI', 'se_FI'), ('se_NO', 'se_NO'), ('se_SE', 'se_SE'), ('si_LK', 'si_LK'), ('sk_SK', 'sk_SK'), ('sl_SI', 'sl_SI'), ('sma_NO', 'sma_NO'), ('sma_SE', 'sma_SE'), ('smj_NO', 'smj_NO'), ('smj_SE', 'smj_SE'), ('smn_FI', 'smn_FI'), ('sms_FI', 'sms_FI'), ('sq_AL', 'sq_AL'), ('sr_BA', 'sr_BA'), ('sr_BA', 'sr_BA'), ('sr_SP', 'sr_SP'), ('sr_SP', 'sr_SP'), ('sv_FI', 'sv_FI'), ('sv_SE', 'sv_SE'), ('sw_KE', 'sw_KE'), ('syr_SY', 'syr_SY'), ('ta_IN', 'ta_IN'), ('te_IN', 'te_IN'), ('tg_TJ', 'tg_TJ'), ('th_TH', 'th_TH'), ('tk_TM', 'tk_TM'), ('tmz_DZ', 'tmz_DZ'), ('tn_ZA', 'tn_ZA'), ('tr_TR', 'tr_TR'), ('tt_RU', 'tt_RU'), ('ug_CN', 'ug_CN'), ('uk_UA', 'uk_UA'), ('ur_IN', 'ur_IN'), ('ur_PK', 'ur_PK'), ('uz_UZ', 'uz_UZ'), ('uz_UZ', 'uz_UZ'), ('vi_VN', 'vi_VN'), ('wen_DE', 'wen_DE'), ('wo_SN', 'wo_SN'), ('xh_ZA', 'xh_ZA'), ('yo_NG', 'yo_NG'), ('zh_CHS', 'zh_CHS'), ('zh_CHT', 'zh_CHT'), ('zh_CN', 'zh_CN'), ('zh_HK', 'zh_HK'), ('zh_MO', 'zh_MO'), ('zh_SG', 'zh_SG'), ('zh_TW', 'zh_TW'), ('zu_ZA', 'zu_ZA')], default='French', max_length=10), + ), + migrations.AlterField( + model_name='location', + name='color', + field=models.CharField(blank=True, default='', max_length=20, verbose_name='Calendar appointment color'), + ), + migrations.AlterField( + model_name='mailtemplate', + name='context', + field=models.CharField(choices=[('A', 'Appointment'), ('S', 'Subject'), ('V', 'Visit'), ('C', 'Voucher')], max_length=1), + ), + migrations.AlterField( + model_name='mailtemplate', + name='template_file', + field=models.FileField(upload_to='templates/'), + ), + migrations.AlterField( + model_name='missingsubject', + name='ignore', + field=models.BooleanField(default=False, verbose_name='Ignore missing subject'), + ), + migrations.AlterField( + model_name='missingsubject', + name='redcap_id', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='RED Cap id'), + ), + migrations.AlterField( + model_name='missingsubject', + name='redcap_url', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='URL to RED Cap subject'), + ), + migrations.AlterField( + model_name='missingsubject', + name='subject', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.StudySubject', verbose_name='Subject'), + ), + migrations.AlterField( + model_name='provenance', + name='modification_author', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Worker who modified the row'), + ), + migrations.AlterField( + model_name='provenance', + name='modification_date', + field=models.DateTimeField(auto_now_add=True, verbose_name='Modified on'), + ), + migrations.AlterField( + model_name='provenance', + name='modification_description', + field=models.CharField(max_length=20480, verbose_name='Description'), + ), + migrations.AlterField( + model_name='provenance', + name='modified_field', + field=models.CharField(blank='', max_length=1024, verbose_name='Modified field'), + ), + migrations.AlterField( + model_name='provenance', + name='new_value', + field=models.CharField(blank=True, max_length=2048, null=True, verbose_name='New Value'), + ), + migrations.AlterField( + model_name='provenance', + name='previous_value', + field=models.CharField(blank=True, max_length=2048, null=True, verbose_name='Previous Value'), + ), + migrations.AlterField( + model_name='study', + name='auto_create_follow_up', + field=models.BooleanField(default=True, verbose_name='Auto create follow up visit'), + ), + migrations.AlterField( + model_name='study', + name='default_delta_time_for_control_follow_up', + field=models.IntegerField(default=4, help_text='Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Time difference between control visits'), + ), + migrations.AlterField( + model_name='study', + name='default_delta_time_for_follow_up_units', + field=models.CharField(choices=[('years', 'Years'), ('days', 'Days')], default='years', help_text='Units for the number of days between visits for both patients and controls', max_length=10, verbose_name='Units for the follow up incrementals'), + ), + migrations.AlterField( + model_name='study', + name='default_delta_time_for_patient_follow_up', + field=models.IntegerField(default=1, help_text='Time difference between visits used to automatically create follow up visits', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Time difference between patient visits'), + ), + migrations.AlterField( + model_name='study', + name='default_visit_duration_in_months', + field=models.IntegerField(default=6, help_text='Duration of the visit, this is, the time interval, in months, when the appointments may take place', validators=[django.core.validators.MinValueValidator(1)], verbose_name='Duration of the visits in months'), + ), + migrations.AlterField( + model_name='study', + name='default_voucher_expiration_in_months', + field=models.IntegerField(default=3, validators=[django.core.validators.MinValueValidator(1)], verbose_name='Duration of the vouchers in months'), + ), + migrations.AlterField( + model_name='study', + name='name', + field=models.CharField(max_length=255, verbose_name='Name'), + ), + migrations.AlterField( + model_name='study', + name='nd_number_study_subject_regex', + field=models.CharField(default='^ND\\d{4}$', help_text='Defines the regex to check the ID used for each study subject. Keep in mind that this regex should be valid for all previous study subjects in the database.', max_length=255, verbose_name='Study Subject ND Number Regex'), + ), + migrations.AlterField( + model_name='study', + name='redcap_first_visit_number', + field=models.IntegerField(default=1, verbose_name='Number of the first visit in redcap system'), + ), + migrations.AlterField( + model_name='study', + name='sample_mail_statistics', + field=models.BooleanField(default=False, verbose_name='Email with sample collections should use statistics'), + ), + migrations.AlterField( + model_name='study', + name='visits_to_show_in_subject_list', + field=models.IntegerField(default=5, validators=[django.core.validators.MaxValueValidator(100), django.core.validators.MinValueValidator(1)], verbose_name='Number of visits to show in the subject list'), + ), + migrations.AlterField( + model_name='studycolumns', + name='brain_donation_agreement', + field=models.BooleanField(default=False, verbose_name='Brain donation agreement'), + ), + migrations.AlterField( + model_name='studycolumns', + name='comments', + field=models.BooleanField(default=True, verbose_name='Comments'), + ), + migrations.AlterField( + model_name='studycolumns', + name='datetime_contact_reminder', + field=models.BooleanField(default=True, verbose_name='Please make a contact on'), + ), + migrations.AlterField( + model_name='studycolumns', + name='default_location', + field=models.BooleanField(default=True, verbose_name='Default appointment location'), + ), + migrations.AlterField( + model_name='studycolumns', + name='diagnosis', + field=models.BooleanField(default=True, verbose_name='Diagnosis'), + ), + migrations.AlterField( + model_name='studycolumns', + name='endpoint_reached', + field=models.BooleanField(default=True, verbose_name='Endpoint reached'), + ), + migrations.AlterField( + model_name='studycolumns', + name='excluded', + field=models.BooleanField(default=False, verbose_name='Excluded'), + ), + migrations.AlterField( + model_name='studycolumns', + name='flying_team', + field=models.BooleanField(default=True, verbose_name='Default flying team location (if applicable)'), + ), + migrations.AlterField( + model_name='studycolumns', + name='health_partner', + field=models.BooleanField(default=False, verbose_name='Health partner'), + ), + migrations.AlterField( + model_name='studycolumns', + name='health_partner_feedback_agreement', + field=models.BooleanField(default=False, verbose_name='Agrees to give information to referral'), + ), + migrations.AlterField( + model_name='studycolumns', + name='information_sent', + field=models.BooleanField(default=True, verbose_name='Information sent'), + ), + migrations.AlterField( + model_name='studycolumns', + name='mpower_id', + field=models.BooleanField(default=True, verbose_name='MPower ID'), + ), + migrations.AlterField( + model_name='studycolumns', + name='nd_number', + field=models.BooleanField(default=True, verbose_name='ND number'), + ), + migrations.AlterField( + model_name='studycolumns', + name='pd_in_family', + field=models.BooleanField(default=True, verbose_name='PD in family'), + ), + migrations.AlterField( + model_name='studycolumns', + name='postponed', + field=models.BooleanField(default=True, verbose_name='Postponed'), + ), + migrations.AlterField( + model_name='studycolumns', + name='previously_in_study', + field=models.BooleanField(default=False, verbose_name='Previously in PDP study'), + ), + migrations.AlterField( + model_name='studycolumns', + name='referral', + field=models.BooleanField(default=True, verbose_name='Referred by'), + ), + migrations.AlterField( + model_name='studycolumns', + name='referral_letter', + field=models.BooleanField(default=False, verbose_name='Referral letter'), + ), + migrations.AlterField( + model_name='studycolumns', + name='resign_reason', + field=models.BooleanField(default=True, verbose_name='Endpoint reached comments'), + ), + migrations.AlterField( + model_name='studycolumns', + name='resigned', + field=models.BooleanField(default=True, verbose_name='Resigned'), + ), + migrations.AlterField( + model_name='studycolumns', + name='screening', + field=models.BooleanField(default=False, verbose_name='Screening'), + ), + migrations.AlterField( + model_name='studycolumns', + name='screening_number', + field=models.BooleanField(default=True, verbose_name='Screening number'), + ), + migrations.AlterField( + model_name='studycolumns', + name='type', + field=models.BooleanField(default=True, verbose_name='Type'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_1', + field=models.BooleanField(default=False, verbose_name='Visit 1 virus results'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_1_collection_date', + field=models.BooleanField(default=False, verbose_name='Visit 1 virus collection date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_1_iga_status', + field=models.BooleanField(default=False, verbose_name='Visit 1 virus IgA status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_1_igg_status', + field=models.BooleanField(default=False, verbose_name='Visit 1 virus IgG status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_1_updated', + field=models.BooleanField(default=False, verbose_name='Visit 1 virus results date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_2', + field=models.BooleanField(default=False, verbose_name='Visit 2 virus results'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_2_collection_date', + field=models.BooleanField(default=False, verbose_name='Visit 2 virus collection date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_2_iga_status', + field=models.BooleanField(default=False, verbose_name='Visit 2 virus IgA status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_2_igg_status', + field=models.BooleanField(default=False, verbose_name='Visit 2 virus IgG status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_2_updated', + field=models.BooleanField(default=False, verbose_name='Visit 2 virus results date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_3', + field=models.BooleanField(default=False, verbose_name='Visit 3 virus results'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_3_collection_date', + field=models.BooleanField(default=False, verbose_name='Visit 3 virus collection date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_3_iga_status', + field=models.BooleanField(default=False, verbose_name='Visit 3 virus IgA status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_3_igg_status', + field=models.BooleanField(default=False, verbose_name='Visit 3 virus IgG status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_3_updated', + field=models.BooleanField(default=False, verbose_name='Visit 3 virus results date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_4', + field=models.BooleanField(default=False, verbose_name='Visit 4 virus results'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_4_collection_date', + field=models.BooleanField(default=False, verbose_name='Visit 4 virus collection date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_4_iga_status', + field=models.BooleanField(default=False, verbose_name='Visit 4 virus IgA status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_4_igg_status', + field=models.BooleanField(default=False, verbose_name='Visit 4 virus IgG status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_4_updated', + field=models.BooleanField(default=False, verbose_name='Visit 4 virus results date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_5', + field=models.BooleanField(default=False, verbose_name='Visit 5 virus results'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_5_collection_date', + field=models.BooleanField(default=False, verbose_name='Visit 5 virus collection date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_5_iga_status', + field=models.BooleanField(default=False, verbose_name='Visit 5 virus IgA status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_5_igg_status', + field=models.BooleanField(default=False, verbose_name='Visit 5 virus IgG status'), + ), + migrations.AlterField( + model_name='studycolumns', + name='virus_test_5_updated', + field=models.BooleanField(default=False, verbose_name='Visit 5 virus results date'), + ), + migrations.AlterField( + model_name='studycolumns', + name='voucher_types', + field=models.BooleanField(default=False, verbose_name='Voucher types'), + ), + migrations.AlterField( + model_name='studycolumns', + name='vouchers', + field=models.BooleanField(default=False, verbose_name='Vouchers'), + ), + migrations.AlterField( + model_name='studycolumns', + name='year_of_diagnosis', + field=models.BooleanField(default=True, verbose_name='Year of diagnosis (YYYY)'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='approaching_visits_for_mail_contact_visible', + field=models.BooleanField(default=True, verbose_name='post mail for approaching visits'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='approaching_visits_without_appointments_visible', + field=models.BooleanField(default=True, verbose_name='approaching visits'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='exceeded_visits_visible', + field=models.BooleanField(default=True, verbose_name='exceeded visit time'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='inconsistent_redcap_subject_visible', + field=models.BooleanField(default=True, verbose_name='inconsistent RED Cap subject'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='missing_redcap_subject_visible', + field=models.BooleanField(default=True, verbose_name='missing RED Cap subject'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='subject_no_visits_visible', + field=models.BooleanField(default=True, verbose_name='subject without visit'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='subject_require_contact_visible', + field=models.BooleanField(default=True, verbose_name='subject required contact'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='subject_voucher_expiry_visible', + field=models.BooleanField(default=False, verbose_name='subject vouchers almost expired'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='unfinished_appointments_visible', + field=models.BooleanField(default=True, verbose_name='unfinished appointments'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='unfinished_visits_visible', + field=models.BooleanField(default=True, verbose_name='unfinished visits'), + ), + migrations.AlterField( + model_name='studynotificationparameters', + name='visits_with_missing_appointments_visible', + field=models.BooleanField(default=True, verbose_name='visits with missing appointments'), + ), + migrations.AlterField( + model_name='studyredcapcolumns', + name='date_born', + field=models.BooleanField(default=True, verbose_name='Date of birth'), + ), + migrations.AlterField( + model_name='studyredcapcolumns', + name='dead', + field=models.BooleanField(default=True, verbose_name='Dead'), + ), + migrations.AlterField( + model_name='studyredcapcolumns', + name='languages', + field=models.BooleanField(default=True, verbose_name='Languages'), + ), + migrations.AlterField( + model_name='studyredcapcolumns', + name='mpower_id', + field=models.BooleanField(default=True, verbose_name='MPower ID'), + ), + migrations.AlterField( + model_name='studyredcapcolumns', + name='sex', + field=models.BooleanField(default=True, verbose_name='Sex'), + ), + migrations.AlterField( + model_name='studysubject', + name='brain_donation_agreement', + field=models.BooleanField(default=False, verbose_name='Brain donation agreement'), + ), + migrations.AlterField( + model_name='studysubject', + name='date_added', + field=models.DateField(auto_now_add=True, verbose_name='Added on'), + ), + migrations.AlterField( + model_name='studysubject', + name='datetime_contact_reminder', + field=models.DateTimeField(blank=True, null=True, verbose_name='Please make a contact on'), + ), + migrations.AlterField( + model_name='studysubject', + name='default_location', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Location', verbose_name='Default appointment location'), + ), + migrations.AlterField( + model_name='studysubject', + name='diagnosis', + field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Diagnosis'), + ), + migrations.AlterField( + model_name='studysubject', + name='endpoint_reached', + field=models.BooleanField(default=False, verbose_name='Endpoint Reached'), + ), + migrations.AlterField( + model_name='studysubject', + name='endpoint_reached_reason', + field=models.TextField(blank=True, max_length=2000, verbose_name='Endpoint reached comments'), + ), + migrations.AlterField( + model_name='studysubject', + name='exclude_reason', + field=models.TextField(blank=True, max_length=2000, verbose_name='Exclude reason'), + ), + migrations.AlterField( + model_name='studysubject', + name='excluded', + field=models.BooleanField(default=False, verbose_name='Excluded'), + ), + migrations.AlterField( + model_name='studysubject', + name='flying_team', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.FlyingTeam', verbose_name='Default flying team location (if applicable)'), + ), + migrations.AlterField( + model_name='studysubject', + name='health_partner', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='web.Worker', verbose_name='Health partner'), + ), + migrations.AlterField( + model_name='studysubject', + name='health_partner_feedback_agreement', + field=models.BooleanField(default=False, verbose_name='Agrees to give information to referral'), + ), + migrations.AlterField( + model_name='studysubject', + name='information_sent', + field=models.BooleanField(default=False, verbose_name='Information sent'), + ), + migrations.AlterField( + model_name='studysubject', + name='nd_number', + field=models.CharField(blank=True, max_length=25, verbose_name='ND number'), + ), + migrations.AlterField( + model_name='studysubject', + name='pd_in_family', + field=models.NullBooleanField(default=None, verbose_name='PD in family'), + ), + migrations.AlterField( + model_name='studysubject', + name='previously_in_study', + field=models.BooleanField(default=False, verbose_name='Previously in PDP study'), + ), + migrations.AlterField( + model_name='studysubject', + name='referral_letter', + field=models.FileField(blank=True, null=True, storage=django.core.files.storage.FileSystemStorage(location='~/tmp/upload'), upload_to='referral_letters', verbose_name='Referral letter'), + ), + migrations.AlterField( + model_name='studysubject', + name='resign_reason', + field=models.TextField(blank=True, max_length=2000, verbose_name='Resign reason'), + ), + migrations.AlterField( + model_name='studysubject', + name='resigned', + field=models.BooleanField(default=False, verbose_name='Resigned'), + ), + migrations.AlterField( + model_name='studysubject', + name='screening', + field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Screening'), + ), + migrations.AlterField( + model_name='studysubject', + name='screening_number', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='Screening number'), + ), + migrations.AlterField( + model_name='studysubject', + name='study', + field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.Study', verbose_name='Study'), + ), + migrations.AlterField( + model_name='studysubject', + name='subject', + field=models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='web.Subject', verbose_name='Subject'), + ), + migrations.AlterField( + model_name='studysubject', + name='type', + field=models.CharField(blank=True, choices=[('C', 'CONTROL'), ('P', 'PATIENT')], max_length=1, null=True, verbose_name='Type'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_1', + field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 1 virus result'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_1_collection_date', + field=models.DateField(blank=True, null=True, verbose_name='Visit 1 virus collection date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_1_iga_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 1 IgA status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_1_igg_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 1 IgG status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_1_updated', + field=models.DateField(blank=True, null=True, verbose_name='Visit 1 virus result date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_2', + field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 2 virus result'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_2_collection_date', + field=models.DateField(blank=True, null=True, verbose_name='Visit 2 virus collection date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_2_iga_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 2 IgA status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_2_igg_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 2 IgG status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_2_updated', + field=models.DateField(blank=True, null=True, verbose_name='Visit 2 virus result date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_3', + field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 3 virus result'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_3_collection_date', + field=models.DateField(blank=True, null=True, verbose_name='Visit 3 virus collection date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_3_iga_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 3 IgA status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_3_igg_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 3 IgG status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_3_updated', + field=models.DateField(blank=True, null=True, verbose_name='Visit 3 virus result date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_4', + field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 4 virus result'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_4_collection_date', + field=models.DateField(blank=True, null=True, verbose_name='Visit 4 virus collection date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_4_iga_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 4 IgA status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_4_igg_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 4 IgG status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_4_updated', + field=models.DateField(blank=True, null=True, verbose_name='Visit 4 virus result date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_5', + field=models.NullBooleanField(choices=[(True, 'Yes'), (False, 'No'), (None, 'N/A')], default=None, verbose_name='Visit 5 virus result'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_5_collection_date', + field=models.DateField(blank=True, null=True, verbose_name='Visit 5 virus collection date'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_5_iga_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 5 IgA status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_5_igg_status', + field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Visit 5 IgG status'), + ), + migrations.AlterField( + model_name='studysubject', + name='virus_test_5_updated', + field=models.DateField(blank=True, null=True, verbose_name='Visit 5 virus result date'), + ), + migrations.AlterField( + model_name='studysubject', + name='voucher_types', + field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name='Voucher types'), + ), + migrations.AlterField( + model_name='studysubject', + name='year_of_diagnosis', + field=models.IntegerField(blank=True, null=True, verbose_name='Year of diagnosis (YYYY)'), + ), + migrations.AlterField( + model_name='studysubjectlist', + name='last_contact_attempt', + field=models.BooleanField(default=False, verbose_name='Last contact attempt'), + ), + migrations.AlterField( + model_name='studysubjectlist', + name='type', + field=models.CharField(blank=True, choices=[('GENERIC', 'Generic subject list'), ('NO_VISIT', 'Subjects without visit'), ('REQUIRE_CONTACT', 'Subjects required contact'), ('VOUCHER_EXPIRY', 'Subject with vouchers to be expired soon')], max_length=50, null=True, verbose_name='Type of list'), + ), + migrations.AlterField( + model_name='studysubjectlist', + name='visits', + field=models.BooleanField(default=True, verbose_name='Visits summary'), + ), + migrations.AlterField( + model_name='studyvisitlist', + name='type', + field=models.CharField(choices=[('GENERIC', 'Generic visit list'), ('EXCEEDED_TIME', 'Exceeded visit time'), ('UNFINISHED', 'Unfinished visits'), ('MISSING_APPOINTMENTS', 'Visits with missing appointments'), ('APPROACHING_WITHOUT_APPOINTMENTS', 'Approaching visits'), ('APPROACHING_FOR_MAIL_CONTACT', 'Post mail for approaching visits')], max_length=50, verbose_name='Type of list'), + ), + migrations.AlterField( + model_name='studyvisitlist', + name='visible_appointment_types_done', + field=models.BooleanField(default=False, verbose_name='Done appointments'), + ), + migrations.AlterField( + model_name='studyvisitlist', + name='visible_appointment_types_in_progress', + field=models.BooleanField(default=False, verbose_name='Appointments in progress'), + ), + migrations.AlterField( + model_name='studyvisitlist', + name='visible_appointment_types_missing', + field=models.BooleanField(default=False, verbose_name='Missing appointments'), + ), + migrations.AlterField( + model_name='subject', + name='address', + field=models.CharField(blank=True, max_length=255, verbose_name='Address'), + ), + migrations.AlterField( + model_name='subject', + name='city', + field=models.CharField(blank=True, max_length=50, verbose_name='City'), + ), + migrations.AlterField( + model_name='subject', + name='country', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name='Country'), + ), + migrations.AlterField( + model_name='subject', + name='date_born', + field=models.DateField(blank=True, null=True, verbose_name='Date of birth (YYYY-MM-DD)'), + ), + migrations.AlterField( + model_name='subject', + name='dead', + field=models.BooleanField(default=False, verbose_name='Deceased'), + ), + migrations.AlterField( + model_name='subject', + name='default_written_communication_language', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subjects_written_communication', to='web.Language', verbose_name='Default language for document generation'), + ), + migrations.AlterField( + model_name='subject', + name='email', + field=models.EmailField(blank=True, max_length=254, null=True, verbose_name='E-mail'), + ), + migrations.AlterField( + model_name='subject', + name='first_name', + field=models.CharField(max_length=50, verbose_name='First name'), + ), + migrations.AlterField( + model_name='subject', + name='languages', + field=models.ManyToManyField(blank=True, to='web.Language', verbose_name='Known languages'), + ), + migrations.AlterField( + model_name='subject', + name='last_name', + field=models.CharField(max_length=50, verbose_name='Last name'), + ), + migrations.AlterField( + model_name='subject', + name='next_of_keen_address', + field=models.TextField(blank=True, max_length=2000, verbose_name='Next of keen address'), + ), + migrations.AlterField( + model_name='subject', + name='next_of_keen_name', + field=models.CharField(blank=True, max_length=255, verbose_name='Next of keen'), + ), + migrations.AlterField( + model_name='subject', + name='next_of_keen_phone', + field=models.CharField(blank=True, max_length=50, verbose_name='Next of keen phone'), + ), + migrations.AlterField( + model_name='subject', + name='phone_number', + field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number'), + ), + migrations.AlterField( + model_name='subject', + name='phone_number_2', + field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number 2'), + ), + migrations.AlterField( + model_name='subject', + name='phone_number_3', + field=models.CharField(blank=True, max_length=64, null=True, verbose_name='Phone number 3'), + ), + migrations.AlterField( + model_name='subject', + name='postal_code', + field=models.CharField(blank=True, max_length=7, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='subject', + name='sex', + field=models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=1, verbose_name='Sex'), + ), + migrations.AlterField( + model_name='subject', + name='social_security_number', + field=models.CharField(blank=True, max_length=50, verbose_name='Social security number'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='address', + field=models.BooleanField(default=False, max_length=1, verbose_name='Address'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='city', + field=models.BooleanField(default=False, max_length=1, verbose_name='City'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='country', + field=models.BooleanField(default=False, max_length=1, verbose_name='Country'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='date_born', + field=models.BooleanField(default=False, max_length=1, verbose_name='Date of birth'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='dead', + field=models.BooleanField(default=True, max_length=1, verbose_name='Deceased'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='default_written_communication_language', + field=models.BooleanField(default=False, max_length=1, verbose_name='Default language for document generation'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='email', + field=models.BooleanField(default=False, max_length=1, verbose_name='E-mail'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='first_name', + field=models.BooleanField(default=True, max_length=1, verbose_name='First name'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='languages', + field=models.BooleanField(default=False, max_length=1, verbose_name='Known languages'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='last_name', + field=models.BooleanField(default=True, max_length=1, verbose_name='Last name'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='next_of_keen_address', + field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin address'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='next_of_keen_name', + field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='next_of_keen_phone', + field=models.BooleanField(default=False, max_length=1, verbose_name='Next of kin phone'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='phone_number', + field=models.BooleanField(default=False, max_length=1, verbose_name='Phone number'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='phone_number_2', + field=models.BooleanField(default=False, max_length=1, verbose_name='Phone number 2'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='phone_number_3', + field=models.BooleanField(default=False, max_length=1, verbose_name='Phone number 3'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='postal_code', + field=models.BooleanField(default=False, max_length=1, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='sex', + field=models.BooleanField(default=False, max_length=1, verbose_name='Sex'), + ), + migrations.AlterField( + model_name='subjectcolumns', + name='social_security_number', + field=models.BooleanField(default=False, verbose_name='Social security_number'), + ), + migrations.AlterField( + model_name='visit', + name='visit_number', + field=models.IntegerField(default=1, verbose_name='Visit number'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='datetime_begin', + field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit starts date'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='datetime_end', + field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit ends date'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='is_finished', + field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Is finished'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='post_mail_sent', + field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Post mail sent'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='visible_appointment_types', + field=models.BooleanField(default=False, verbose_name='All appointments'), + ), + migrations.AlterField( + model_name='visitcolumns', + name='visit_number', + field=models.BooleanField(choices=[(True, 'Yes'), (False, 'No')], default=True, verbose_name='Visit number'), + ), + migrations.AlterField( + model_name='voucher', + name='activity_type', + field=models.CharField(blank=True, default='', max_length=40, verbose_name='Activity type'), + ), + migrations.AlterField( + model_name='voucher', + name='expiry_date', + field=models.DateField(verbose_name='Expiry date'), + ), + migrations.AlterField( + model_name='voucher', + name='feedback', + field=models.TextField(blank=True, max_length=2000, verbose_name='Feedback'), + ), + migrations.AlterField( + model_name='voucher', + name='hours', + field=models.IntegerField(default=0, verbose_name='Hours'), + ), + migrations.AlterField( + model_name='voucher', + name='issue_date', + field=models.DateField(verbose_name='Issue date'), + ), + migrations.AlterField( + model_name='voucher', + name='issue_worker', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='issued_vouchers', to='web.Worker', verbose_name='Issued by'), + ), + migrations.AlterField( + model_name='voucher', + name='number', + field=models.CharField(max_length=50, unique=True, verbose_name='Number'), + ), + migrations.AlterField( + model_name='voucher', + name='status', + field=models.CharField(choices=[('NEW', 'New'), ('IN_USE', 'In use'), ('USED', 'Used'), ('EXPIRED', 'Expired'), ('REMOVED', 'Removed')], default='NEW', max_length=20, verbose_name='Status'), + ), + migrations.AlterField( + model_name='voucherpartnersession', + name='date', + field=models.DateTimeField(verbose_name='Issue date'), + ), + migrations.AlterField( + model_name='voucherpartnersession', + name='length', + field=models.IntegerField(verbose_name='Length (minutes)'), + ), + migrations.AlterField( + model_name='vouchertype', + name='code', + field=models.CharField(max_length=20, verbose_name='Code'), + ), + migrations.AlterField( + model_name='vouchertype', + name='description', + field=models.CharField(blank=True, max_length=1024, verbose_name='Description'), + ), + migrations.AlterField( + model_name='vouchertypeprice', + name='end_date', + field=models.DateField(verbose_name='End date'), + ), + migrations.AlterField( + model_name='vouchertypeprice', + name='price', + field=models.DecimalField(decimal_places=2, max_digits=6, verbose_name='Price'), + ), + migrations.AlterField( + model_name='vouchertypeprice', + name='start_date', + field=models.DateField(verbose_name='Start date'), + ), + migrations.AlterField( + model_name='worker', + name='address', + field=models.CharField(blank=True, max_length=255, verbose_name='Address'), + ), + migrations.AlterField( + model_name='worker', + name='city', + field=models.CharField(blank=True, max_length=50, verbose_name='City'), + ), + migrations.AlterField( + model_name='worker', + name='comment', + field=models.TextField(blank=True, max_length=1024, null=True, verbose_name='Comment'), + ), + migrations.AlterField( + model_name='worker', + name='country', + field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='web.Country', verbose_name='Country'), + ), + migrations.AlterField( + model_name='worker', + name='email', + field=models.EmailField(blank=True, max_length=254, verbose_name='E-mail'), + ), + migrations.AlterField( + model_name='worker', + name='fax_number', + field=models.CharField(blank=True, max_length=20, verbose_name='Fax number'), + ), + migrations.AlterField( + model_name='worker', + name='first_name', + field=models.CharField(blank=True, max_length=50, verbose_name='First name'), + ), + migrations.AlterField( + model_name='worker', + name='languages', + field=models.ManyToManyField(blank=True, to='web.Language', verbose_name='Known languages'), + ), + migrations.AlterField( + model_name='worker', + name='last_name', + field=models.CharField(blank=True, max_length=50, verbose_name='Last name'), + ), + migrations.AlterField( + model_name='worker', + name='locations', + field=models.ManyToManyField(blank=True, to='web.Location', verbose_name='Locations'), + ), + migrations.AlterField( + model_name='worker', + name='name', + field=models.CharField(blank=True, default='', max_length=50, verbose_name='Name'), + ), + migrations.AlterField( + model_name='worker', + name='phone_number', + field=models.CharField(blank=True, max_length=20, verbose_name='Phone number'), + ), + migrations.AlterField( + model_name='worker', + name='phone_number_2', + field=models.CharField(blank=True, max_length=20, verbose_name='Phone number 2'), + ), + migrations.AlterField( + model_name='worker', + name='postal_code', + field=models.CharField(blank=True, max_length=7, verbose_name='Postal code'), + ), + migrations.AlterField( + model_name='worker', + name='specialization', + field=models.CharField(blank=True, max_length=20, verbose_name='Specialization'), + ), + migrations.AlterField( + model_name='worker', + name='unit', + field=models.CharField(blank=True, max_length=50, verbose_name='Unit'), + ), + migrations.AlterField( + model_name='worker', + name='voucher_partner_code', + field=models.CharField(blank=True, max_length=10, verbose_name='Code'), + ), + migrations.AlterField( + model_name='worker', + name='voucher_types', + field=models.ManyToManyField(blank=True, to='web.VoucherType', verbose_name='Voucher types'), + ), + migrations.AlterField( + model_name='workerstudyrole', + name='name', + field=models.CharField(choices=[('DOCTOR', 'Doctor'), ('NURSE', 'Nurse'), ('PSYCHOLOGIST', 'Psychologist'), ('TECHNICIAN', 'Technician'), ('SECRETARY', 'Secretary'), ('PROJECT MANAGER', 'Project Manager')], max_length=20, verbose_name='Role'), + ), + migrations.AlterField( + model_name='workerstudyrole', + name='permissions', + field=models.ManyToManyField(blank=True, to='auth.Permission', verbose_name='Worker Study Permissions'), + ), + ]