signals.py 718 B

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