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?
Scaffolding is the way of building a skeleton structure for a module in Odoo. Using Odoo scaffolding we can create the module structure automatically. It saves much of our effort in creating a module manually.
One of the characteristics that differentiates Odoo from many other ERP software is its modular architecture. There are over 35 base Odoo modules or odoo apps, covering a vast array of business functions, from Manufacturing, Inventory, and Accounting, to Sales, eCommerce, HR, and more.
Odoo Accounting Module. Odoo Accounting Module is one of the tools of the Odoo platform, designed to increase business productivity. The module automates the work of accountants and allows tracking of the company cash flow.
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
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)
Edit the ./addons/my_new_module/__openerp__.py file.
nano ./addons/my_new_module/__openerp__.py
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 to the list of module dependencies depends.
'depends': ['base', 'mail'],
Edit models.py
nano ./addons/my_new_module/models.py
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.)
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.
You can use
./odoo-bin scaffold MODULE_NAME PATH_TO_STORE_YOUR_MODULE_OR_ADDONS
For example:
./odoo-bin scaffold module_name /odoo/odoo-server/custom_addons/
Here custom_addons is your directory in odoo-server/
cmd in Odoo10:
./odoo-bin scaffold <module_name> <destination path where you want to create>
Use odoo.py
instead of oe
:
./path/to/odoo/odoo.py scaffold my-module
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With