authentik.enterprise.lifecycle.signals
1from django.db.models import Q 2from django.db.models.signals import post_save, pre_delete 3from django.dispatch import receiver 4 5from authentik.enterprise.lifecycle.models import LifecycleRule, ReviewState 6 7 8@receiver(post_save, sender=LifecycleRule) 9def post_rule_save(sender, instance: LifecycleRule, created: bool, **_): 10 from authentik.enterprise.lifecycle.tasks import apply_lifecycle_rule 11 12 apply_lifecycle_rule.send_with_options( 13 args=(instance.id,), 14 rel_obj=instance, 15 ) 16 17 18@receiver(pre_delete, sender=LifecycleRule) 19def pre_rule_delete(sender, instance: LifecycleRule, **_): 20 instance.lifecycleiteration_set.filter( 21 Q(state=ReviewState.PENDING) | Q(state=ReviewState.OVERDUE) 22 ).update(state=ReviewState.CANCELED)
@receiver(post_save, sender=LifecycleRule)
def
post_rule_save( sender, instance: authentik.enterprise.lifecycle.models.LifecycleRule, created: bool, **_):
@receiver(pre_delete, sender=LifecycleRule)
def
pre_rule_delete( sender, instance: authentik.enterprise.lifecycle.models.LifecycleRule, **_):