diff --git a/prototype/README.rst b/module_prototyper/README.rst similarity index 64% rename from prototype/README.rst rename to module_prototyper/README.rst index 774e696b5..84df73de9 100644 --- a/prototype/README.rst +++ b/module_prototyper/README.rst @@ -77,3 +77,48 @@ This module is maintained by the OCA. OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. To contribute to this module, please visit http://odoo-community.org. + +Versions +======== + +v0.1 +---- + +All the features are not implemented but the minimal is done. +With this version you can: + + The set up of openerp.py is covered, description, maintainer, website, name, technical name... + Views and menus can be set through odoo and gathered in prototype. The files will be automatically generated and add to the data section of the openerp.py. Be aware some advanced feature as domain or context might still missing. + Dependencies can be set throught the Dependency page + Custom fields can be added. A file by model will be generated with all the fields of the model. The init.py files are updated accordingly. Be aware that some features are not implemented yet, as the domain, the context. + +This version should be enought for: + + set up the client module + create a new field in a view. + +Features that you might expect in next version: + + better generation of fields (many2many fields, domain, context) + Generation of data and demo data files. + Security files (rules, ir.model.access.csv) + openerp's description editing README.rst and index.html + module screenshots + +v0.2 +---- + + Renamed from prototype to module_prototyper as discussed in #108 + menu in Settings that gather element used to create a prototype (menu views, views, fields) + +v0.3 +---- + Replace ir.ui.model by ir.ui.view in generated xml views + Improve pep8 compatibility of generation of models + + +Known bugs +---------- + + icon file extension might be wrong. The extension is hard coded for now. It is planned add Document as dependency to handle it. + diff --git a/prototype/__init__.py b/module_prototyper/__init__.py similarity index 100% rename from prototype/__init__.py rename to module_prototyper/__init__.py diff --git a/prototype/__openerp__.py b/module_prototyper/__openerp__.py similarity index 90% rename from prototype/__openerp__.py rename to module_prototyper/__openerp__.py index e92d48b0f..8de91bdf4 100644 --- a/prototype/__openerp__.py +++ b/module_prototyper/__openerp__.py @@ -21,8 +21,8 @@ ############################################################################## { - 'name': 'Prototype', - 'version': '0.1', + 'name': 'Module Prototyper', + 'version': '0.3', 'author': 'Savoir-faire Linux', 'maintainer': 'Savoir-faire Linux', 'website': 'http://www.savoirfairelinux.com', @@ -30,15 +30,14 @@ 'category': 'Others', 'summary': 'Prototype your module', 'depends': [ - 'base', 'admin_technical_features', ], 'external_dependencies': { 'python': [], }, 'data': [ - 'wizard/prototype_module_export_view.xml', - 'views/prototype_view.xml', + 'wizard/module_prototyper_module_export_view.xml', + 'views/module_prototyper_view.xml', 'views/ir_model_fields_view.xml', 'security/ir.model.access.csv', ], diff --git a/module_prototyper/i18n/fr.po b/module_prototyper/i18n/fr.po new file mode 100644 index 000000000..15c519357 --- /dev/null +++ b/module_prototyper/i18n/fr.po @@ -0,0 +1,338 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * module_prototyper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-02 17:07+0000\n" +"PO-Revision-Date: 2015-01-02 12:18-0500\n" +"Last-Translator: Jordi Riera \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"X-Generator: Poedit 1.5.4\n" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,api_version:0 +msgid "8.0" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper.module.export,api_version:0 +msgid "API version" +msgstr "Version de l'API" + +#. module: module_prototyper +#: field:module_prototyper,right_ids:0 +msgid "Access Rights" +msgstr "Liste des contrôles d'accès" + +#. module: module_prototyper +#: field:module_prototyper,application:0 +msgid "Application" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,author:0 +msgid "Author" +msgstr "Auteur" + +#. module: module_prototyper +#: field:module_prototyper,auto_install:0 +msgid "Auto Install" +msgstr "Installation automatique" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Cancel" +msgstr "Annuler" + +#. module: module_prototyper +#: field:module_prototyper,category_id:0 +msgid "Category" +msgstr "Catégorie" + +#. module: module_prototyper +#: help:module_prototyper,application:0 +msgid "Check if the module is an Odoo application." +msgstr "Cocher si le module est une application Odoo." + +#. module: module_prototyper +#: help:module_prototyper,auto_install:0 +msgid "Check if the module should be install by default." +msgstr "Cocher si le module devrait être installé par défaut." + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Close" +msgstr "Fermer" + +#. module: module_prototyper +#: field:module_prototyper,create_uid:0 +#: field:module_prototyper.module.export,create_uid:0 +msgid "Created by" +msgstr "Créé par" + +#. module: module_prototyper +#: field:module_prototyper,create_date:0 +#: field:module_prototyper.module.export,create_date:0 +msgid "Created on" +msgstr "Créé le" + +#. module: module_prototyper +#: field:module_prototyper,data_ids:0 +msgid "Data filters" +msgstr "Filtres pour les données" + +#. module: module_prototyper +#: field:module_prototyper,demo_ids:0 +msgid "Demo filters" +msgstr "Filtres pour les données de démo" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,dependency_ids:0 +msgid "Dependencies" +msgstr "Dépendances" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,description:0 +msgid "Description" +msgstr "Descriptions" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export" +msgstr "Exporter" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Complete" +msgstr "Export terminé" + +#. module: module_prototyper +#: model:ir.actions.act_window,name:module_prototyper.button_module_export_action +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Module" +msgstr "Exporter le module" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Settings" +msgstr "Configuration de l'export" + +#. module: module_prototyper +#: model:ir.model,name:module_prototyper.model_ir_model_fields +#: model:ir.ui.menu,name:module_prototyper.ir_model_model_fields +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,field_ids:0 +msgid "Fields" +msgstr "Champs" + +#. module: module_prototyper +#: field:module_prototyper.module.export,data:0 +msgid "File" +msgstr "Fichier" + +#. module: module_prototyper +#: field:module_prototyper.module.export,name:0 +msgid "File Name" +msgstr "Nom du fichier" + +#. module: module_prototyper +#: field:module_prototyper,group_ids:0 +msgid "Groups" +msgstr "Groupes" + +#. module: module_prototyper +#: field:ir.model.fields,helper:0 +msgid "Helper" +msgstr "Texte d'aider" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Here is the exported module:" +msgstr "Voici le module exporté :" + +#. module: module_prototyper +#: field:module_prototyper,id:0 field:module_prototyper.module.export,id:0 +msgid "ID" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,icon_image:0 +msgid "Icon" +msgstr "Icône" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +msgid "Interface" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,write_uid:0 +#: field:module_prototyper.module.export,write_uid:0 +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. module: module_prototyper +#: field:module_prototyper,write_date:0 +#: field:module_prototyper.module.export,write_date:0 +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: module_prototyper +#: field:module_prototyper,licence:0 +msgid "Licence" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,maintainer:0 +msgid "Maintainer" +msgstr "Mainteneur" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_grant_menu_access +#: field:module_prototyper,menu_ids:0 +msgid "Menu Items" +msgstr "Éléments du menu" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +msgid "Module" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,human_name:0 +msgid "Module Name" +msgstr "Nom du module" + +#. module: module_prototyper +#: model:ir.model,name:module_prototyper.model_module_prototyper +msgid "Module Prototyper" +msgstr "" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_module_prototyper +msgid "Module Prototypers" +msgstr "" + +#. module: module_prototyper +#: view:ir.model:module_prototyper.view_ir_model_form +msgid "Notes" +msgstr "" + +#. module: module_prototyper +#: field:ir.model.fields,notes:0 +msgid "Notes to developers." +msgstr "Notes aux développeurs." + +#. module: module_prototyper +#: view:ir.model.fields:module_prototyper.view_ir_model_fields_form +msgid "" +"Notes to help developers to understand the work or advanced features that " +"should be added, ie: onchange, etc." +msgstr "" +"Notes pour aider les développeurs à comprendre le travail effectué ou les " +"ajouts à faire. Exemple: onchanges, etc." + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_tree_view +msgid "Prototype" +msgstr "" + +#. module: module_prototyper +#: model:ir.actions.act_window,name:module_prototyper.open_module_prototyper_list +#: model:ir.ui.menu,name:module_prototyper.menu_open_module_prototyper +msgid "Prototypes" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,rule_ids:0 +msgid "Record Rules" +msgstr "Règles sur les enregistrements" + +#. module: module_prototyper +#: field:module_prototyper.module.export,state:0 +msgid "State" +msgstr "État" + +#. module: module_prototyper +#: field:module_prototyper,summary:0 +msgid "Summary" +msgstr "Résumé" + +#. module: module_prototyper +#: field:module_prototyper,name:0 +msgid "Technical Name" +msgstr "Nom technique" + +#. module: module_prototyper +#: view:ir.model.fields:module_prototyper.view_ir_model_fields_form +msgid "Text that will be set as the helper of the field..." +msgstr "Texte qui sera placé en tant que texte d'aide du champs." + +#. module: module_prototyper +#: help:module_prototyper,human_name:0 +msgid "" +"The Module Name will be used as the displayed name of the exported module." +msgstr "Le nom du module sera affiché en tant que nom du module exporté." + +#. module: module_prototyper +#: help:module_prototyper,icon_image:0 +msgid "" +"The icon set up here will be used as the icon for the exported module also" +msgstr "L'icône sera utilisé comme icône du module exporté." + +#. module: module_prototyper +#: help:module_prototyper,data_ids:0 +msgid "The records matching the filters will be added as data." +msgstr "" +"Les enregistrements correspondant aux critères des filtres seront exportées " +"dans le module comme données." + +#. module: module_prototyper +#: help:module_prototyper,demo_ids:0 +msgid "The records matching the filters will be added as demo data." +msgstr "" +"Les enregistrements correspondant aux critères des filtres seront exportées " +"dans le module comme données de démo." + +#. module: module_prototyper +#: help:module_prototyper,name:0 +msgid "" +"The technical name will be used to define the name of the exported module, " +"the name of the model." +msgstr "Le nom technique sera utilisé comme nom du module exporté." + +#. module: module_prototyper +#: field:module_prototyper,version:0 +msgid "Version" +msgstr "" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_action_ui_view +#: field:module_prototyper,view_ids:0 +msgid "Views" +msgstr "Vues" + +#. module: module_prototyper +#: field:module_prototyper,website:0 +msgid "Website" +msgstr "Site web" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,state:0 +msgid "choose" +msgstr "choisir" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,state:0 +msgid "get" +msgstr "récupérer" diff --git a/module_prototyper/i18n/module_prototyper.pot b/module_prototyper/i18n/module_prototyper.pot new file mode 100644 index 000000000..6584e9e03 --- /dev/null +++ b/module_prototyper/i18n/module_prototyper.pot @@ -0,0 +1,327 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * module_prototyper +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-01-02 17:07+0000\n" +"PO-Revision-Date: 2015-01-02 17:07+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,api_version:0 +msgid "8.0" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper.module.export,api_version:0 +msgid "API version" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,right_ids:0 +msgid "Access Rights" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,application:0 +msgid "Application" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,author:0 +msgid "Author" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,auto_install:0 +msgid "Auto Install" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Cancel" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,category_id:0 +msgid "Category" +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,application:0 +msgid "Check if the module is an Odoo application." +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,auto_install:0 +msgid "Check if the module should be install by default." +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Close" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,create_uid:0 +#: field:module_prototyper.module.export,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,create_date:0 +#: field:module_prototyper.module.export,create_date:0 +msgid "Created on" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,data_ids:0 +msgid "Data filters" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,demo_ids:0 +msgid "Demo filters" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,dependency_ids:0 +msgid "Dependencies" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,description:0 +msgid "Description" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Complete" +msgstr "" + +#. module: module_prototyper +#: model:ir.actions.act_window,name:module_prototyper.button_module_export_action +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Module" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Export Settings" +msgstr "" + +#. module: module_prototyper +#: model:ir.model,name:module_prototyper.model_ir_model_fields +#: model:ir.ui.menu,name:module_prototyper.ir_model_model_fields +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +#: field:module_prototyper,field_ids:0 +msgid "Fields" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper.module.export,data:0 +msgid "File" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper.module.export,name:0 +msgid "File Name" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,group_ids:0 +msgid "Groups" +msgstr "" + +#. module: module_prototyper +#: field:ir.model.fields,helper:0 +msgid "Helper" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper.module.export:module_prototyper.view_module_export_wizard +msgid "Here is the exported module:" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,id:0 +#: field:module_prototyper.module.export,id:0 +msgid "ID" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,icon_image:0 +msgid "Icon" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +msgid "Interface" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,write_uid:0 +#: field:module_prototyper.module.export,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,write_date:0 +#: field:module_prototyper.module.export,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,licence:0 +msgid "Licence" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,maintainer:0 +msgid "Maintainer" +msgstr "" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_grant_menu_access +#: field:module_prototyper,menu_ids:0 +msgid "Menu Items" +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_form_view +msgid "Module" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,human_name:0 +msgid "Module Name" +msgstr "" + +#. module: module_prototyper +#: model:ir.model,name:module_prototyper.model_module_prototyper +msgid "Module Prototyper" +msgstr "" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_module_prototyper +msgid "Module Prototypers" +msgstr "" + +#. module: module_prototyper +#: view:ir.model:module_prototyper.view_ir_model_form +msgid "Notes" +msgstr "" + +#. module: module_prototyper +#: field:ir.model.fields,notes:0 +msgid "Notes to developers." +msgstr "" + +#. module: module_prototyper +#: view:ir.model.fields:module_prototyper.view_ir_model_fields_form +msgid "Notes to help developers to understand the work or advanced features that should be added, ie: onchange, etc." +msgstr "" + +#. module: module_prototyper +#: view:module_prototyper:module_prototyper.module_prototyper_base_tree_view +msgid "Prototype" +msgstr "" + +#. module: module_prototyper +#: model:ir.actions.act_window,name:module_prototyper.open_module_prototyper_list +#: model:ir.ui.menu,name:module_prototyper.menu_open_module_prototyper +msgid "Prototypes" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,rule_ids:0 +msgid "Record Rules" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper.module.export,state:0 +msgid "State" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,summary:0 +msgid "Summary" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,name:0 +msgid "Technical Name" +msgstr "" + +#. module: module_prototyper +#: view:ir.model.fields:module_prototyper.view_ir_model_fields_form +msgid "Text that will be set as the helper of the field..." +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,human_name:0 +msgid "The Module Name will be used as the displayed name of the exported module." +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,icon_image:0 +msgid "The icon set up here will be used as the icon for the exported module also" +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,data_ids:0 +msgid "The records matching the filters will be added as data." +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,demo_ids:0 +msgid "The records matching the filters will be added as demo data." +msgstr "" + +#. module: module_prototyper +#: help:module_prototyper,name:0 +msgid "The technical name will be used to define the name of the exported module, the name of the model." +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,version:0 +msgid "Version" +msgstr "" + +#. module: module_prototyper +#: model:ir.ui.menu,name:module_prototyper.menu_action_ui_view +#: field:module_prototyper,view_ids:0 +msgid "Views" +msgstr "" + +#. module: module_prototyper +#: field:module_prototyper,website:0 +msgid "Website" +msgstr "" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,state:0 +msgid "choose" +msgstr "" + +#. module: module_prototyper +#: selection:module_prototyper.module.export,state:0 +msgid "get" +msgstr "" + diff --git a/prototype/models/__init__.py b/module_prototyper/models/__init__.py similarity index 95% rename from prototype/models/__init__.py rename to module_prototyper/models/__init__.py index 8c9737d2d..39ab18bec 100644 --- a/prototype/models/__init__.py +++ b/module_prototyper/models/__init__.py @@ -20,6 +20,6 @@ # ############################################################################## from . import ( - prototype, - ir_model_fields + module_prototyper, + ir_model_fields, ) diff --git a/prototype/models/ir_model_fields.py b/module_prototyper/models/ir_model_fields.py similarity index 89% rename from prototype/models/ir_model_fields.py rename to module_prototyper/models/ir_model_fields.py index 0330a058e..80b9842af 100644 --- a/prototype/models/ir_model_fields.py +++ b/module_prototyper/models/ir_model_fields.py @@ -23,6 +23,8 @@ from openerp import fields, models class ir_model_fields(models.Model): + """Addition of text fields to fields.""" _inherit = "ir.model.fields" - notes = fields.Text('Notes') + notes = fields.Text('Notes to developers.') + helper = fields.Text('Helper') diff --git a/prototype/models/prototype.py b/module_prototyper/models/module_prototyper.py similarity index 86% rename from prototype/models/prototype.py rename to module_prototyper/models/module_prototyper.py index daea937a0..61b9281d1 100644 --- a/prototype/models/prototype.py +++ b/module_prototyper/models/module_prototyper.py @@ -30,10 +30,18 @@ from jinja2 import Environment, FileSystemLoader from openerp import models, api, fields -class Prototype(models.Model): - _name = "prototype" - _description = "Prototype" +class ModulePrototyper(models.Model): + """Module Prototyper gathers different information from all over the + database to build a prototype of module. + We are calling it a prototype as it will most likely need to be reviewed + by a developer to fix glitch that would sneak it during the generation of + files but also to add not supported features. + """ + _name = "module_prototyper" + _description = "Module Prototyper" + # In prevision of odoo might support other licences than AGPL in + # (near) future. licence = fields.Char( 'Licence', default='AGPL-3', @@ -72,48 +80,48 @@ class Prototype(models.Model): ) # Relations dependency_ids = fields.Many2many( - 'ir.module.module', 'prototype_module_rel', - 'prototype_id', 'module_id', + 'ir.module.module', 'module_prototyper_module_rel', + 'module_prototyper_id', 'module_id', 'Dependencies' ) data_ids = fields.Many2many( 'ir.filters', 'prototype_data_rel', - 'prototype_id', 'filter_id', + 'module_prototyper_id', 'filter_id', 'Data filters', help="The records matching the filters will be added as data." ) demo_ids = fields.Many2many( 'ir.filters', 'prototype_demo_rel', - 'prototype_id', 'filter_id', + 'module_prototyper_id', 'filter_id', 'Demo filters', help="The records matching the filters will be added as demo data." ) field_ids = fields.Many2many( 'ir.model.fields', 'prototype_fields_rel', - 'prototype_id', 'field_id', 'Fields' + 'module_prototyper_id', 'field_id', 'Fields' ) menu_ids = fields.Many2many( 'ir.ui.menu', 'prototype_menu_rel', - 'prototype_id', 'menu_id', 'Menu Items' + 'module_prototyper_id', 'menu_id', 'Menu Items' ) view_ids = fields.Many2many( 'ir.ui.view', 'prototype_view_rel', - 'prototype_id', 'view_id', 'Views' + 'module_prototyper_id', 'view_id', 'Views' ) group_ids = fields.Many2many( 'res.groups', 'prototype_groups_rel', - 'prototype_id', 'group_id', 'Groups' + 'module_prototyper_id', 'group_id', 'Groups' ) right_ids = fields.Many2many( 'ir.model.access', 'prototype_rights_rel', - 'prototype_id', 'right_id', + 'module_prototyper_id', 'right_id', 'Access Rights' ) rule_ids = fields.Many2many( 'ir.rule', 'prototype_rule_rel', - 'prototype_id', 'rule_id', 'Record Rules' + 'module_prototyper_id', 'rule_id', 'Record Rules' ) __data_files = [] @@ -176,12 +184,23 @@ class Prototype(models.Model): # must be the last as the other generations might add information # to put in the __openerp__: additional dependencies, views files, etc. file_details.append(self.generate_module_openerp_file_details()) - file_details.append(self.save_icon()) + if self.icon_image: + file_details.append(self.save_icon()) return file_details @api.model def save_icon(self): + """Save the icon of the prototype as a image. + The image is used afterwards as the icon of the exported module. + + :return: FileDetails instance + """ + # TODO: The image is not always a jpg. + # 2 ways to do it: + # * find a way to detect image type from the data + # * add document as a dependency. + # The second options seems to be better, as Document is a base module. return self.File_details( os.path.join('static', 'description', 'icon.jpg'), base64.b64decode(self.icon_image) @@ -234,8 +253,8 @@ class Prototype(models.Model): # }) files.append(self.generate_models_init_details(relations.keys())) - for model, fields in relations.iteritems(): - files.append(self.generate_model_details(model, fields)) + for model, custom_fields in relations.iteritems(): + files.append(self.generate_model_details(model, custom_fields)) return files diff --git a/module_prototyper/security/ir.model.access.csv b/module_prototyper/security/ir.model.access.csv new file mode 100755 index 000000000..7250a7457 --- /dev/null +++ b/module_prototyper/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_prototype_admin,prototype_system,model_module_prototyper,base.group_system,1,1,1,1 diff --git a/prototype/static/description/icon.png b/module_prototyper/static/description/icon.png similarity index 100% rename from prototype/static/description/icon.png rename to module_prototyper/static/description/icon.png diff --git a/prototype/templates/8.0/__init__.py.template b/module_prototyper/templates/8.0/__init__.py.template similarity index 100% rename from prototype/templates/8.0/__init__.py.template rename to module_prototyper/templates/8.0/__init__.py.template diff --git a/prototype/templates/8.0/__openerp__.py.template b/module_prototyper/templates/8.0/__openerp__.py.template similarity index 93% rename from prototype/templates/8.0/__openerp__.py.template rename to module_prototyper/templates/8.0/__openerp__.py.template index 64aa0c001..23d1125cb 100644 --- a/prototype/templates/8.0/__openerp__.py.template +++ b/module_prototyper/templates/8.0/__openerp__.py.template @@ -3,7 +3,6 @@ { 'name': '{{ prototype.name }}', 'version': '{{ prototype.version }}', - 'author': '{{ prototype.author }}', 'maintainer': '{{ prototype.maintainer }}', 'website': '{{ prototype.website }}', @@ -17,8 +16,8 @@ 'description': """ {{ prototype.description }} -* Module exported by the prototype module for version 8.0. -* If you have any questions, please contact Savoir-faire Linux \ +* Module exported by the Module Prototyper module for version 8.0. +* If you have any questions, please contact Savoir-faire Linux (support@savoirfairelinux.com) """, diff --git a/prototype/templates/8.0/data/model_name.xml.template b/module_prototyper/templates/8.0/data/model_name.xml.template similarity index 100% rename from prototype/templates/8.0/data/model_name.xml.template rename to module_prototyper/templates/8.0/data/model_name.xml.template diff --git a/prototype/templates/8.0/demo/model_name.xml.template b/module_prototyper/templates/8.0/demo/model_name.xml.template similarity index 100% rename from prototype/templates/8.0/demo/model_name.xml.template rename to module_prototyper/templates/8.0/demo/model_name.xml.template diff --git a/prototype/templates/8.0/header.template b/module_prototyper/templates/8.0/header.template similarity index 84% rename from prototype/templates/8.0/header.template rename to module_prototyper/templates/8.0/header.template index 59f0f4bfd..2e6251e7b 100644 --- a/prototype/templates/8.0/header.template +++ b/module_prototyper/templates/8.0/header.template @@ -2,8 +2,8 @@ ############################################################################## # # Odoo, Open Source Management Solution -# This module copyright (C) {{ export_year }} {{ author }} -# ({{ website }}). +# This module copyright (C) {{ export_year }} {% if author %}{{ author }}{% endif %} +# {% if website %}({{ website }}).{% endif %} # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/prototype/templates/8.0/models/__init__.py.template b/module_prototyper/templates/8.0/models/__init__.py.template similarity index 100% rename from prototype/templates/8.0/models/__init__.py.template rename to module_prototyper/templates/8.0/models/__init__.py.template diff --git a/prototype/templates/8.0/models/model_name.py.template b/module_prototyper/templates/8.0/models/model_name.py.template similarity index 62% rename from prototype/templates/8.0/models/model_name.py.template rename to module_prototyper/templates/8.0/models/model_name.py.template index 503df048f..8f8ff5378 100644 --- a/prototype/templates/8.0/models/model_name.py.template +++ b/module_prototyper/templates/8.0/models/model_name.py.template @@ -6,16 +6,17 @@ from openerp.tools.translate import _ class {{ name }}(models.Model): _inherit = "{{ inherit }}" - {% if description %}_description = "{{ description }}"{% endif %} + {% if description -%}_description = "{{ description }}"{% endif %} {% for field in fields -%} + {% if field.notes -%}# {{ field.notes }}{% endif %} {{ field.name }} = fields.{{ field.ttype|capitalize }}( string=_("{{ field.field_description }}"), required={{ field.required }}, translate={{ field.translate }}, readonly={{ field.readonly }}, - help=_('{{ field.notes }}'), - ) - {% endfor %} + {% if field.size -%}size={{ field.size }},{% endif %} + {% if field.helper -%}help=_("{{ field.helper }}"),{% endif %} + ){% endfor %} {% endblock %} diff --git a/prototype/templates/8.0/security/ir.model.access.csv.template b/module_prototyper/templates/8.0/security/ir.model.access.csv.template similarity index 100% rename from prototype/templates/8.0/security/ir.model.access.csv.template rename to module_prototyper/templates/8.0/security/ir.model.access.csv.template diff --git a/prototype/templates/8.0/security/model_name.xml.template b/module_prototyper/templates/8.0/security/model_name.xml.template similarity index 100% rename from prototype/templates/8.0/security/model_name.xml.template rename to module_prototyper/templates/8.0/security/model_name.xml.template diff --git a/prototype/templates/8.0/views/model_menus.xml.template b/module_prototyper/templates/8.0/views/model_menus.xml.template similarity index 100% rename from prototype/templates/8.0/views/model_menus.xml.template rename to module_prototyper/templates/8.0/views/model_menus.xml.template diff --git a/prototype/templates/8.0/views/model_views.xml.template b/module_prototyper/templates/8.0/views/model_views.xml.template similarity index 81% rename from prototype/templates/8.0/views/model_views.xml.template rename to module_prototyper/templates/8.0/views/model_views.xml.template index 4eba907ba..b919abea7 100644 --- a/prototype/templates/8.0/views/model_views.xml.template +++ b/module_prototyper/templates/8.0/views/model_views.xml.template @@ -3,8 +3,8 @@ - {% for view in views %} - + {% for view in views -%} + {{ view.name }}.view {{ view.model }} {{ view.type }} @@ -15,7 +15,7 @@ Be careful, custom field have a x_ prefix that has to be removed #} - {{ view.arch|replace('', '')|replace('"x_', '"') }} + {{ view.arch|replace('"', "'")|replace("", "")|replace("'x_", "'")|replace("> ", "/>") }} {% endfor %} diff --git a/prototype/tests/__init__.py b/module_prototyper/tests/__init__.py similarity index 100% rename from prototype/tests/__init__.py rename to module_prototyper/tests/__init__.py diff --git a/prototype/tests/test_prototype.py b/module_prototyper/tests/test_prototype.py similarity index 95% rename from prototype/tests/test_prototype.py rename to module_prototyper/tests/test_prototype.py index 2d082cf9e..0ffdc0707 100644 --- a/prototype/tests/test_prototype.py +++ b/module_prototyper/tests/test_prototype.py @@ -22,10 +22,10 @@ from jinja2.exceptions import TemplateNotFound from openerp.tests import common -class test_prototype(common.TransactionCase): +class TestModulePrototyper(common.TransactionCase): def setUp(self): - super(test_prototype, self).setUp() - self.main_model = self.env['prototype'] + super(TestModulePrototyper, self).setUp() + self.main_model = self.env['module_prototyper'] self.module_category_model = self.env['ir.module.category'] self.module_module_model = self.env['ir.module.module'] diff --git a/prototype/tests/test_prototype_module_export.py b/module_prototyper/tests/test_prototype_module_export.py similarity index 95% rename from prototype/tests/test_prototype_module_export.py rename to module_prototyper/tests/test_prototype_module_export.py index 87ef77e40..4953689c8 100644 --- a/prototype/tests/test_prototype_module_export.py +++ b/module_prototyper/tests/test_prototype_module_export.py @@ -27,8 +27,8 @@ import StringIO class test_prototype_module_export(common.TransactionCase): def setUp(self): super(test_prototype_module_export, self).setUp() - self.main_model = self.env['prototype.module.export'] - self.prototype_model = self.env['prototype'] + self.main_model = self.env['module_prototyper.module.export'] + self.prototype_model = self.env['module_prototyper'] self.module_category_model = self.env[ 'ir.module.category' ] diff --git a/module_prototyper/views/ir_model_fields_view.xml b/module_prototyper/views/ir_model_fields_view.xml new file mode 100644 index 000000000..39e659900 --- /dev/null +++ b/module_prototyper/views/ir_model_fields_view.xml @@ -0,0 +1,35 @@ + + + + + + view_ir_model_fields_form + ir.model.fields + + + + + + + view_ir_model_form + ir.model + + + + + + + + + + + diff --git a/prototype/views/prototype_view.xml b/module_prototyper/views/module_prototyper_view.xml similarity index 51% rename from prototype/views/prototype_view.xml rename to module_prototyper/views/module_prototyper_view.xml index c68396331..eafdbf21c 100644 --- a/prototype/views/prototype_view.xml +++ b/module_prototyper/views/module_prototyper_view.xml @@ -2,9 +2,9 @@ - - prototype.tree - prototype + + Base tree View for module prototypes + module_prototyper @@ -14,9 +14,9 @@ - - prototype.form - prototype + + Base form view for module prototypes + module_prototyper
- - + + + + + + + - - - + + + + + + + + +
- - Prototype - prototype + + Prototypes + module_prototyper form tree,form - + - + + + + + + + + + + +
diff --git a/prototype/wizard/__init__.py b/module_prototyper/wizard/__init__.py similarity index 95% rename from prototype/wizard/__init__.py rename to module_prototyper/wizard/__init__.py index 1bb4a444c..bb0eb2ebe 100644 --- a/prototype/wizard/__init__.py +++ b/module_prototyper/wizard/__init__.py @@ -19,4 +19,4 @@ # along with this program. If not, see . # ############################################################################## -from . import prototype_module_export +from . import module_prototyper_module_export diff --git a/prototype/wizard/prototype_module_export.py b/module_prototyper/wizard/module_prototyper_module_export.py similarity index 85% rename from prototype/wizard/prototype_module_export.py rename to module_prototyper/wizard/module_prototyper_module_export.py index 1811d0a99..92416fbdf 100644 --- a/prototype/wizard/prototype_module_export.py +++ b/module_prototyper/wizard/module_prototyper_module_export.py @@ -7,8 +7,8 @@ # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -26,8 +26,8 @@ from collections import namedtuple from openerp import fields, models, api -class prototype_module_export(models.TransientModel): - _name = "prototype.module.export" +class PrototypeModuleExport(models.TransientModel): + _name = "module_prototyper.module.export" name = fields.Char('File Name', readonly=True) # It is implemented in order to manage previous and next versions @@ -63,10 +63,10 @@ class prototype_module_export(models.TransientModel): active_model = self._context.get('active_model') # checking if the wizard was called by a prototype. - assert active_model == 'prototype', \ - '{} has to be called from a "prototype" , not a "{}"'.format( - self, active_model - ) + msg = '{} has to be called from a "module_prototyper" , not a "{}"' + assert active_model == 'module_prototyper', msg.format( + self, active_model + ) # getting the prototype of the wizard prototype = self.env[active_model].browse( @@ -94,7 +94,7 @@ class prototype_module_export(models.TransientModel): return { 'type': 'ir.actions.act_window', - 'res_model': 'prototype.module.export', + 'res_model': 'module_prototyper.module.export', 'view_mode': 'form', 'view_type': 'form', 'res_id': wizard.id, @@ -105,17 +105,17 @@ class prototype_module_export(models.TransientModel): @staticmethod def zip_files(file_details): """Takes a set of file and zips them. - :param file_details: tuple (filename, filecontent) + :param file_details: tuple (filename, file_content) :return: tuple (zip_file, stringIO) """ zip_details = namedtuple('Zip_details', ['zip_file', 'stringIO']) out = StringIO.StringIO() with zipfile.ZipFile(out, 'w') as target: - for filename, filecontent in file_details: + for filename, file_content in file_details: info = zipfile.ZipInfo(filename) info.compress_type = zipfile.ZIP_DEFLATED info.external_attr = 2175008768 # specifies mode 0644 - target.writestr(info, filecontent) + target.writestr(info, file_content) return zip_details(zip_file=target, stringIO=out) diff --git a/prototype/wizard/prototype_module_export_view.xml b/module_prototyper/wizard/module_prototyper_module_export_view.xml similarity index 91% rename from prototype/wizard/prototype_module_export_view.xml rename to module_prototyper/wizard/module_prototyper_module_export_view.xml index e867c9af4..d4678ebf5 100644 --- a/prototype/wizard/prototype_module_export_view.xml +++ b/module_prototyper/wizard/module_prototyper_module_export_view.xml @@ -4,7 +4,7 @@ Export Module - prototype.module.export + module_prototyper.module.export
@@ -33,7 +33,7 @@ Export Module - prototype.module.export + module_prototyper.module.export form new diff --git a/prototype/demo/prototype.prototype.csv b/prototype/demo/prototype.prototype.csv deleted file mode 100644 index c4ffea3ec..000000000 --- a/prototype/demo/prototype.prototype.csv +++ /dev/null @@ -1,2 +0,0 @@ -"id","right_ids/id","application","author","auto_install","category_id/id","create_uid/id","create_date","data_ids/id","demo_ids/id","dependency_ids/id","description","field_ids/id","group_ids/id","icon_image","write_uid/id","write_date","licence","maintainer","menu_ids/id","human_name","rule_ids/id","summary","name","version","view_ids/id","website" -"__export__.prototype_22","__export__.ir_model_access_144","False","Savoir-faire Linux","False","base.module_category_uncategorized","base.user_root","2014-12-15 21:07:09","__export__.ir_filters_31","","base.module_crm,base.module_mail,base.module_l10n_et,base.module_l10n_mx","This module is used to test the export of prototype. It uses all the features.","__export__.ir_model_fields_1238","__export__.res_groups_13","/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAC0ALQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAor5V+JLeOfHHjK8iTQ9afTradobS3S0k8tVBIDnjGW6kn1xnAFdV4S8MfFnRvDmpWlze2Fhpctq8ZXVr0n7OpXHmRsm4x7RzgkD270Aes6r8RPB+i3H2e/8Q2Ec2/y2jSTzGRumGC5K/jitd9d0iLU49Mk1WxS/kAKWrXCCVgehCZyfyr5Qs/hbcMfP1LxFodnYhA7TR3QnfaRwRGvJ7E5xxzzjFdte/Buw8V3M0+geKEk1CEKLmK6n+1BuAFdZVwSpAHY45HGMU7Mpxkt0e82uuaXe6teaVbXsMl/ZBTcW4PzRhhkEj6EdK0K8u8K+ANYg8LmDVWSy8T2F7NLaa1BL5rXG/DF5CeXViSjK+MhR04Ndz4b1PUNU0kSarpr2F/FI8E8RB2MynG+Mn7yN1B/nikSbFFFFABRTXdY0LuwVRyWY4ArPfxDoyNhtVs8+0yn+tAGlRUFte2l6pa1uYZ1HUxSBsflU9ABRRRQAUUVnza9pEDFZdTtFYcFfOXI/DNAGhRVS11TT71ttrfW8zddscoY/kDVugAooooAKKKKACiisPxZro8PaBPeKAbhsRQKe8h6fgOT+FNK7sioxcmoozPF/jmDw+TZWarcakRkqT8kIPQvjv6L/Lv5Pqer6jrM3m6jeS3BzlVY4Rf91RwP5+9U5JHlkklmkaSR2LySOeWY8kk13XhP4etqttHqGrtJDbOA0VunyvIv95j2B7Dr9K6ko01dnrxhSw0Lvc4TOD1waVWZJFkRmSRDlXViGU+oI5Fe8QeD/DtvF5aaNZFfWSIOfzbJrE1r4a6TexM+mg2FzyRsJMbH3U9PwxSVaJMcdTbs00c34Z+I13Yypba27XNoePtGMyRe7Y+8P1+terxSxzwpNC6yRuoZXU5DA9CDXztfWNzpl9NZXkRiuIThl/kQe4PY13fwy8QtHctoNw5MThpLTJ+6RyyD2Iyw+jUqtNW5omeKw0XH2kD1GuX8R+Lo9LdrOyVZrwfeLfci+vqfar3ifWDo2kPJER9plPlw57E9/wABz+VeUsT8zMxJJLMzHJJ7kmuY8wsX19d6lL5l7cSTtnIDn5V+i9BVfp6Cux0DwV9qhS71QukbDclup2kj1Y9voK6uPw5osUexdMtSPVowx/M80CPJEZopVliZo5F+66Eqw+hHNdfoXjeaB0t9WbzYTwLnHzJ/vAdR71rap4G0+5jLWGbSfsASUY+4PT8K41vDesi5Nt/ZsxfO3dj92ffd0xQB62CGUEEEHkEd6xvEHiO20KEKR5t3IMxwg449WPYVN5q+H/DavdSGT7JbqrH++QMAD6nArym7up767lurlt80rZY+noB7DoKBlnU9a1DV3JvLhmjPSFfljH/Ae/45qhgAYwBXReHPCsutL9quHaGyzhSv3pfXHoPeu3t/DGi2ybV06B/UyrvJ/Fs0CPJSAcEgHHINdHovjC+011june7tOhDnMiD/AGWPX6H866zUPBekXiMYYvskp6PDwPxXpXnuqaXc6RfNa3SjcBuV1+66+o/w7UAeu2d3Bf2sdzbSCSGQZVhU9eZeDtZbTtUW0kc/ZbptuCeFk7H8eh/CvTaBhRRRQAV5b8V7tm1HTLIH5I4nnI9yQo/QN+depV5L8VImXxDYyn7sloVH1Vzn/wBDFa0fjOrBJe2RznhbTI9Y8T2FlMAYWcySqf4lQbiPxOB+Ne+jgV4f4CuEt/GtgZGwJFkhB/2mXj+Ve4U6/wASNMe3zpeQUUUVicJ538VdMRrKy1VV/exyeQ5HdGBIz9CP/Hq83sLxtO1K0vlJzbzJLx3API/EZH416r8UblIvDEVuSN89ygAzzhcsT+g/OvIhE87LDGMvIwRR6knArrpaw1PZwetG0j1Dx/cGTWLa2ydsMO/Hux/wWsvwvYJqPiG2ilG6KPMzgjghcYH5kflV7x3GU8Rq56SWyY/Bmz/Oo/BM6w+JURiB50Lxrn14b+QNch4p6dRRRQMKKKKAOP8AiDclNNtLUHHmzbm9wo6fmQfwrhbS2N5e29qDtM8qx59MnGa7T4iRMYtOm/hV5EP1IBH/AKCa5HSZ1ttasZnICJcIWJ7DOCaBHsEEMdvBHDEoSONQqqOwHSpKKKBhXN+N7FLnw+9xj97aESKe+OjD8v5V0lYfi+dYPDF5kgNIoiUepYgUAeVtuAJQ4YcqR2I6H869osbj7Xp9tc/89olk/MA14x/F+NeveH/+Rb0v/rzi/wDQBQI0aKKKBhXFfEvR31DQEvoULS2DmQgDkxkYf8uG/wCA12tIyhlKsAVIwQehpxfK7l05unNSXQ+bkkeORJInKSIwdHXqrA5BH417X4T8Y2niG0SKV0h1JF/ewE43f7SeoP5jv6ng/GXgifRJ5L7Toml0xiWKKMtb+xHdfQ9uh9TxwOdrqenKsp6e4IrrcY1EevOFPEwTTPpTIqtf6haaZaPdXtxHBAnV3OB+HqfYV4VF4o1+GPZHrN7txgBpN2PxIrPury6v5RLeXU9zIOjTSFiPpnpWaoPqzmjl7v7z0NfxZ4kk8S6v9oCtHaQgpbxt1A7sR2J4+gAFXPAGitq3ieGdl/0awInkPbf/AAL9c/N/wH3rF0fRb/Xr4Wmnw72z+8kb7kQ9WP8ATqa9w8P6Da+HdKSxtssc7pZWHzSOerH/AA7CqqSUI8qNsRVjRp+zjuY3jzTWn0+LUI1y1sSJMf3G6n8Dg1wEUslvNHNC+yWNg6MOxHSva3RZEZHUMjAhlYZBHoa8y8R+F59Hle4tkaWwJyGHJi9m9vQ/n78p5B22g+IrXW7cAMsd2o/eQE8g+o9RWzXh4JBV1JBHKspwR9CK0U1/WETYup3WPd8n8zQB6ve39rp1s1xdzLFEvdj19gO5rjm+IZF0caaTag9fN/eY9cYxn2z+NcZPcT3cvm3M8s8nZpHLEVY0zS7vV7oW9nHuP8ch+7GPUn+nWgR6P4gs11/w0zWv7x9q3Fvj+IgZx+IJH415Xwy+xr2mxtEsLC3tIySkMaxgnvgYri/FfhSRZpNS02MujndNAo5B7so7j1H40DNHwr4oivbaOxvZQl4g2qznAmHYg/3vUV1deHcMPUVoQa3qtsgSHUblUAwFL7gPzoA9dmnit4WlmkWONRlnc4AH1rzPxT4hGtXaRW+RZQElCRjzG6bsemOB+NY11e3d8Qbu6mnx0EjkgfQdKZFbzTrK0MTyLEpeRlGQgHqe1Ahg6ivXvD//ACLel/8AXnF/6AK8gHUV6/4f/wCRb0v/AK9Iv/QBQBo0UUUDCiiigArl9W8AaBqsjTfZ3tJ25aS1bZk+64Kn8q6iimm1sVCcoO8XY84f4TRb/wB3rUoX0e3Un8wR/Kr1j8LdHgcPeXN3eEfwFhGh/BQD+tdzRVe1n3NniqzVuYr2dja6dbLbWdvHBCv3UjUKBViiioOdu+rCggEYIyKKKAOfv/BmkXztIsT2sjclrdtoP/ASCP0rJb4dpu+XVJAvo0IJ/mK7aigDlbTwFpkLBrma4uSP4WYIv5Lg/rXSW1rb2cCw20KQxL0RFwKmooAKKKKAMfU/DGlaq5lmt9k56zQnYx+vY/iDWFJ8PIS37rU5lX0kiVj+mK7WigDkrTwBp8TBrq5uLnH8GQin8uf1rpI9Ps4rFrKO3jS2ZSpjUYBBGDVmigDjl+HtmLncb2drbP8Aqto3Y9N3p+GfeuvRFijWNFCooCqo6ACnUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//Z","base.user_root","2014-12-26 16:11:10","AGPL-3","OCA","__export__.ir_ui_menu_96","Demo Module","__export__.ir_rule_20","Demo module for prototype","demo_module","0.1","__export__.ir_ui_view_334,__export__.ir_ui_view_333","http://www.savoirfairelinux.com" \ No newline at end of file diff --git a/prototype/i18n/fr.po b/prototype/i18n/fr.po deleted file mode 100644 index a8f862289..000000000 --- a/prototype/i18n/fr.po +++ /dev/null @@ -1,272 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * prototype -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-08 17:58+0000\n" -"PO-Revision-Date: 2014-10-08 14:02-0500\n" -"Last-Translator: Maxime Chambreuil \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: \n" -"X-Generator: Poedit 1.5.4\n" - -#. module: prototype -#: selection:prototype.module.export,api_version:0 -msgid "7.0" -msgstr "" - -#. module: prototype -#: selection:prototype.module.export,api_version:0 -msgid "8.0" -msgstr "" - -#. module: prototype -#: field:prototype.module.export,api_version:0 -msgid "API version" -msgstr "Version de l'API" - -#. module: prototype -#: field:prototype,rights:0 -msgid "Access Rights" -msgstr "Liste des contrôles d'accès" - -#. module: prototype -#: field:prototype,author:0 -msgid "Author" -msgstr "Auteur" - -#. module: prototype -#: field:prototype,auto_install:0 -msgid "Auto Install" -msgstr "Installation automatique" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Cancel" -msgstr "Annuler" - -#. module: prototype -#: field:prototype,category_id:0 -msgid "Category" -msgstr "Catégorie" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Close" -msgstr "Fermer" - -#. module: prototype -#: field:prototype,create_uid:0 field:prototype.module.export,create_uid:0 -msgid "Created by" -msgstr "Créé par" - -#. module: prototype -#: field:prototype,create_date:0 field:prototype.module.export,create_date:0 -msgid "Created on" -msgstr "Créé le" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Data & Demo" -msgstr "Données et démo" - -#. module: prototype -#: field:prototype,data:0 -msgid "Data filters" -msgstr "Filtres pour les données" - -#. module: prototype -#: field:prototype,demo:0 -msgid "Demo filters" -msgstr "Filtres pour les données de démo" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form field:prototype,dependencies:0 -msgid "Dependencies" -msgstr "Dépendances" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form field:prototype,description:0 -msgid "Description" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export" -msgstr "Exporter" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Complete" -msgstr "Export terminé" - -#. module: prototype -#: model:ir.actions.act_window,name:prototype.button_module_export_action -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Module" -msgstr "Exporter le module" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Settings" -msgstr "Configuration de l'export" - -#. module: prototype -#: model:ir.model,name:prototype.model_ir_model_fields -#: field:prototype,fields:0 -msgid "Fields" -msgstr "Champs" - -#. module: prototype -#: field:prototype.module.export,data:0 -msgid "File" -msgstr "Fichier" - -#. module: prototype -#: field:prototype.module.export,name:0 -msgid "File Name" -msgstr "Nom du fichier" - -#. module: prototype -#: field:prototype,groups:0 -msgid "Groups" -msgstr "Groupes" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Here is the exported module:" -msgstr "Voici le module exporté :" - -#. module: prototype -#: field:prototype,id:0 field:prototype.module.export,id:0 -msgid "ID" -msgstr "" - -#. module: prototype -#: field:prototype,icon_image:0 -msgid "Icon" -msgstr "Icône" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Interface" -msgstr "" - -#. module: prototype -#: field:prototype,write_uid:0 field:prototype.module.export,write_uid:0 -msgid "Last Updated by" -msgstr "Mis à jour par" - -#. module: prototype -#: field:prototype,write_date:0 field:prototype.module.export,write_date:0 -msgid "Last Updated on" -msgstr "Mis à jour le" - -#. module: prototype -#: field:prototype,maintainer:0 -msgid "Maintainer" -msgstr "Mainteneur" - -#. module: prototype -#: field:prototype,menu:0 -msgid "Menu Items" -msgstr "Éléments du menu" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Models" -msgstr "Modèles" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Module" -msgstr "" - -#. module: prototype -#: field:prototype,human_name:0 -msgid "Module Name" -msgstr "Nom du module" - -#. module: prototype -#: view:ir.model:prototype.view_ir_model_form field:ir.model.fields,notes:0 -msgid "Notes" -msgstr "" - -#. module: prototype -#: model:ir.actions.act_window,name:prototype.open_prototype_list -#: model:ir.model,name:prototype.model_prototype -#: model:ir.ui.menu,name:prototype.menu_open_prototype -#: view:prototype:prototype.view_prototype_tree -msgid "Prototype" -msgstr "" - -#. module: prototype -#: field:prototype,rules:0 -msgid "Record Rules" -msgstr "Règles sur les enregistrements" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Security" -msgstr "Sécurité" - -#. module: prototype -#: field:prototype,summary:0 -msgid "Summary" -msgstr "Résumé" - -#. module: prototype -#: field:prototype,name:0 -msgid "Technical Name" -msgstr "Nom technique" - -#. module: prototype -#: help:prototype,data:0 -msgid "The records matching the filters will be added as data." -msgstr "" -"Les enregistrements correspondant aux critères des filtres seront exportées " -"dans le module comme données." - -#. module: prototype -#: help:prototype,demo:0 -msgid "The records matching the filters will be added as demo data." -msgstr "" -"Les enregistrements correspondant aux critères des filtres seront exportées " -"dans le module comme données de démo." - -#. module: prototype -#: field:prototype,version:0 -msgid "Version" -msgstr "" - -#. module: prototype -#: field:prototype,views:0 -msgid "Views" -msgstr "Vues" - -#. module: prototype -#: field:prototype,website:0 -msgid "Website" -msgstr "Site web" - -#. module: prototype -#: selection:prototype.module.export,state:0 -msgid "choose" -msgstr "choisir" - -#. module: prototype -#: selection:prototype.module.export,state:0 -msgid "get" -msgstr "récupérer" - -#. module: prototype -#: field:prototype.module.export,state:0 -msgid "unknown" -msgstr "inconnu" diff --git a/prototype/i18n/prototype.pot b/prototype/i18n/prototype.pot deleted file mode 100644 index de7c40cea..000000000 --- a/prototype/i18n/prototype.pot +++ /dev/null @@ -1,268 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * prototype -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-08 17:58+0000\n" -"PO-Revision-Date: 2014-10-08 14:00-0500\n" -"Last-Translator: Maxime Chambreuil \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: \n" -"X-Generator: Poedit 1.5.4\n" - -#. module: prototype -#: selection:prototype.module.export,api_version:0 -msgid "7.0" -msgstr "" - -#. module: prototype -#: selection:prototype.module.export,api_version:0 -msgid "8.0" -msgstr "" - -#. module: prototype -#: field:prototype.module.export,api_version:0 -msgid "API version" -msgstr "" - -#. module: prototype -#: field:prototype,rights:0 -msgid "Access Rights" -msgstr "" - -#. module: prototype -#: field:prototype,author:0 -msgid "Author" -msgstr "" - -#. module: prototype -#: field:prototype,auto_install:0 -msgid "Auto Install" -msgstr "" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Cancel" -msgstr "" - -#. module: prototype -#: field:prototype,category_id:0 -msgid "Category" -msgstr "" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Close" -msgstr "" - -#. module: prototype -#: field:prototype,create_uid:0 field:prototype.module.export,create_uid:0 -msgid "Created by" -msgstr "" - -#. module: prototype -#: field:prototype,create_date:0 field:prototype.module.export,create_date:0 -msgid "Created on" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Data & Demo" -msgstr "" - -#. module: prototype -#: field:prototype,data:0 -msgid "Data filters" -msgstr "" - -#. module: prototype -#: field:prototype,demo:0 -msgid "Demo filters" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form field:prototype,dependencies:0 -msgid "Dependencies" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form field:prototype,description:0 -msgid "Description" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export" -msgstr "" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Complete" -msgstr "" - -#. module: prototype -#: model:ir.actions.act_window,name:prototype.button_module_export_action -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Module" -msgstr "" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Export Settings" -msgstr "" - -#. module: prototype -#: model:ir.model,name:prototype.model_ir_model_fields -#: field:prototype,fields:0 -msgid "Fields" -msgstr "" - -#. module: prototype -#: field:prototype.module.export,data:0 -msgid "File" -msgstr "" - -#. module: prototype -#: field:prototype.module.export,name:0 -msgid "File Name" -msgstr "" - -#. module: prototype -#: field:prototype,groups:0 -msgid "Groups" -msgstr "" - -#. module: prototype -#: view:prototype.module.export:prototype.view_module_export_wizard -msgid "Here is the exported module:" -msgstr "" - -#. module: prototype -#: field:prototype,id:0 field:prototype.module.export,id:0 -msgid "ID" -msgstr "" - -#. module: prototype -#: field:prototype,icon_image:0 -msgid "Icon" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Interface" -msgstr "" - -#. module: prototype -#: field:prototype,write_uid:0 field:prototype.module.export,write_uid:0 -msgid "Last Updated by" -msgstr "" - -#. module: prototype -#: field:prototype,write_date:0 field:prototype.module.export,write_date:0 -msgid "Last Updated on" -msgstr "" - -#. module: prototype -#: field:prototype,maintainer:0 -msgid "Maintainer" -msgstr "" - -#. module: prototype -#: field:prototype,menu:0 -msgid "Menu Items" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Models" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Module" -msgstr "" - -#. module: prototype -#: field:prototype,human_name:0 -msgid "Module Name" -msgstr "" - -#. module: prototype -#: view:ir.model:prototype.view_ir_model_form field:ir.model.fields,notes:0 -msgid "Notes" -msgstr "" - -#. module: prototype -#: model:ir.actions.act_window,name:prototype.open_prototype_list -#: model:ir.model,name:prototype.model_prototype -#: model:ir.ui.menu,name:prototype.menu_open_prototype -#: view:prototype:prototype.view_prototype_tree -msgid "Prototype" -msgstr "" - -#. module: prototype -#: field:prototype,rules:0 -msgid "Record Rules" -msgstr "" - -#. module: prototype -#: view:prototype:prototype.view_prototype_form -msgid "Security" -msgstr "" - -#. module: prototype -#: field:prototype,summary:0 -msgid "Summary" -msgstr "" - -#. module: prototype -#: field:prototype,name:0 -msgid "Technical Name" -msgstr "" - -#. module: prototype -#: help:prototype,data:0 -msgid "The records matching the filters will be added as data." -msgstr "" - -#. module: prototype -#: help:prototype,demo:0 -msgid "The records matching the filters will be added as demo data." -msgstr "" - -#. module: prototype -#: field:prototype,version:0 -msgid "Version" -msgstr "" - -#. module: prototype -#: field:prototype,views:0 -msgid "Views" -msgstr "" - -#. module: prototype -#: field:prototype,website:0 -msgid "Website" -msgstr "" - -#. module: prototype -#: selection:prototype.module.export,state:0 -msgid "choose" -msgstr "" - -#. module: prototype -#: selection:prototype.module.export,state:0 -msgid "get" -msgstr "" - -#. module: prototype -#: field:prototype.module.export,state:0 -msgid "unknown" -msgstr "" diff --git a/prototype/security/ir.model.access.csv b/prototype/security/ir.model.access.csv deleted file mode 100755 index 0533abe94..000000000 --- a/prototype/security/ir.model.access.csv +++ /dev/null @@ -1,2 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_prototype_admin,prototype_system,model_prototype,base.group_system,1,1,1,1 diff --git a/prototype/views/ir_model_fields_view.xml b/prototype/views/ir_model_fields_view.xml deleted file mode 100644 index e1563449c..000000000 --- a/prototype/views/ir_model_fields_view.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - view_ir_model_fields_form - ir.model.fields - - - - - - - - view_ir_model_form - ir.model - - - - - - - - - - -