signals.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from django.dispatch import receiver
  2. from django.urls import reverse
  3. from django.db.models.signals import post_delete, post_save
  4. from constance import config
  5. from post_office import mail
  6. from django.core.mail import EmailMessage
  7. from django.core.mail import EmailMultiAlternatives
  8. from .models import *
  9. @receiver(post_save, sender=Product)
  10. @receiver(post_save, sender=Wohnprojekt)
  11. def search_agent(sender, instance, update_fields=None, **kwargs):
  12. # print(instance)
  13. # print(sender)
  14. # print(update_fields)
  15. # print ( instance.current_uri )
  16. # if update_fields != None:
  17. # print(update_fields)
  18. if 'frei' in update_fields:
  19. if instance.frei == 'JAJA' :
  20. for agent in SearchAgent.objects.all():
  21. for agentOrt in agent.ort:
  22. if agentOrt == instance.ort:
  23. context = {}
  24. context['product_name']=instance.name
  25. context['product_claim']=instance.claim
  26. context['product_beschreibung']=instance.beschreibung
  27. context['product_learning']=instance.learning
  28. context['product_gruendungsjahr']=instance.gruendungsjahr
  29. context['product_betriebgenommen']=instance.betriebgenommen
  30. context['product_status']=instance.status
  31. context['product_adresse']=instance.adresse
  32. context['product_plz']=instance.plz
  33. context['product_adresse_zusatz']=instance.adresse_zusatz
  34. context['product_ort']=instance.ort
  35. context['product_website']=instance.website
  36. context['current_uri']=instance.current_uri
  37. context['agent_delete_url']= instance.current_uri + reverse( 'search-agent-delete' , kwargs={ 'pk': agent.pk, 'hash': agent.hash } )
  38. context['agent_email'] = agent.email
  39. context['agent_hash'] = agent.hash
  40. context['recipient'] = [ agent.email, ]
  41. context['msg_subject' ] = ('Gemeinschaffen - ' + instance.name )
  42. mail.send(
  43. context['recipient'],
  44. config.EMAIL_NOREPLY,
  45. context = context,
  46. template='generic',
  47. headers={ 'Reply-To': context['agent_email'] },
  48. priority='now',
  49. )