Search code examples
odooscaffold

Odoo - scaffolding?


I read here that you can scaffold a module using a command, so you won't need to manually create some initial files. But such command does not work on master (on Odoo development branch):

./oe scaffold Academy ../my-modules

Because there is no such file called oe in openerp directory. Did this thing change in the newest version? How can I scaffold a module in Odoo?


Solution

  • Now odoo 10 or later version use odoo-bin instead of odoo.py

    1. On the shell or terminal, change directory to your odoo folder. Maybe it's in /opt/odoo, or maybe it's in /home/odoo :

       cd /opt/odoo
      
    2. Create a new module using the odoo.py script:

       ./odoo.py scaffold my_new_module ./addons/
      

    (where my_new_module is a name of your new module, and ./addons/ is the Odoo addons directory)

    1. Edit the ./addons/my_new_module/_openerp_.py file.

       nano ./addons/my_new_module/__openerp__.py
      
    2. Change the name field to set a user friendly name of your module (for example "Andrius's New Module"). Change description and fields also. And add your needed modules, such as 'mail', to the list of module dependencies depends.

       'depends': ['base', 'mail'],
      
    3. Edit models.py

       nano ./addons/my_new_module/models.py
      
    4. Add code in your my_new_module/models.py file, for example:

    from openerp import models, api
    
    class FooterlessNotification(models.Model)
        _inherit = 'mail.notification'
    
        @api.model
        def get_signature_footer(self, user_id, res_model=None, res_id=None, context=None, user_signature=True):
            return ""
    

    (As an example, this code will extend the 'mail.notification' model and replace its get_signature_footer method with one that returns an empty footer.)

    1. Install your module via Odoo settings.

    To find it there you may need to use the "Update Module List" option.

    If you can't find the option "Update Module List" either, you may need to enable the "Technical Features" checkbox in your current user's settings.

    To display Modules, not just the Applications, remove the tag "Applications" from the search box filter, by clicking the small "x" before the tag.