# Generated by Django 3.0.14 on 2021-04-16 00:24 import django.core.validators import jsonfield.fields from django.db import migrations, models import course.models class Migration(migrations.Migration): dependencies = [ ('course', '0114_alter_helptext_for_ptag_and_prole_fix_typo'), ] operations = [ migrations.AlterModelOptions( name='authenticationtoken', options={'ordering': ('participation', 'creation_time'), 'verbose_name': 'Authentication token', 'verbose_name_plural': 'Authentication tokens'}, ), migrations.AlterField( model_name='course', name='identifier', field=models.CharField(db_index=True, help_text="A course identifier. Alphanumeric with dashes, no spaces. This is visible in URLs and determines the location on your file system where the course's git repository lives. This should not be changed after the course has been created without also moving the course's git on the server.", max_length=200, unique=True, validators=[django.core.validators.RegexValidator('^(?P[-a-zA-Z0-9]+)$', message="Identifier may only contain letters, numbers, and hyphens ('-').")], verbose_name='Course identifier'), ), migrations.AlterField( model_name='event', name='kind', field=models.CharField(help_text='Should be lower_case_with_underscores, no spaces allowed.', max_length=50, validators=[django.core.validators.RegexValidator('^(?P[_a-z0-9]+)$', message='Should be lower_case_with_underscores, no spaces allowed.')], verbose_name='Kind of event'), ), migrations.AlterField( model_name='flowaccessexception', name='stipulations', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, help_text='A dictionary of the same things that can be added to a flow access rule, such as allowed_session_count or credit_percent. If not specified here, values will default to the stipulations in the course content.', null=True, validators=[course.models.validate_stipulations], verbose_name='Stipulations'), ), migrations.AlterField( model_name='flowpagebulkfeedback', name='bulk_feedback', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, null=True, verbose_name='Bulk feedback'), ), migrations.AlterField( model_name='flowpagedata', name='data', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, null=True, verbose_name='Data'), ), migrations.AlterField( model_name='flowpagevisit', name='answer', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, null=True, verbose_name='Answer'), ), migrations.AlterField( model_name='flowpagevisitgrade', name='feedback', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, null=True, verbose_name='Feedback'), ), migrations.AlterField( model_name='flowpagevisitgrade', name='grade_data', field=jsonfield.fields.JSONField(blank=True, dump_kwargs={'ensure_ascii': False}, null=True, verbose_name='Grade data'), ), migrations.AlterField( model_name='gradingopportunity', name='identifier', field=models.CharField(help_text='A symbolic name for this grade. lower_case_with_underscores, no spaces.', max_length=200, validators=[django.core.validators.RegexValidator('^(?P[-_a-zA-Z0-9]+)$', message="Identifier may only contain letters, numbers, and hyphens ('-').")], verbose_name='Grading opportunity ID'), ), migrations.AlterField( model_name='participationpermission', name='permission', field=models.CharField(choices=[('edit_course', 'Edit course'), ('use_admin_interface', 'Use admin interface'), ('manage_authentication_tokens', 'Manage authentication tokens'), ('impersonate_role', 'Impersonate role'), ('set_fake_time', 'Set fake time'), ('set_pretend_facility', 'Pretend to be in facility'), ('edit_course_permissions', 'Edit course permissions'), ('view_hidden_course_page', 'View hidden course page'), ('view_calendar', 'View calendar'), ('send_instant_message', 'Send instant message'), ('access_files_for', 'Access files for'), ('included_in_grade_statistics', 'Included in grade statistics'), ('skip_during_manual_grading', 'Skip during manual grading'), ('edit_exam', 'Edit exam'), ('issue_exam_ticket', 'Issue exam ticket'), ('batch_issue_exam_ticket', 'Batch issue exam ticket'), ('view_participant_masked_profile', "View participants' masked profile only"), ('view_flow_sessions_from_role', 'View flow sessions from role'), ('view_gradebook', 'View gradebook'), ('edit_grading_opportunity', 'Edit grading opportunity'), ('assign_grade', 'Assign grade'), ('view_grader_stats', 'View grader stats'), ('batch_import_grade', 'Batch-import grades'), ('batch_export_grade', 'Batch-export grades'), ('batch_download_submission', 'Batch-download submissions'), ('impose_flow_session_deadline', 'Impose flow session deadline'), ('batch_impose_flow_session_deadline', 'Batch-impose flow session deadline'), ('end_flow_session', 'End flow session'), ('batch_end_flow_session', 'Batch-end flow sessions'), ('regrade_flow_session', 'Regrade flow session'), ('batch_regrade_flow_session', 'Batch-regrade flow sessions'), ('recalculate_flow_session_grade', 'Recalculate flow session grade'), ('batch_recalculate_flow_session_grade', 'Batch-recalculate flow sesssion grades'), ('reopen_flow_session', 'Reopen flow session'), ('grant_exception', 'Grant exception'), ('view_analytics', 'View analytics'), ('preview_content', 'Preview content'), ('update_content', 'Update content'), ('use_git_endpoint', 'Use direct git endpoint'), ('use_markup_sandbox', 'Use markup sandbox'), ('use_page_sandbox', 'Use page sandbox'), ('test_flow', 'Test flow'), ('edit_events', 'Edit events'), ('query_participation', 'Query participation'), ('edit_participation', 'Edit participation'), ('preapprove_participation', 'Preapprove participation'), ('manage_instant_flow_requests', 'Manage instant flow requests')], db_index=True, max_length=200, verbose_name='Permission'), ), migrations.AlterField( model_name='participationrole', name='identifier', field=models.CharField(help_text="A symbolic name for this role, used in course code. Should be a valid identifier (as defined by Python). The name 'unenrolled' is special and refers to anyone not enrolled in the course.", max_length=100, verbose_name='Role identifier'), ), migrations.AlterField( model_name='participationrolepermission', name='permission', field=models.CharField(choices=[('edit_course', 'Edit course'), ('use_admin_interface', 'Use admin interface'), ('manage_authentication_tokens', 'Manage authentication tokens'), ('impersonate_role', 'Impersonate role'), ('set_fake_time', 'Set fake time'), ('set_pretend_facility', 'Pretend to be in facility'), ('edit_course_permissions', 'Edit course permissions'), ('view_hidden_course_page', 'View hidden course page'), ('view_calendar', 'View calendar'), ('send_instant_message', 'Send instant message'), ('access_files_for', 'Access files for'), ('included_in_grade_statistics', 'Included in grade statistics'), ('skip_during_manual_grading', 'Skip during manual grading'), ('edit_exam', 'Edit exam'), ('issue_exam_ticket', 'Issue exam ticket'), ('batch_issue_exam_ticket', 'Batch issue exam ticket'), ('view_participant_masked_profile', "View participants' masked profile only"), ('view_flow_sessions_from_role', 'View flow sessions from role'), ('view_gradebook', 'View gradebook'), ('edit_grading_opportunity', 'Edit grading opportunity'), ('assign_grade', 'Assign grade'), ('view_grader_stats', 'View grader stats'), ('batch_import_grade', 'Batch-import grades'), ('batch_export_grade', 'Batch-export grades'), ('batch_download_submission', 'Batch-download submissions'), ('impose_flow_session_deadline', 'Impose flow session deadline'), ('batch_impose_flow_session_deadline', 'Batch-impose flow session deadline'), ('end_flow_session', 'End flow session'), ('batch_end_flow_session', 'Batch-end flow sessions'), ('regrade_flow_session', 'Regrade flow session'), ('batch_regrade_flow_session', 'Batch-regrade flow sessions'), ('recalculate_flow_session_grade', 'Recalculate flow session grade'), ('batch_recalculate_flow_session_grade', 'Batch-recalculate flow sesssion grades'), ('reopen_flow_session', 'Reopen flow session'), ('grant_exception', 'Grant exception'), ('view_analytics', 'View analytics'), ('preview_content', 'Preview content'), ('update_content', 'Update content'), ('use_git_endpoint', 'Use direct git endpoint'), ('use_markup_sandbox', 'Use markup sandbox'), ('use_page_sandbox', 'Use page sandbox'), ('test_flow', 'Test flow'), ('edit_events', 'Edit events'), ('query_participation', 'Query participation'), ('edit_participation', 'Edit participation'), ('preapprove_participation', 'Preapprove participation'), ('manage_instant_flow_requests', 'Manage instant flow requests')], db_index=True, max_length=200, verbose_name='Permission'), ), migrations.AlterField( model_name='participationtag', name='name', field=models.CharField(help_text='Should be a valid identifier (as defined by Python).', max_length=100, verbose_name='Name of participation tag'), ), ]