Skip to content

Commit

Permalink
Merge branch 'release/0.3.87' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Jan 31, 2024
2 parents 67136b1 + 7cf1e06 commit 060dd0c
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 25 deletions.
21 changes: 1 addition & 20 deletions edc_metadata/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
from django.conf import settings
from django.db import models
from django.db.models import QuerySet
from edc_appointment.constants import COMPLETE_APPT, INCOMPLETE_APPT

from .constants import CRF, KEYED, REQUIRED, REQUISITION
from .constants import CRF, KEYED, REQUISITION

if TYPE_CHECKING:
from edc_appointment.models import Appointment
Expand Down Expand Up @@ -85,24 +84,6 @@ def refresh_metadata_for_timepoint(
related_visit.run_metadata_rules(allow_create=allow_create)


def update_appt_status_for_timepoint(related_visit: RelatedVisitModel) -> None:
"""Only check COMPLETE_APPT and INCOMPLETE_APPT against metadata."""
if related_visit.appointment.appt_status == COMPLETE_APPT:
if (
related_visit.metadata[CRF].filter(entry_status=REQUIRED).exists()
or related_visit.metadata[REQUISITION].filter(entry_status=REQUIRED).exists()
):
related_visit.appointment.appt_status = INCOMPLETE_APPT
related_visit.appointment.save_base(update_fields=["appt_status"])
elif related_visit.appointment.appt_status == INCOMPLETE_APPT:
if (
not related_visit.metadata[CRF].filter(entry_status=REQUIRED).exists()
and not related_visit.metadata[REQUISITION].filter(entry_status=REQUIRED).exists()
):
related_visit.appointment.appt_status = COMPLETE_APPT
related_visit.appointment.save_base(update_fields=["appt_status"])


def get_crf_metadata(instance: ScheduledLikeModel | Appointment) -> QuerySet[CrfMetadata]:
"""Returns a queryset of crf metedata."""
opts = dict(
Expand Down
3 changes: 2 additions & 1 deletion edc_metadata/view_mixins/metadata_view_mixin.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from __future__ import annotations

from edc_appointment.utils import update_appt_status_for_timepoint

from ..constants import KEYED, NOT_REQUIRED, REQUIRED
from ..utils import (
get_crf_metadata,
get_requisition_metadata,
refresh_metadata_for_timepoint,
update_appt_status_for_timepoint,
)


Expand Down
6 changes: 2 additions & 4 deletions edc_metadata/views/refresh_metadata_actions_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@
from django.http.response import HttpResponseRedirect
from django.urls import reverse
from django.views import View
from edc_appointment.utils import update_appt_status_for_timepoint
from edc_dashboard import url_names
from edc_utils import get_utcnow
from edc_utils.round_up import round_half_away_from_zero
from edc_visit_tracking.utils import get_related_visit_model_cls

from edc_metadata.utils import (
refresh_metadata_for_timepoint,
update_appt_status_for_timepoint,
)
from edc_metadata.utils import refresh_metadata_for_timepoint


class RefreshMetadataActionsView(LoginRequiredMixin, View):
Expand Down

0 comments on commit 060dd0c

Please sign in to comment.