signals.py 631 B

123456789101112131415
  1. from django.db.models.signals import post_save
  2. from django.dispatch import receiver
  3. from desecapi import models
  4. @receiver(post_save, sender=models.Domain, dispatch_uid=__name__)
  5. def domain_handler(sender, instance: models.Domain, created, raw, using, update_fields, **kwargs):
  6. if instance.is_locally_registrable:
  7. instance.owner.send_email('domain-dyndns', context={
  8. 'domain': instance.name,
  9. 'url': f'https://update.{instance.parent_domain_name}/',
  10. 'username': instance.name,
  11. 'password': models.Token.objects.create(user=instance.owner, name='dyndns').plain
  12. })