lino.core.signals

This defines Lino's standard system signals.

lino.core.signals.pre_startup
lino.core.signals.post_startup

Sent exactly once per process at site startup, just before any application-specific startup actions.

  • sender: the Site instance

lino.core.signals.pre_analyze

Sent exactly once per process at site startup, just before Lino analyzes the models.

  • sender the Site instance

  • models_list list of models

lino.core.signals.post_analyze

Sent exactly once per process at site startup, just after Site has finished to analyze the models.

lino.core.signals.database_connected

No longer used.

lino.core.signals.testcase_setup

Emitted each time lino.core.utils.TestCase.setUp is called. Lino uses this signal to reset its SiteConfig cache.

It is necessary because (afaics) the Django test runner doesn't send a 'connected' signal when it restores the database to a virgin state before running a new test case.

lino.core.signals.on_ui_created

Sent when a new model instance has been created and saved.

lino.core.signals.pre_ui_delete

Sent just before a model instance is being deleted using the user interface.

  • request: The HttpRequest object

lino.core.signals.pre_ui_save

Sent before a database object gets saved using the web user interface.

  • sender the database model

  • instance the database object which is going to be saved.

  • ar the action request

lino.core.signals.on_ui_updated

Sent when a database model instance has been modified and saved using the web interface.

A receiver of this signal gets the following keyword parameters:

Sender

the database model of the instance which has been updated

Watcher

the ChangeWatcher object (which contains the model instance and information about the changes)

Request

the BaseRequest object

lino.core.signals.pre_merge

Sent when a model instance is being merged into another instance.

lino.core.signals.auto_create

The auto_create signal is sent when lookup_or_create silently created a model instance.

Arguments sent with this signal:

  • sender : The model instance that has been created.

  • field : The database field

  • known_values : The specified known values

lino.core.signals.pre_remove_child
lino.core.signals.pre_add_child

Sent when an MTI child has been added. Arguments to the handler are:

  • sender : the parent (a database object instance)

  • request : the HttpRequest which asks to create an MTI child

  • child : the child model (a class object)

(This module's source code is available here.)