General APIs

This page lists some general signals and hooks which do not belong to a specific plugin but might come in handy for all sorts of plugin.

Core

pretalx.common.signals.periodic_task = <django.dispatch.dispatcher.Signal object>

This is a regular django signal (no pretalx event signal) that we send out every time the periodic task cronjob runs. This interval is not sharply defined, it can be everything between a minute and a day. The actions you perform should be idempotent, meaning it should not make a difference if this is sent out more often than expected.

pretalx.submission.signals.submission_state_change = <pretalx.common.signals.EventPluginSignal object>

This signal allows you to trigger additional events when a submission changes its state. You will receive the submission after it has been saved, the previous state, and the user triggering the change if available. Any exceptions raised will be ignored.

As with all plugin signals, the sender keyword argument will contain the event.

Exporters

pretalx.common.signals.register_data_exporters = <pretalx.common.signals.EventPluginSignal object>

This signal is sent out to get all known data exporters. Receivers should return a subclass of pretalx.common.exporter.BaseExporter

As with all event plugin signals, the sender keyword argument will contain the event.

Organiser area

pretalx.orga.signals.nav_event = <pretalx.common.signals.EventPluginSignal object>

This signal allows you to add additional views to the admin panel navigation. You will get the request as a keyword argument request. Receivers are expected to return a list of dictionaries. The dictionaries should contain at least the keys label and url. You can also return a ForkAwesome icon name with the key icon, it will be respected depending on the type of navigation. You should also return an active key with a boolean set to True, when this item should be marked as active. The request object will have an attribute event.

If you use this, you should read the documentation on how to deal with URLs in pretalx.

As with all plugin signals, the sender keyword argument will contain the event.

pretalx.orga.signals.nav_global = <django.dispatch.dispatcher.Signal object>

This signal allows you to add additional views to the navigation bar when no event is selected. You will get the request as a keyword argument request. Receivers are expected to return a list of dictionaries. The dictionaries should contain at least the keys label and url. You can also return a ForkAwesome icon name with the key icon, it will be respected depending on the type of navigation. You should also return an active key with a boolean set to True, when this item should be marked as active.

If you use this, you should read the documentation on how to deal with URLs in pretalx.

This is no EventPluginSignal, so you do not get the event in the sender argument and you may get the signal regardless of whether your plugin is active.

pretalx.orga.signals.activate_event = <pretalx.common.signals.EventPluginSignal object>

This signal is sent out before an event goes live. It allows any installed plugin to raise an Exception to prevent the event from going live. The exception message will be exposed to the user. You will get the request as a keyword argument request. Receivers are not expected to return a response.

As with all plugin signals, the sender keyword argument will contain the event.

pretalx.orga.signals.nav_event_settings = <pretalx.common.signals.EventPluginSignal object>

This signal is sent out to collect additiona settings sub-pages of an event. Receivers are expected to return a list of dictionaries. The dictionaries should contain at least the keys label and url. You should also return an active key with a boolean set to True, when this item should be marked as active.

As with all plugin signals, the sender keyword argument will contain the event. A second keyword argument request will contain the request object.

Display

This signal allows you to add links to the footer of an event page. You are expected to return a dictionary containing the keys label and url.

As with all plugin signals, the sender keyword argument will contain the event.