a few updates to rcr mig

This commit is contained in:
Ross
2023-12-13 21:58:56 +00:00
parent 1936a66d7f
commit 3f013099fe
8 changed files with 84 additions and 5 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ from django.contrib.auth.models import User
class ItemForm(ModelForm):
class Meta:
model = Item
exclude = ["rcr_platform_id", "name", "assessed_by", "assessed_date"]
exclude = ["rcr_platform_id", "name", "assessed_by", "assessed_date", "assigned_to"]
#fields = ["category", "level"]
class AssessorAssignmentForm(Form):
@@ -0,0 +1,21 @@
# Generated by Django 4.1.4 on 2023-12-13 20:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("rcr", "0005_item_assigned_to_alter_item_assessed_by"),
]
operations = [
migrations.AddField(
model_name="item",
name="outcome_free_text",
field=models.CharField(
default="",
help_text="Reason for outcome (if not available above)",
max_length=255,
),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.1.4 on 2023-12-13 20:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rcr', '0006_item_outcome_free_text'),
]
operations = [
migrations.AlterField(
model_name='item',
name='outcome_free_text',
field=models.CharField(blank=True, default='', help_text='Reason for outcome (if not available above)', max_length=255),
),
]
+17
View File
@@ -0,0 +1,17 @@
# Generated by Django 4.1.4 on 2023-12-13 21:56
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('rcr', '0007_alter_item_outcome_free_text'),
]
operations = [
migrations.AlterModelOptions(
name='item',
options={'ordering': ('pk',)},
),
]
+4
View File
@@ -30,9 +30,13 @@ class Item(models.Model):
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)
outcome_free_text = models.CharField(max_length=255, help_text="Reason for outcome (if not available above)", default="", blank=True)
completed = models.BooleanField(default=False)
class Meta:
ordering = ("pk",)
def __str__(self):
return self.name
+5
View File
@@ -10,6 +10,11 @@
<form method="post">{% csrf_token %}
{{ form|crispy }}
<input type="submit" value="Update">
{% if skip %}
<button> <a href="{% url 'rcr:radiology_update_next_skip_view' skip|add:1 %}">Skip</a> </button>
{% endif %}
</form>
<details><summary> </summary>
+1
View File
@@ -18,5 +18,6 @@ urlpatterns = [
path("radiology/completed/user/<int:user_pk>", views.radiology_index_completed_by_user, name="radiology_index_completed_by_user_view"),
path("radiology/item/<int:pk>/", views.ItemDetailView.as_view(), name="radiology_detail_view"),
path("radiology/item/next/update", views.ItemUpdateNextView.as_view(), name="radiology_update_next_view"),
path("radiology/item/next/update/skip/<int:skip>", views.ItemUpdateNextView.as_view(), name="radiology_update_next_skip_view"),
path("radiology/item/<int:pk>/update", views.ItemUpdateView.as_view(), name="radiology_update_view"),
]
+17 -4
View File
@@ -57,7 +57,7 @@ def radiology_index_completed(request, user_pk=None):
assessor = None
if user_pk is not None:
items = Item.objects.filter(completed=True, assessed_by=user_pk)
items = Item.objects.filter(completed=True, assessed_by=user_pk).order_by("pk")
assessor = User.objects.get(pk=user_pk)
else:
items = Item.objects.filter(completed=True)
@@ -95,20 +95,33 @@ class ItemUpdateNextView(ItemUpdateBase):
form_class = ItemForm
template_name = "rcr/item_update.html"
skip = 0
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
context = super().get_context_data(**kwargs)
context["skip"] = self.skip
return context
def get(self, request, *args, **kwargs):
try:
if "skip" in kwargs:
self.skip = kwargs["skip"]
self.object = self.get_object()
print("What", self.object)
except Http404:
print("YES")
# redirect here
return redirect("rcr:radiology_index_view")
context = self.get_context_data(object=self.object)
return self.render_to_response(context)
def get_object(self):
obj = Item.objects.filter(completed=False).first()
if self.skip < 1:
obj = Item.objects.filter(completed=False).order_by("pk").first()
else:
try:
obj = Item.objects.filter(completed=False)[self.skip]
except IndexError:
raise Http404
print("HELLO", obj)
print(obj)