Update insight logs for shift swaps requests (#2987)

This commit is contained in:
Matias Bordese 2023-09-07 08:49:33 -03:00 committed by GitHub
parent 6c8344a82d
commit afc3b193f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 2 deletions

View file

@ -69,7 +69,7 @@ class OnCallShiftView(TeamFilteringMixin, PublicPrimaryKeyMixin, UpdateSerialize
write_resource_insight_log(
instance=serializer.instance,
author=self.request.user,
event=EntityEvent.DELETED,
event=EntityEvent.CREATED,
)
def perform_update(self, serializer):

View file

@ -42,6 +42,7 @@ class BaseShiftSwapViewSet(ModelViewSet):
def _do_take(self, benefactor: User) -> dict:
shift_swap = self.get_object()
prev_state = shift_swap.insight_logs_serialized
try:
shift_swap.take(benefactor)
@ -50,6 +51,14 @@ class BaseShiftSwapViewSet(ModelViewSet):
except exceptions.BeneficiaryCannotTakeOwnShiftSwapRequest:
raise BadRequest(detail="A shift swap request cannot be created and taken by the same user")
write_resource_insight_log(
instance=shift_swap,
author=self.request.user,
event=EntityEvent.UPDATED,
prev_state=prev_state,
new_state=shift_swap.insight_logs_serialized,
)
update_shift_swap_request_message.apply_async((shift_swap.pk,))
return ShiftSwapRequestSerializer(shift_swap).data

View file

@ -235,4 +235,12 @@ class ShiftSwapRequest(models.Model):
@property
def insight_logs_metadata(self):
return {}
result = {}
if self.schedule.team:
result["team"] = self.schedule.team.name
result["team_id"] = self.schedule.team.public_primary_key
else:
result["team"] = "General"
result["schedule"] = self.schedule.insight_logs_verbal
result["schedule_id"] = self.schedule.public_primary_key
return result