TIP: You can type at any time to perform a new search.
Module Prototyper
module_prototyper · OCA/server-tools
- Repository
- OCA/server-tools · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Others
- Folder size
- 1.61 MB
- License
- AGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://github.com/OCA/server-tools
- Last tracking update
- 2026-08-07 07:47:40
- Authors
- Odoo Community Association (OCA), Pelayo Gómez
- Maintainers
- Savoir-faire Linux
- Committers
- Enric Tobella, Weblate, OCA Transbot, OCA-git-bot, oca-travis, oca-ci, hkapatel, oca-git-bot
- Odoo dependencies
- None
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Code Analysis ⓘ
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
module_prototyper_base_form_view |
Base form view for module prototypes | module_prototyper | form | New |
module_prototyper_base_tree_view |
Base tree View for module prototypes | module_prototyper | tree | New |
view_ir_model_fields_form |
view_ir_model_fields_form | ir.model.fields | form | Inherits base.view_model_fields_form |
view_ir_model_form |
view_ir_model_form | ir.model | form | Inherits base.view_model_form |
view_module_export_wizard |
Export Module | module_prototyper.module.export | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (6)
-
client_contextCharhelp='Context to use on the client side when handling the field (python dictionary)' args: 'Context' -
column1Charhelp="name of the column referring to 'these' records in the relation table" args: 'Column1' -
column2Charhelp="name of the column referring to 'those' records in the relation table" args: 'Column2' -
helperTextargs: 'Helper' -
limitIntegerhelp='Read limit' args: 'Read limit' -
notesTextargs: 'Notes to developers.'
No public methods.
New fields (23)
-
applicationBooleandefault=Falsehelp='Check if the module is an Odoo application.' args: 'Application' -
authorCharhelp='Enter your name'required=True args: 'Author' -
auto_installBooleandefault=Falsehelp='Check if the module should be install by default.' args: 'Auto Install' -
category_idMany2one → ir.module.categoryargs: 'ir.module.category', 'Category' -
data_idsMany2many → ir.filtershelp='The records matching the filters will be added as data.' args: 'ir.filters', 'prototype_data_rel', 'module_prototyper_id', 'filter_id', 'Data filters' -
demo_idsMany2many → ir.filtershelp='The records matching the filters will be added as demo data.' args: 'ir.filters', 'prototype_demo_rel', 'module_prototyper_id', 'filter_id', 'Demo filters' -
dependency_idsMany2many → ir.module.modulehelp='Enter the list of required modules that need to be installed for your module to work properly' args: 'ir.module.module', 'module_prototyper_module_rel', 'module_prototyper_id', 'module_id', 'Dependencies' -
descriptionTextdefault=get_default_descriptionhelp='Enter the description of your module, what it does, how to install, configure and use it, the roadmap or known issues. The description will be exported in README.rst'required=True args: 'Description' -
field_idsMany2many → ir.model.fieldshelp='Enter the list of fields that you have created or modified and want to export in this module. New models will be exported as long as you choose one of his fields.' args: 'ir.model.fields', 'prototype_fields_rel', 'module_prototyper_id', 'field_id', 'Fields' -
group_idsMany2many → res.groupshelp='Enter the list of groups that you have created and want to export in this module.' args: 'res.groups', 'prototype_groups_rel', 'module_prototyper_id', 'group_id', 'Groups' -
human_nameCharhelp='The Module Name will be used as the displayed name of the exported module.'required=True args: 'Module Name' -
icon_imageBinaryhelp='The icon set up here will be used as the icon for the exported module also' args: 'Icon' -
licenseSelectiondefault=licenses.AGPL3string='License' args: [(licenses.GPL3, 'GPL Version 3'), (licenses.GPL3_L, 'GPL-3 or later version'), (licenses.LGPL3, 'LGPL-3'), (licenses.LGPL3_L, 'LGPL-3 or later version'), (licenses.AGPL3, 'Affero GPL-3'), (licenses.OSI, 'Other OSI Approved Licence'), ('Other proprietary', 'Other Proprietary')] -
maintainerCharhelp='Enter the name of the person or organization who will maintain this module' args: 'Maintainer' -
menu_idsMany2many → ir.ui.menuhelp='Enter the list of menu items that you have created and want to export in this module. Related windows actions will be exported as well.' args: 'ir.ui.menu', 'prototype_menu_rel', 'module_prototyper_id', 'menu_id', 'Menu Items' -
nameCharhelp='The technical name will be used to define the name of the exported module, the name of the model.'required=True args: 'Technical Name' -
report_idsMany2many → ir.actions.reporthelp='Enter the list of reports that you have created and want to export in this module.' args: 'ir.actions.report', 'prototype_report_rel', 'module_prototyper_id', 'report_id', 'Reports' -
right_idsMany2many → ir.model.accesshelp='Enter the list of access rights that you have created and want to export in this module.' args: 'ir.model.access', 'prototype_rights_rel', 'module_prototyper_id', 'right_id', 'Access Rights' -
rule_idsMany2many → ir.rulehelp='Enter the list of record rules that you have created and want to export in this module.' args: 'ir.rule', 'prototype_rule_rel', 'module_prototyper_id', 'rule_id', 'Record Rules' -
summaryCharhelp='Enter a summary of your module'required=True args: 'Summary' -
versionChardefault='14.0.1.0.0'help='Enter the version of your module with 5 digits'size=10 args: 'Version' -
view_idsMany2many → ir.ui.viewhelp='Enter the list of views that you have created and want to export in this module.' args: 'ir.ui.view', 'prototype_view_rel', 'module_prototyper_id', 'view_id', 'Views' -
websiteCharhelp='Enter the URL of your website' args: 'Website'
-
fixup_arch(cls, archstr)@classmethod -
fixup_domain(cls, domain)@classmethodFix a domain according to unprefixing of fields -
friendly_name(cls, name)@classmethod -
generate_data_files(self)@api.modelGenerate data and demo files -
generate_file_details(self, filename, template, **kwargs)@api.modelgenerate file details from jinja2 template. :param filename: name of the file the content is related to :param template: path to the file to render the content :param kwargs: arguments of the template :return: File_details instance -
generate_files(self)@api.modelGenerates the files from the details of the prototype. :return: tuple -
generate_menus_details(self)@api.modelWrapper to generate the menus files. -
generate_model_details(self, model, field_descriptions)@api.modelWrapper to generate the python file for the model. :param model: ir.model record. :param field_descriptions: list of ir.model.fields records. :return: FileDetails instance. -
generate_models_details(self)@api.modelFinds the models from the list of fields and generates the __init__ file and each models files (one by class). -
generate_models_init_details(self, ir_models)@api.modelWrapper to generate the __init__.py file in models folder. -
generate_module_init_file_details(self)@api.modelWrapper to generate the __init__.py file of the module. -
generate_module_openerp_file_details(self)@api.modelWrapper to generate the __openerp__.py file of the module. -
generate_views_details(self)@api.modelWrapper to generate the views files. -
get_default_description(self)Extract the content of default description -
is_prefixed(cls, name)@classmethod -
save_icon(self)@api.modelSave the icon of the prototype as a image. The image is used afterwards as the icon of the exported module. :return: FileDetails instance -
set_field_descriptions(self)Mock the list of fields into dictionary. It allows us to add or change attributes of the fields. :return: None -
setup_env(self, api_version)@api.modelSet the Jinja2 environment. The environment will helps the system to find the templates to render. :param api_version: module_prototyper.api_version, odoo api :return: jinja2.Environment instance. -
unprefix(cls, name)@classmethod
New fields (2)
-
manifest_file_nameChar -
nameChar
No public methods.
New fields (4)
-
api_versionMany2one → module_prototyper.api_versioncomodel_name='module_prototyper.api_version'default=_default_api_versionrequired=Truestring='API version' -
dataBinaryreadonly=True args: 'File' -
nameCharreadonly=True args: 'File Name' -
stateSelectiondefault='choose' args: [('choose', 'choose'), ('get', 'get')]
-
action_export(self)Export a zip file containing the module based on the information provided in the prototype, using the templates chosen in the wizard. -
zip_files(wizard, prototypes)@staticmethodTakes a set of file and zips them. :param file_details: tuple (filename, file_content) :return: tuple (zip_file, stringIO)
Loading…
Loading…
Loading…