add irc messages when new event- or speakerproposals are created

This commit is contained in:
Stephan Telling 2017-07-11 22:29:06 +02:00
parent c02598bfde
commit f4a2f6cea6
No known key found for this signature in database
GPG key ID: D4892289F36ADA9B

View file

@ -11,6 +11,7 @@ from django.contrib import messages
from django.db import models
from django.dispatch import receiver
from django.utils.text import slugify
from django.utils import timezone
from django.conf import settings
from django.core.exceptions import ValidationError
from django.core.urlresolvers import reverse_lazy
@ -22,6 +23,7 @@ from django.db.models.signals import post_save
from utils.models import CreatedUpdatedModel, CampRelatedModel
from .email import add_new_speakerproposal_email, add_new_eventproposal_email
from ircbot.models import OutgoingIrcMessage
logger = logging.getLogger("bornhack.%s" % __name__)
@ -275,18 +277,36 @@ class EventProposal(UserSubmittedModel):
@receiver(post_save, sender=EventProposal)
@receiver(post_save, sender=SpeakerProposal)
def notify_content_team(sender, created, instance, **kwargs):
def notify_proposals(sender, created, instance, **kwargs):
target = settings.IRCBOT_CHANNELS['orga'] if 'orga' in settings.IRCBOT_CHANNELS else settings.IRCBOT_CHANNELS['default']
if created and isinstance(instance, SpeakerProposal):
if not add_new_speakerproposal_email(instance):
logger.error(
'Error adding speaker proposal email to outgoing queue for {}'.format(instance)
)
OutgoingIrcMessage.objects.create(
target=target,
message="New speaker proposal: {} (https://bornhack.dk/admin/program/speakerproposal/{}/change/)".format(
instance.name,
instance.uuid
),
timeout=timezone.now()+timedelta(minutes=10)
)
if created and isinstance(instance, EventProposal):
if not add_new_eventproposal_email(instance):
logger.error(
'Error adding event proposal email to outgoing queue for {}'.format(instance)
)
OutgoingIrcMessage.objects.create(
target=target,
message="New event proposal: {} (https://bornhack.dk/admin/program/eventproposal/{{ proposal.uuid }}/change/)".format(
instance.title,
instance.uuid
),
timeout=timezone.now()+timedelta(minutes=10)
)
###############################################################################