Files
Reskreen/nextcloud/models/alerts.py

33 lines
768 B
Python

import logging
from django.dispatch import Signal
logger = logging.getLogger(__name__)
new_membership = Signal(Signal("user"))
ending_membership = Signal(Signal("user"))
updating_membership = Signal(["user"])
from django.db.models.signals import post_save, post_delete
from django.contrib.auth.models import User
from django.contrib.auth import get_user_model
def my_callback(sender,created,instance, **kwargs):
if created:
new_membership.send(sender=sender, user=instance)
else:
updating_membership.send(sender=sender, user=instance)
def del_callback(sender, instance, **kwargs):
ending_membership.send(sender=sender, user=instance)
post_save.connect(my_callback, sender=User)
post_delete.connect(del_callback, sender=User)