diff --git a/generic/models.py b/generic/models.py index dbf5ccec..7e70c986 100644 --- a/generic/models.py +++ b/generic/models.py @@ -34,6 +34,7 @@ from django.utils.html import format_html from easy_thumbnails.files import get_thumbnailer from easy_thumbnails.exceptions import InvalidImageFormatError + import pydicom import dicognito.anonymizer @@ -1282,7 +1283,6 @@ USER_EXAM_TYPES = ( # ("CaseCollection", "user_casecollection_exams"), ) - class UserProfile(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) supervisor = models.ForeignKey( diff --git a/rad/settings.py b/rad/settings.py index dfe6e2d7..3fe46bc7 100644 --- a/rad/settings.py +++ b/rad/settings.py @@ -50,6 +50,7 @@ INSTALLED_APPS = [ "wally", "atlas", "rcr", + "rota", "reversion", "debug_toolbar", "django_tables2", diff --git a/rad/urls.py b/rad/urls.py index 8599b2a0..34e1d981 100644 --- a/rad/urls.py +++ b/rad/urls.py @@ -65,6 +65,7 @@ urlpatterns = [ path("generic/", include("generic.urls"), name="generic"), path("atlas/", include("atlas.urls"), name="atlas"), path("rcr/", include("rcr.urls"), name="rcr"), + path("rota/", include("rota.urls"), name="rota"), path( "accounts/check_users", views.accounts_check_users, name="accounts_check_users" ), diff --git a/rcr/forms.py b/rcr/forms.py index 40f84066..7d2277c7 100644 --- a/rcr/forms.py +++ b/rcr/forms.py @@ -16,9 +16,13 @@ from django.forms import ( ) from rcr.models import Item, Category, Level +from django.contrib.auth.models import User class ItemForm(ModelForm): class Meta: model = Item exclude = ["rcr_platform_id", "name", "assessed_by", "assessed_date"] - #fields = ["category", "level"] \ No newline at end of file + #fields = ["category", "level"] + +class AssessorAssignmentForm(Form): + items = ModelMultipleChoiceField(queryset=Item.objects.all()) \ No newline at end of file diff --git a/rcr/migrations/0005_item_assigned_to_alter_item_assessed_by.py b/rcr/migrations/0005_item_assigned_to_alter_item_assessed_by.py new file mode 100644 index 00000000..80f96352 --- /dev/null +++ b/rcr/migrations/0005_item_assigned_to_alter_item_assessed_by.py @@ -0,0 +1,26 @@ +# Generated by Django 4.1.4 on 2023-12-12 20:11 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('rcr', '0004_outcomereason_item_outcome_reason'), + ] + + operations = [ + migrations.AddField( + model_name='item', + name='assigned_to', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigned_items', to=settings.AUTH_USER_MODEL), + ), + migrations.AlterField( + model_name='item', + name='assessed_by', + field=models.ManyToManyField(blank=True, related_name='assessed_items', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/rcr/models.py b/rcr/models.py index f3360905..9b2c5520 100644 --- a/rcr/models.py +++ b/rcr/models.py @@ -24,7 +24,9 @@ class Item(models.Model): assessed_date = models.DateTimeField(auto_now=True) - assessed_by = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True) + assessed_by = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, related_name="assessed_items") + + assigned_to = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, on_delete=models.SET_NULL, related_name="assigned_items") outcome = models.ForeignKey("Outcome", on_delete=models.SET_NULL, blank=True, null=True) outcome_reason = models.ForeignKey("OutcomeReason", on_delete=models.SET_NULL, blank=True, null=True) diff --git a/rcr/templates/rcr/assessor_assignment_form.html b/rcr/templates/rcr/assessor_assignment_form.html new file mode 100644 index 00000000..911b2a1f --- /dev/null +++ b/rcr/templates/rcr/assessor_assignment_form.html @@ -0,0 +1,14 @@ +{% extends 'rcr/base.html' %} + +{% block content %} + + +

Items assigned:

+ +
+ {{assessor_assignment_form}} + + +
+ +{% endblock %} \ No newline at end of file diff --git a/rcr/templates/rcr/assessors.html b/rcr/templates/rcr/assessors.html new file mode 100644 index 00000000..27d19c50 --- /dev/null +++ b/rcr/templates/rcr/assessors.html @@ -0,0 +1,17 @@ +{% extends 'rcr/base.html' %} + +{% block content %} + + +

Assessors:

+ + + + +{% endblock %} \ No newline at end of file diff --git a/rcr/templates/rcr/base.html b/rcr/templates/rcr/base.html index 243c69bd..e35d6783 100644 --- a/rcr/templates/rcr/base.html +++ b/rcr/templates/rcr/base.html @@ -79,6 +79,9 @@ Index + + Assessors + {% if request.user.is_staff %} Admin diff --git a/rcr/templates/rcr/index.html b/rcr/templates/rcr/index.html index edcbee5d..8192b6bc 100644 --- a/rcr/templates/rcr/index.html +++ b/rcr/templates/rcr/index.html @@ -3,6 +3,13 @@ {% block content %} +{% if assessor %} +Assessor: {{assessor}} + +{% endif %} + + + {% if completed %}

Completed items:

{% else %} @@ -20,10 +27,8 @@