[ADD] module install/uninstall hooks.
authorChristophe Simonis <chs@odoo.com>
Fri, 6 Jun 2014 22:01:52 +0000 (00:01 +0200)
committerChristophe Simonis <chs@odoo.com>
Fri, 6 Jun 2014 22:41:29 +0000 (00:41 +0200)
commit4105b5f0285821d8056c721b5fd50b9cae902988
tree7d36efb69abf2a30cda708db6aa824c99e1bc999
parentbd51bf1e3508df7db96dfb16d3f0bafaf5b0f117
[ADD] module install/uninstall hooks.

Since 4ec71c74d1dcec96d764fb42aab856cb32fb5321, migration scripts
are not executed at module install anymore.
As this behavior was missused as "init" scripts (see [1]), this
commit re-add this possiblity via hooks.

There are 3 hooks that can be declared in the manifest file:
 - pre_init_hook: called before module installation
 - post_init_hook: called after module installation
 - uninstall_hook: called before module uninstallation

Like the "post_load" manifest option, the values for these hooks
must be a string containing the name of a method available at the
module root.
The signatures of these functions are:
 - (cr) for pre_init_hook
 - (cr, registry) for post_init_hook and uninstall_hook

[1] https://bugs.launchpad.net/openobject-server/+bug/1314680
openerp/modules/graph.py
openerp/modules/loading.py