from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver from decimal import Decimal from django.utils import timezone from dashboard.models import ActivityLog from .models import * @receiver(post_save, sender=MaintenanceRequest) def log_maintenance_status_change(sender, instance, **kwargs): if 'update_fields' in kwargs and 'status' in kwargs['update_fields']: ActivityLog.objects.create( user=instance.assigned_to, action_type='update', description=f"Maintenance request {instance.id} status changed to {instance.get_status_display()}", app_name='facility_management', object_repr=str(instance) )