From 11b62ee48998edad6db55fee337ff8e063bd1a0e Mon Sep 17 00:00:00 2001 From: Aakash Singh Date: Wed, 25 Sep 2024 20:41:09 +0530 Subject: [PATCH 1/3] fix ulid class (#2498) --- care/utils/ulid/ulid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/care/utils/ulid/ulid.py b/care/utils/ulid/ulid.py index c718b88031..bc4302d2ce 100644 --- a/care/utils/ulid/ulid.py +++ b/care/utils/ulid/ulid.py @@ -14,7 +14,7 @@ class ULID(BaseULID): @classmethod def parse(cls, value) -> Self: if isinstance(value, BaseULID): - return cls.parse_baseulid(value) + return cls.parse_ulid(value) if isinstance(value, UUID): return cls.parse_uuid(value) if isinstance(value, str): From ed4a7e14c42dd1a43b29ac2e1a58633784a0fd09 Mon Sep 17 00:00:00 2001 From: Aakash Singh Date: Thu, 26 Sep 2024 21:29:00 +0530 Subject: [PATCH 2/3] fix events create (#2501) --- care/utils/event_utils.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/care/utils/event_utils.py b/care/utils/event_utils.py index 02789c28f2..55f1a183a5 100644 --- a/care/utils/event_utils.py +++ b/care/utils/event_utils.py @@ -24,24 +24,24 @@ def get_changed_fields(old: Model, new: Model) -> set[str]: def serialize_field(obj: Model, field_name: str): if "__" in field_name: field_name, sub_field = field_name.split("__", 1) - related_object = getattr(obj, field_name, None) - return serialize_field(related_object, sub_field) + related_obj = getattr(obj, field_name, None) + return serialize_field(related_obj, sub_field) value = None try: - value = getattr(object, field_name) + value = getattr(obj, field_name) except AttributeError: - if object is not None: + if obj is not None: logger.warning( - "Field %s not found in %s", field_name, object.__class__.__name__ + "Field %s not found in %s", field_name, obj.__class__.__name__ ) return None try: # serialize choice fields with display value - field = object._meta.get_field(field_name) # noqa: SLF001 + field = obj._meta.get_field(field_name) # noqa: SLF001 if issubclass(field.__class__, Field) and field.choices: - value = getattr(object, f"get_{field_name}_display", lambda: value)() + value = getattr(obj, f"get_{field_name}_display", lambda: value)() except FieldDoesNotExist: # the required field is a property and not a model field pass From b9a169bebcb7942689f4e5b985e4277b74510a79 Mon Sep 17 00:00:00 2001 From: Aakash Singh Date: Thu, 26 Sep 2024 21:29:53 +0530 Subject: [PATCH 3/3] Add leeway for validating taken at in future (#2502) add leeway to taken at in future Co-authored-by: Vignesh Hari <14056798+vigneshhari@users.noreply.github.com> --- care/facility/api/serializers/daily_round.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/care/facility/api/serializers/daily_round.py b/care/facility/api/serializers/daily_round.py index 92d06c3c5c..768ddbabfd 100644 --- a/care/facility/api/serializers/daily_round.py +++ b/care/facility/api/serializers/daily_round.py @@ -326,7 +326,7 @@ def validate(self, attrs): return validated def validate_taken_at(self, value): - if value and value > timezone.now(): + if value and value > timezone.now() + timedelta(minutes=2): msg = "Cannot create an update in the future" raise serializers.ValidationError(msg) return value