from django.dispatch import Signal event_created = Signal(providing_args=['event']) event_updated = Signal(providing_args=['event', 'diff', 'user']) event_status_updated = Signal(providing_args=['event', 'flag']) event_registration_closed = Signal(providing_args=['event', 'user']) def signal_handler_for_event_update(sender, **kwargs): event = kwargs.get('event') diff = kwargs.get('diff') updater = kwargs.get('user') event.workflow.send_emails_on_update(diff, updater) def signal_handler_for_event_status_update(sender, **kwargs): event = kwargs.get('event') flag = kwargs.get('flag') event.workflow.send_emails_on_status_update(flag) def signal_handler_for_event_registration_closed(sender, **kwargs): event = kwargs.get('event') updater = kwargs.get('user') event.workflow.send_emails_on_registration_closed(updater)