21 lines
731 B
Python
21 lines
731 B
Python
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)
|
|
)
|