diff --git a/back/backend/migrations/0001_initial.py b/back/backend/migrations/0001_initial.py index 5e6b88e..d36efaa 100644 --- a/back/backend/migrations/0001_initial.py +++ b/back/backend/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.7 on 2019-03-03 08:55 +# Generated by Django 2.1.7 on 2019-03-03 09:06 import datetime from django.db import migrations, models diff --git a/back/backend/migrations/0002_auto_20190303_0055.py b/back/backend/migrations/0002_auto_20190303_0106.py similarity index 93% rename from back/backend/migrations/0002_auto_20190303_0055.py rename to back/backend/migrations/0002_auto_20190303_0106.py index 33bc0b0..46bbace 100644 --- a/back/backend/migrations/0002_auto_20190303_0055.py +++ b/back/backend/migrations/0002_auto_20190303_0106.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.7 on 2019-03-03 08:55 +# Generated by Django 2.1.7 on 2019-03-03 09:06 from django.conf import settings from django.db import migrations, models diff --git a/back/backend/views.py b/back/backend/views.py index 2ff885f..d31728f 100644 --- a/back/backend/views.py +++ b/back/backend/views.py @@ -53,19 +53,22 @@ def get_sections(r_id): data.update(get_fields(i.id)) # process rules from the policy file if the section is completed if i.completed and not i.approved: - rules = pol.sections[index].rules - for rule in rules: - try: - named_fields = generate_named_fields_for_section(data['fields']) - result = rule['rule'](data, named_fields) - if not result is None: - info = { - "label": rule['title'], - "rule_break_text": result, - } - data['rule_violations'].append(info) - except Exception as e: - print('Rule "{}" encountered an error. {}'.format(rule['title'], e)) + try: + rules = pol.sections[index].rules + for rule in rules: + try: + named_fields = generate_named_fields_for_section(data['fields']) + result = rule['rule'](data, named_fields) + if not result is None: + info = { + "label": rule['title'], + "rule_break_text": result, + } + data['rule_violations'].append(info) + except Exception as e: + print('Rule "{}" encountered an error. {}'.format(rule['title'], e)) + except Exception as e: + print('Error accessing policy section {}. Policy file may have changed.'.format(index)) # append section to the array section_set["sections"].append(data.copy()) @@ -345,19 +348,22 @@ def section(request, report_pk, section_pk): data.update(get_fields(s.id)) # process rules from the policy file if the section is completed if s.completed and not s.approved: - rules = pol.sections[s.number].rules - for rule in rules: - try: - named_fields = generate_named_fields_for_section(data['fields']) - result = rule['rule'](data, named_fields) - if not result is None: - info = { - "label": rule['title'], - "rule_break_text": result, - } - data['rule_violations'].append(info) - except Exception as e: - print('Rule "{}" encountered an error. {}'.format(rule['title'], e)) + try: + rules = pol.sections[s.number].rules + for rule in rules: + try: + named_fields = generate_named_fields_for_section(data['fields']) + result = rule['rule'](data, named_fields) + if not result is None: + info = { + "label": rule['title'], + "rule_break_text": result, + } + data['rule_violations'].append(info) + except Exception as e: + print('Rule "{}" encountered an error. {}'.format(rule['title'], e)) + except Exception as e: + print('Error accessing policy section {}. Policy file may have been changed.'.format(s.number)) return JsonResponse(data) def section_complete(section_pk): diff --git a/back/db.sqlite3 b/back/db.sqlite3 index 8020c54..06e1e06 100644 Binary files a/back/db.sqlite3 and b/back/db.sqlite3 differ diff --git a/back/users/migrations/0001_initial.py b/back/users/migrations/0001_initial.py index eed660c..6e4bb9b 100644 --- a/back/users/migrations/0001_initial.py +++ b/back/users/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 2.1.7 on 2019-03-03 08:55 +# Generated by Django 2.1.7 on 2019-03-03 09:06 import django.contrib.auth.models import django.contrib.auth.validators @@ -34,9 +34,9 @@ class Migration(migrations.Migration): ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ - 'verbose_name_plural': 'users', 'verbose_name': 'user', 'abstract': False, + 'verbose_name_plural': 'users', }, managers=[ ('objects', django.contrib.auth.models.UserManager()),