Skip to content

Commit

Permalink
Merge 342e0f5 into fb10075
Browse files Browse the repository at this point in the history
  • Loading branch information
David Dufresne committed Apr 1, 2015
2 parents fb10075 + 342e0f5 commit 7af3cf7
Show file tree
Hide file tree
Showing 19 changed files with 993 additions and 0 deletions.
55 changes: 55 additions & 0 deletions mrp_bom_reference_selection/README.rst
@@ -0,0 +1,55 @@
MRP Bill of Material Reference Selection
========================================

This module allows to select the component in a bom when you have several bom for one product.
This is used to manage versions of a product.
Produced lot contains a reference to the bill of material used to compute the lot.

Installation
============

To install this module, you just need to select the module and insure yourself dependancies are available.

Configuration
=============

No particular configuration to use this module.


Usage
=====

To use this module, you need to :
- create a product
- create a bom from this product (ie : AA), give a reference to this bom (ie : A1)
- create an other bom for the same product, give a reference to this bom (ie : A2)
- now, you can create an other bom for an other product (ie : BB) with products AA as component. You will have to choose the bom you want between A1 or A2


Credits
=======

Module developed and tested with Odoo version 8.0
For questions, please contact our support services <support@savoirfairelinux.com>

Contributors
------------

* David DUFRESNE <david.dufresne@savoirfairelinux.com>
* Jordi RIERA <jordi.riera@savoirfairelinux.com>
* Bruno JOLIVEAU <bruno.joliveau@savoirfairelinux.com>

Icon
----
* http://en.wikipedia.org/wiki/File:People%27s_Action_Party_of_Singapore_logo.svg

Maintainer
----------

Odoo Community Association

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.
39 changes: 39 additions & 0 deletions mrp_bom_reference_selection/__init__.py
@@ -0,0 +1,39 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 Savoir-faire Linux
# (<http://www.savoirfairelinux.com>).
#
# 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

from . import models
from . import wizards
from openerp import SUPERUSER_ID


def set_bill_of_material_references(cr, registry):
"""
This function adds a reference record to each existing boms when the
module is installed. This ensures that each bom has a reference
so that the module works properly.
"""
bom_obj = registry['mrp.bom']
ref_obj = registry['mrp.bom.reference']
bom_ids = bom_obj.search(cr, SUPERUSER_ID, [])
for bom in bom_obj.browse(cr, SUPERUSER_ID, bom_ids):
if not bom.reference_id:
ref_obj.create(cr, SUPERUSER_ID, {'bom_id': bom.id})
45 changes: 45 additions & 0 deletions mrp_bom_reference_selection/__openerp__.py
@@ -0,0 +1,45 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 Savoir-faire Linux
# (<http://www.savoirfairelinux.com>).
#
# 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

{
'name': 'Bill of Material Selection Reference',
'version': '1.1',
'author': 'Savoir-faire Linux',
'license': 'AGPL-3',
'category': 'Others',
'summary': 'Bill of Material Selection Reference',
'depends': [
'mrp',
],
'external_dependencies': {
'python': [],
},
'data': [
'security/ir.model.access.csv',
'views/mrp_bom_view.xml',
'views/mrp_product_produce_view.xml',
'views/stock_production_lot_view.xml',
],
'post_init_hook': 'set_bill_of_material_references',
'installable': True,
'application': True,
}
68 changes: 68 additions & 0 deletions mrp_bom_reference_selection/i18n/fr.po
@@ -0,0 +1,68 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mrp_bom_reference_selection
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-25 13:19+0000\n"
"PO-Revision-Date: 2015-02-25 08:24-0500\n"
"Last-Translator: David Dufresne <david.dufresne@savoirfairelinux.com>\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: mrp_bom_reference_selection
#: model:ir.model,name:mrp_bom_reference_selection.model_mrp_bom
#: field:mrp.bom.reference,bom_id:0
msgid "Bill of Material"
msgstr "Nomenclature"

#. module: mrp_bom_reference_selection
#: field:mrp.bom,reference_id:0
msgid "BoM Reference"
msgstr "Référence de nomenclature"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,create_uid:0
msgid "Created by"
msgstr "Créé par"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,create_date:0
msgid "Created on"
msgstr "Créé le"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,id:0
msgid "ID"
msgstr "ID"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,write_uid:0
msgid "Last Updated by"
msgstr "Dernière mise-à-jour par"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,write_date:0
msgid "Last Updated on"
msgstr "Dernière mise-à-jour le"

#. module: mrp_bom_reference_selection
#: model:ir.model,name:mrp_bom_reference_selection.model_mrp_bom_reference
msgid "MRP Bill of Material Reference"
msgstr "Référence de nomenclature"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.line,product_tmpl_id:0
msgid "Product Template"
msgstr "Modèle d'article"

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,name:0
msgid "Reference"
msgstr "Référence"
68 changes: 68 additions & 0 deletions mrp_bom_reference_selection/i18n/mrp_bom_reference_selection.pot
@@ -0,0 +1,68 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mrp_bom_reference_selection
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-25 13:19+0000\n"
"PO-Revision-Date: 2015-02-25 13:19+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: mrp_bom_reference_selection
#: model:ir.model,name:mrp_bom_reference_selection.model_mrp_bom
#: field:mrp.bom.reference,bom_id:0
msgid "Bill of Material"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom,reference_id:0
msgid "BoM Reference"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,create_uid:0
msgid "Created by"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,create_date:0
msgid "Created on"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,id:0
msgid "ID"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,write_uid:0
msgid "Last Updated by"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,write_date:0
msgid "Last Updated on"
msgstr ""

#. module: mrp_bom_reference_selection
#: model:ir.model,name:mrp_bom_reference_selection.model_mrp_bom_reference
msgid "MRP Bill of Material Reference"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.line,product_tmpl_id:0
msgid "Product Template"
msgstr ""

#. module: mrp_bom_reference_selection
#: field:mrp.bom.reference,name:0
msgid "Reference"
msgstr ""

29 changes: 29 additions & 0 deletions mrp_bom_reference_selection/models/__init__.py
@@ -0,0 +1,29 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 Savoir-faire Linux
# (<http://www.savoirfairelinux.com>).
#
# 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

from . import (
mrp_bom,
mrp_bom_line,
mrp_bom_reference,
mrp_production,
stock_production_lot,
)
37 changes: 37 additions & 0 deletions mrp_bom_reference_selection/models/mrp_bom.py
@@ -0,0 +1,37 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2015 Savoir-faire Linux
# (<http://www.savoirfairelinux.com>).
#
# 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.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

from openerp import models, fields, api


class MrpBillOfMaterial(models.Model):
_inherit = 'mrp.bom'

@api.model
def create(self, vals):
res = super(MrpBillOfMaterial, self).create(vals)
if not res.reference_id:
self.env['mrp.bom.reference'].create({'bom_id': res.id})
return res

reference_id = fields.One2many(
'mrp.bom.reference', 'bom_id', string="BoM Reference")

0 comments on commit 7af3cf7

Please sign in to comment.