43 lines
1004 B
Python
43 lines
1004 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.contrib.auth import get_user_model
|
|
'''
|
|
|
|
|
|
|
|
'''
|
|
from django.db.models.signals import post_save, post_delete
|
|
from django.contrib.auth.models import User
|
|
|
|
|
|
def my_callback(sender,created,instance, **kwargs):
|
|
if created:
|
|
new_membership.send(sender=sender, user=instance)
|
|
else:
|
|
updating_membership.send(sender=sender, user=instance)
|
|
# TODO remove this temps part
|
|
User = get_user_model()
|
|
users = User.objects.all()
|
|
|
|
for usr in users:
|
|
print(f"sync {usr}")
|
|
updating_membership.send(sender=sender, user=usr)
|
|
|
|
|
|
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)
|
|
|