Last active
August 12, 2018 12:34
-
-
Save inspiretk/5e2b8d0f08508a118e5341d1cfc12165 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ! / usr / bin / env python | |
| # - * - coding: utf-8 - * - | |
| import sys | |
| import os | |
| print('################################################################################################ #############') | |
| print('# Inheritance is an application to generate Module for Odoo # ') | |
| print('# www.falconsolutions.cl # ') | |
| print(' # Author: Marlon Falcon Herandez # ') | |
| print(' # mail: mfalcon@falconsolutions.cl # ') | |
| print(' ################################################################################################ ############# ') | |
| # Enter the name of the module | |
| name = raw_input ( " Enter the Name of the Module to Inherit: " ) | |
| module = name | |
| name = name.replace ( " . " , ' _ ' ) | |
| name = " legacy_ " + name | |
| form = raw_input ( " Give me the Form ID: " ) | |
| pos_campos = raw_input ( " Give me the name Reference field: " ) | |
| cant_campos = int ( raw_input ( " Number of Fields to Insert: " )) | |
| print(' " " ') | |
| print(' " ########## Fields #################################################################################### ') | |
| print(' " " ') | |
| print(' " " ') | |
| # We create the module folder | |
| os.makedirs (name) | |
| os.makedirs (name + " / views " ) | |
| os.makedirs (name + " / models " ) | |
| # We create the files in the root | |
| # We create the __init__.py | |
| file = open (name + ' /__init__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' import models \ n ' ) | |
| file .close () | |
| # We created the __manifest__.py | |
| file = open (name + ' /__manifest__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' ################################################################################################ ########################################################################## | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # OpenERP, Open Source Management Solution \ n ' ) | |
| file .write ( ' # This module copyright (C) 2017 Marlon Falcón Hernandez \ n ' ) | |
| file .write ( ' # (<http://www.falconsolutions.cl>). \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # This program is free software: you can redistribute it and / or modify \ n ' ) | |
| file .write ( ' # it under the terms of the GNU Affero General Public License as \ n ' ) | |
| file .write ( ' # published by the Free Software Foundation, either version 3 of the \ n ' ) | |
| file .write ( ' # License, or (at your option) any later version. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # This program is distributed in the hope that it will be useful, \ n ' ) | |
| file .write ( ' # but WITHOUT ANY WARRANTY; without even the implied warranty of \ n ' ) | |
| file .write ( ' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \ n ' ) | |
| file .write ( ' # GNU Affero General Public License for more details. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # You should have received a copy of the GNU Affero General Public License \ n ' ) | |
| file .write ( ' # along with this program. If not, see <http://www.gnu.org/licenses/>. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' ################################################################################################ ########################################################################## | |
| file .write ( ' { \ n ' ) | |
| file .write ( ' \' name \ ' : \' ' + name + ' MFH \ ' , \ n ' ) | |
| file .write ( ' \' version \ ' : \' 10.0.0.1.0 \ ' , \ n ' ) | |
| file .write ( ' \' author \ ' : "Falcón Solutions, Marlon Falcón ...", \ n ' ) | |
| file .write ( ' \' maintainer \ ' : \' Falcon Solutions \ ' , \ n ' ) | |
| file .write ( ' \' website \ ' : \' http://www.falconsolutions.cl \ ' , \ n ' ) | |
| file .write ( ' \' license \ ' : \' AGPL-3 \ ' , \ n ' ) | |
| file .write ( ' \' category \ ' : \' account.payment \ ' , \ n ' ) | |
| file .write ( ' \' summary \ ' : \' Example of a module by FalconSolutions. \ ' , \ n ' ) | |
| file .write ( ' \' depends \ ' : [ \' account \ ' , \' account_accountant \ ' ], \ n ' ) | |
| file .write ( ' \' description \ ' : "" " \ n ' ) | |
| file .write ( ' Module based on FalconSolutions \ n ' ) | |
| file .write ( ' ============================================================ ======== \ n ' ) | |
| file .write ( ' This module allows you to select \ n ' ) | |
| file .write ( ' "" ", \ n ' ) | |
| file .write ( ' \' demo \ ' : [], \ n ' ) | |
| file .write ( ' \' test \ ' : [], \ n ' ) | |
| file .write ( ' \' data \ ' : [ \' views / ' + name + ' _view.xml \ ' ,], \ n ' ) | |
| file .write ( ' \' installable \ ' : True, \ n ' ) | |
| file .write ( ' \' auto_install \ ' : False, \ n ' ) | |
| file .write ( ' } \ n ' ) | |
| file .close () | |
| # We created the Model | |
| file = open (name + ' /models/__init__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' import ' + name + ' \ n ' ) | |
| file .close () | |
| # We created the Model | |
| file = open (name + ' / models / ' + name + ' .py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' # Part of Odoo. See LICENSE file for full copyright and licensing details. \ n ' ) | |
| file .write ( ' from odoo import api, fields, models \ n ' ) | |
| file .write ( ' from datetime import datetime \ n ' ) | |
| file .write ( ' \ n ' ) | |
| file .write ( ' class ' + name + ' (models.Model): \ n ' ) | |
| file .write ( ' _inherit = " ' + module + ' " \ n ' ) | |
| fix = [] | |
| for num in range ( 1 , cant_fields + 1 ): | |
| fname = raw_input ( " Field Name: " ) | |
| print " Char, Text, Boolean, Datetime, Integer " | |
| ftipo = raw_input ( " Type of Field: " ) | |
| print(' " ----------------------------------- " ') | |
| print(' " " ') | |
| print(' " " ') | |
| file .write ( ' ' + fname + ' = fields. ' + ftipo + ' (string = \' ' + fname + ' \ ' , required = True) \ n ' ) | |
| file .write ( ' \ n ' ) | |
| array.append (fname) | |
| file .close () | |
| # We create the _views.xml | |
| file = open (name + ' / views / ' + name + ' _view.xml ' , ' w ' ) | |
| file .write ( ' <? xml version = "1.0" encoding = "UTF-8"?> \ n ' ) | |
| file .write ( ' <odoo> \ n ' ) | |
| file .write ( ' <! - Comment on the Views -> \ n ' ) | |
| file .write ( ' <record id = "view_ej_ ' + name + ' _form" model = "ir.ui.view"> \ n ' ) | |
| file .write ( ' <field name = "name"> eg ' + name + ' .form </ field> \ n ' ) | |
| file .write ( ' <field name = "model"> ' + module + ' </ field> \ n ' ) | |
| file .write ( ' <field name = "inherit_id" ref = " ' + form + ' " /> \ n ' ) | |
| file .write ( ' <field name = "arch" type = "xml"> \ n ' ) | |
| file .write ( ' <field name = " ' + pos_campos + ' " position = "after"> \ n ' ) | |
| for fname in fix: | |
| file .write ( ' <field name = " ' + fname + ' " /> \ n ' ) | |
| file .write ( ' </ field> \ n ' ) | |
| file .write ( ' </ field> \ n ' ) | |
| file .write ( ' </ record> \ n ' ) | |
| file .write ( ' </ odoo> \ n ' ) | |
| file .close () | |
| print('The Module was created: ' + name) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # https://github.com/falconsoft3d/odoo-constructor-module | |
| # https://translate.google.com/translate?hl=en&sl=es&tl=en&u=https%3A%2F%2Fgithub.com%2Ffalconsoft3d%2Fodoo-constructor-module | |
| # It is a program that creates simple modules.to execute it you need python | |
| python simple.py | |
| # It is a program that creates modules with use of inheritance python herencia.py | |
| https://www.youtube.com/watch?v=DafCbHfXKcM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ! / usr / bin / env python | |
| # - * - coding: utf-8 - * - | |
| import sys | |
| import os | |
| print(' ################################################################################################ ############# ') | |
| print(' # Simple is an application to generate Module for Odoo ERP # " ') | |
| print(' # www.falconsolutions.cl # " ') | |
| print(' # Author: Marlon Falcon Herandez # " ') | |
| print(' # mail: mfalcon@falconsolutions.cl # " ') | |
| print(' ################################################################################################ ############# ') | |
| # Enter the name of the module | |
| name = raw_input ( " Enter the Module Name: " ) | |
| cant_fields = int ( raw_input ( " Number of Fields: " )) | |
| print(' ') | |
| print(' ########## Fields #################################################################################### ') | |
| print(' ') | |
| print(' ') | |
| # We create the module folder | |
| os.makedirs (name) | |
| os.makedirs (name + " / views " ) | |
| os.makedirs (name + " / models " ) | |
| # We create the files in the root | |
| # We create the __init__.py | |
| file = open (name + ' /__init__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' import models \ n ' ) | |
| file .close () | |
| # We created the __manifest__.py | |
| file = open (name + ' /__manifest__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' ################################################################################################ ########################################################################## | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # OpenERP, Open Source Management Solution \ n ' ) | |
| file .write ( ' # This module copyright (C) 2017 Marlon Falcón Hernandez \ n ' ) | |
| file .write ( ' # (<http://www.falconsolutions.cl>). \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # This program is free software: you can redistribute it and / or modify \ n ' ) | |
| file .write ( ' # it under the terms of the GNU Affero General Public License as \ n ' ) | |
| file .write ( ' # published by the Free Software Foundation, either version 3 of the \ n ' ) | |
| file .write ( ' # License, or (at your option) any later version. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # This program is distributed in the hope that it will be useful, \ n ' ) | |
| file .write ( ' # but WITHOUT ANY WARRANTY; without even the implied warranty of \ n ' ) | |
| file .write ( ' # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \ n ' ) | |
| file .write ( ' # GNU Affero General Public License for more details. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' # You should have received a copy of the GNU Affero General Public License \ n ' ) | |
| file .write ( ' # along with this program. If not, see <http://www.gnu.org/licenses/>. \ n ' ) | |
| file .write ( ' # \ n ' ) | |
| file .write ( ' ################################################################################################ ########################################################################## | |
| file .write ( ' { \ n ' ) | |
| file .write ( ' \' name \ ' : \' ' + name + ' MFH \ ' , \ n ' ) | |
| file .write ( ' \' version \ ' : \' 10.0.0.1.0 \ ' , \ n ' ) | |
| file .write ( ' \' author \ ' : "Falcón Solutions, Marlon Falcón ...", \ n ' ) | |
| file .write ( ' \' maintainer \ ' : \' Falcon Solutions \ ' , \ n ' ) | |
| file .write ( ' \' website \ ' : \' http://www.falconsolutions.cl \ ' , \ n ' ) | |
| file .write ( ' \' license \ ' : \' AGPL-3 \ ' , \ n ' ) | |
| file .write ( ' \' category \ ' : \' account.payment \ ' , \ n ' ) | |
| file .write ( ' \' summary \ ' : \' Example of a module by FalconSolutions. \ ' , \ n ' ) | |
| file .write ( ' \' depends \ ' : [ \' account \ ' , \' account_accountant \ ' ], \ n ' ) | |
| file .write ( ' \' description \ ' : "" " \ n ' ) | |
| file .write ( ' Module based on FalconSolutions \ n ' ) | |
| file .write ( ' ============================================================ ======== \ n ' ) | |
| file .write ( ' This module allows you to select \ n ' ) | |
| file .write ( ' "" ", \ n ' ) | |
| file .write ( ' \' demo \ ' : [], \ n ' ) | |
| file .write ( ' \' test \ ' : [], \ n ' ) | |
| file .write ( ' \' data \ ' : [ \' views / ' + name + ' _view.xml \ ' ,], \ n ' ) | |
| file .write ( ' \' installable \ ' : True, \ n ' ) | |
| file .write ( ' \' auto_install \ ' : False, \ n ' ) | |
| file .write ( ' } \ n ' ) | |
| file .close () | |
| # We created the Model | |
| file = open (name + ' /models/__init__.py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' import ' + name + ' \ n ' ) | |
| file .close () | |
| # We created the Model | |
| file = open (name + ' / models / ' + name + ' .py ' , ' w ' ) | |
| file .write ( ' # - * - coding: utf-8 - * - \ n ' ) | |
| file .write ( ' # Part of Odoo. See LICENSE file for full copyright and licensing details. \ n ' ) | |
| file .write ( ' from odoo import api, fields, models \ n ' ) | |
| file .write ( ' from datetime import datetime \ n ' ) | |
| file .write ( ' \ n ' ) | |
| file .write ( ' class ' + name + ' (models.Model): \ n ' ) | |
| file .write ( ' _name = \' ex. ' + name + ' \ ' \ n ' ) | |
| fix = [] | |
| for num in range ( 1 , cant_fields + 1 ): | |
| fname = raw_input ( " Field Name: " ) | |
| print " Char, Text, Boolean, Datetime, Integer " | |
| ftipo = raw_input ( " Type of Field: " ) | |
| print " ----------------------------------- " | |
| print " " | |
| print " " | |
| file .write ( ' ' + fname + ' = fields. ' + ftipo + ' (string = \' ' + fname + ' \ ' , required = True) \ n ' ) | |
| file .write ( ' \ n ' ) | |
| array.append (fname) | |
| file .close () | |
| # We create the _views.xml | |
| file = open (name + ' / views / ' + name + ' _view.xml ' , ' w ' ) | |
| file .write ( ' <? xml version = "1.0" encoding = "UTF-8"?> \ n ' ) | |
| file .write ( ' <odoo> \ n ' ) | |
| file .write ( ' <! - Comment on the Views -> \ n ' ) | |
| file .write ( ' <record id = "view_ej_ ' + name + ' _form" model = "ir.ui.view"> \ n ' ) | |
| file .write ( ' <field name = "name"> eg ' + name + ' .form </ field> \ n ' ) | |
| file .write ( ' <field name = "model"> eg ' + name + ' </ field> \ n ' ) | |
| file .write ( ' <field name = "arch" type = "xml"> \ n ' ) | |
| file .write ( ' <form string = "List of ' + name.capitalize () + ' "> \ n ' ) | |
| file .write ( ' <group> \ n ' ) | |
| for fname in fix: | |
| file .write ( ' <field name = " ' + fname + ' " /> \ n ' ) | |
| file .write ( ' </ group> \ n ' ) | |
| file .write ( ' </ form> \ n ' ) | |
| file .write ( ' </ field> \ n ' ) | |
| file .write ( ' </ record> \ n ' ) | |
| file .write ( ' <record id = "view_ej_ ' + name + ' _tree" model = "ir.ui.view"> \ n ' ) | |
| file .write ( ' <field name = "name"> eg ' + name + ' .tree </ field> \ n ' ) | |
| file .write ( ' <field name = "model"> eg ' + name + ' </ field> \ n ' ) | |
| file .write ( ' <field name = "arch" type = "xml"> \ n ' ) | |
| file .write ( ' <tree> \ n ' ) | |
| for fname in fix: | |
| file .write ( ' <field name = " ' + fname + ' " /> \ n ' ) | |
| file .write ( ' </ tree> \ n ' ) | |
| file .write ( ' </ field> \ n ' ) | |
| file .write ( ' </ record> \ n ' ) | |
| # We place the action | |
| file .write ( ' <record model = "ir.actions.act_window" id = "act_ej_ ' + name + ' "> \ n ' ) | |
| file .write ( ' <field name = "name"> ' + name + ' </ field> \ n ' ) | |
| file .write ( ' <field name = "type"> ir.actions.act_window </ field> \ n ' ) | |
| file .write ( ' <field name = "res_model"> eg ' + name + ' </ field> \ n ' ) | |
| file .write ( ' <field name = "view_type"> form </ field> \ n ' ) | |
| file .write ( ' <field name = "view_mode"> tree, form </ field> \ n ' ) | |
| file .write ( ' </ record> \ n ' ) | |
| # We place the Menu | |
| file .write ( ' <! - Declare the menu -> \ n ' ) | |
| file .write ( ' <menuitem id = "ej_ ' + name + ' _menu" name = " ' + name.capitalize () + ' " sequence = "10" /> \ n ' ) | |
| file .write ( ' <menuitem id = "submenu_ej_ ' + name + ' _menu" name = " ' + name.capitalize () + ' " sequence = "10" parent = "ej_ ' + name + ' _menu" /> \ n ' ) | |
| file .write ( ' <menuitem id = "submenu_ej_ ' + name + ' _action" name = " ' + name.capitalize () + ' " sequence = "10" parent = "submenu_ej_ ' + name + ' _menu" action = " act_ej_ ' + name + ' "/> \ n ' ) | |
| file .write ( ' </ odoo> \ n ' ) | |
| file .close () | |
| print('The Module was created: ' + name) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment