Available signals
- ephios.core.signals.event_action = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a list of actions that a user can perform on a single event. The actions are displayed in the dropdown menu on the event detail view. Receivers receive a
event
andrequest
keyword argument. Each action is represented by a dict with the keysurl
,label
andicon
.
- ephios.core.signals.event_forms = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a list of form instances to show on the event create and update views. You receive an Optional[event] and request keyword arg you should use to create an instance of your form. Subclass
ephios.core.forms.events.BasePluginFormMixin
to customize the rendering behavior. If all forms are valid, save will be called on your form.
- ephios.core.signals.event_info = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get additional information to display in the general section of the event detail view. Receivers will receive an event and request keyword arg to generate the information. Receivers should return html that is added below the event description.
This signal is sent out to get links for that page footer. Receivers should return a dict of with keys being the text and values being the url to link to. Receivers will receive a
request
keyword argument.
- ephios.core.signals.homepage_info = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get additional information to display on the homepage. Receivers receive a
request
keyword argument. Receivers should return html that will be rendered inside a card.
- ephios.core.signals.html_head = <ephios.core.plugins.PluginSignal object>
This signal allows you to put code inside the HTML
<head>
tag of every page. You will get the request as the keyword argumentrequest
and are expected to return HTML.
- ephios.core.signals.management_settings_sections = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get sections for management settings. Receivers should return a list of dicts containing key-value-pairs for ‘label’, ‘url’ and a boolean flag ‘active’. Only views that the current user is allowed to view should be returned. Receivers will receive a
request
keyword argument.
This signal is sent out to get links for the main navbar. Receivers should return a list of dicts containing key-value-pairs for ‘label’, ‘url’ and a boolean flag ‘active’. An optional key ‘group’ can contain a label for a group under which the link should be displayed. Receivers will receive a
request
keyword argument.
- ephios.core.signals.participant_from_request = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a participant from a request with an unauthenticated user. Return a subclass of AbstractParticipant or None if you cannot provide a participant. The first non-None return-value will be used. Receivers will receive a
request
keyword argument.
- ephios.core.signals.participant_signup_checkers = <ephios.core.plugins.PluginSignal object>
This signal is sent out so receivers can prevent signup for a shift or provide feedback for dispatchers. Receivers are expected to return a list of functions receiving a
method
andparticipant
argument and optionally raising fitting subclasses ofephios.core.signup.checkers.SignupActionError
.
- ephios.core.signals.participation_finished = <ephios.core.plugins.PluginSignal object>
This signal is sent out once for every confirmed participation after the participation ended and the
finished
flag is set to True. Changing the shift date to the future will not cause this to be called again. Exceptions in receivers are ignored, so make sure your code is robust enough to handle errors and retry if needed. This signal is based onperiodic_signal
and provides aparticipation
keyword argument.
- ephios.core.signals.periodic_signal = <ephios.core.plugins.PluginSignal object>
This signal is called periodically, at least every 15 minutes.
- ephios.core.signals.register_consequence_handlers = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all known consequence handlers. Receivers should return a list of subclasses of
ephios.core.consequences.BaseConsequenceHandler
.
- ephios.core.signals.register_event_bulk_action = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a list of actions that a user can perform on a list of events. Receivers should return a list of actions. Each action is represented by a dict with the keys
url
,label
andicon
. Once the user wants to perform the action, a POST request will be issued to this URL. Thebulk_action
field will contain a list of event ids on which the action should be performed.
- ephios.core.signals.register_group_permission_fields = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a list of permission fields that should be displayed on the group form. Receivers should return a list of tuples of the form
(field_name, field)
. field must be an instance ofephios.extra.permissions.PermissionField
.
- ephios.core.signals.register_healthchecks = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all health checks that can be run to monitor the health of the application. Receivers should return a list of subclasses of
ephios.core.services.health.AbstractHealthCheck
- ephios.core.signals.register_notification_backends = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all backends that can handle sending out notifications. Receivers should return a list of subclasses of
ephios.core.notifications.backends.AbstractNotificationBackend
- ephios.core.signals.register_notification_types = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all notification types that can be sent out to a user or participant. Receivers should return a list of subclasses of
ephios.core.notifications.types.AbstractNotificationHandler
- ephios.core.signals.register_shift_structures = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all known shift structures. Receivers should return a list of subclasses of
ephios.core.signup.structure.abstract.AbstractShiftStructure
.
- ephios.core.signals.register_signup_flows = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get all known signup flows. Receivers should return a list of subclasses of
ephios.core.signup.flow.abstract.AbstractSignupFlow
.
- ephios.core.signals.shift_forms = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get a list of form instances to show on the shift create and update views. You receive a shift and request keyword arg you should use to create an instance of your form. Subclass
ephios.core.forms.events.BasePluginFormMixin
to customize the rendering behavior. If all forms are valid, save will be called on your form.
- ephios.core.signals.shift_info = <ephios.core.plugins.PluginSignal object>
This signal is sent out to get additional information to display in the shift box of the event detail view. Receivers will receive a shift and request keyword arg to generate the information. Receivers should return html that is added below the participations.