mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[ADD] agreement_mrp
This commit is contained in:
committed by
Murtaza Mithaiwala
parent
929495172c
commit
f67a9d4bd8
21
agreement_mrp/README.rst
Normal file
21
agreement_mrp/README.rst
Normal file
@@ -0,0 +1,21 @@
|
||||
**This file is going to be generated by oca-gen-addon-readme.**
|
||||
|
||||
*Manual changes will be overwritten.*
|
||||
|
||||
Please provide content in the ``readme`` directory:
|
||||
|
||||
* **DESCRIPTION.rst** (required)
|
||||
* INSTALL.rst (optional)
|
||||
* CONFIGURE.rst (optional)
|
||||
* **USAGE.rst** (optional, highly recommended)
|
||||
* DEVELOP.rst (optional)
|
||||
* ROADMAP.rst (optional)
|
||||
* HISTORY.rst (optional, recommended)
|
||||
* **CONTRIBUTORS.rst** (optional, highly recommended)
|
||||
* CREDITS.rst (optional)
|
||||
|
||||
Content of this README will also be drawn from the addon manifest,
|
||||
from keys such as name, authors, maintainers, development_status,
|
||||
and license.
|
||||
|
||||
A good, one sentence summary in the manifest is also highly recommended.
|
||||
4
agreement_mrp/__init__.py
Normal file
4
agreement_mrp/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import models
|
||||
27
agreement_mrp/__manifest__.py
Normal file
27
agreement_mrp/__manifest__.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
{
|
||||
'name': 'Agreement - MRP',
|
||||
'summary': 'Link manufacturing orders to an agreement',
|
||||
'version': '11.0.0.0.1',
|
||||
'category': 'Contract',
|
||||
'author': 'Open Source Integrators, '
|
||||
'Odoo Community Association (OCA)',
|
||||
'website': 'https://github.com/OCA/contract',
|
||||
'depends': [
|
||||
'agreement',
|
||||
'mrp',
|
||||
],
|
||||
'data': [
|
||||
'views/agreement_view.xml',
|
||||
'views/mrp_view.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'license': 'AGPL-3',
|
||||
'development_status': 'Beta',
|
||||
'maintainers': [
|
||||
'smangukiya',
|
||||
'max3903',
|
||||
],
|
||||
}
|
||||
7
agreement_mrp/models/__init__.py
Normal file
7
agreement_mrp/models/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import (
|
||||
mrp,
|
||||
agreement,
|
||||
)
|
||||
20
agreement_mrp/models/agreement.py
Normal file
20
agreement_mrp/models/agreement.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class Agreement(models.Model):
|
||||
_inherit = "agreement"
|
||||
|
||||
mo_count = fields.Integer('# MOs', compute='_compute_mo_count')
|
||||
|
||||
@api.multi
|
||||
def _compute_mo_count(self):
|
||||
data = self.env['mrp.production'].read_group(
|
||||
[('agreement_id', 'in', self.ids)],
|
||||
['agreement_id'], ['agreement_id'])
|
||||
count_data = dict((item['agreement_id'][0],
|
||||
item['agreement_id_count']) for item in data)
|
||||
for agreement in self:
|
||||
agreement.mo_count = count_data.get(agreement.id, 0)
|
||||
12
agreement_mrp/models/mrp.py
Normal file
12
agreement_mrp/models/mrp.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class MRPProduction(models.Model):
|
||||
_inherit = "mrp.production"
|
||||
|
||||
agreement_id = fields.Many2one('agreement', 'Agreement')
|
||||
serviceprofile_id = fields.Many2one('agreement.serviceprofile',
|
||||
'Service Profile')
|
||||
1
agreement_mrp/readme/CONTRIBUTORS.rst
Normal file
1
agreement_mrp/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1 @@
|
||||
* Sandip Mangukiya <smangukiya@opensourceintegrators.com>
|
||||
3
agreement_mrp/readme/CREDITS.rst
Normal file
3
agreement_mrp/readme/CREDITS.rst
Normal file
@@ -0,0 +1,3 @@
|
||||
The development of this module has been financially supported by:
|
||||
|
||||
* Open Source Integrators <https://opensourceintegrators.com>
|
||||
6
agreement_mrp/readme/DESCRIPTION.rst
Normal file
6
agreement_mrp/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
Odoo Agreement App does not provide an easy way to access manufacturing orders
|
||||
related to an agreement. Some organizations needs to have a quick access to the
|
||||
production orders to track the performance of an agreement.
|
||||
|
||||
This module allows you to link a manufacturing order to an agreement and
|
||||
adds a smart button on the agreement to look at the list of related MOs.
|
||||
5
agreement_mrp/readme/INSTALL.rst
Normal file
5
agreement_mrp/readme/INSTALL.rst
Normal file
@@ -0,0 +1,5 @@
|
||||
To install Field Service and have the mapping features,
|
||||
you need to install agreement and mrp
|
||||
|
||||
Please refer to the installation instructions available at:
|
||||
https://github.com/OCA/contract/agreement_mrp
|
||||
2
agreement_mrp/readme/ROADMAP.rst
Normal file
2
agreement_mrp/readme/ROADMAP.rst
Normal file
@@ -0,0 +1,2 @@
|
||||
The roadmap of the Field Service application is documented on
|
||||
`Github <https://github.com/OCA/contract/issues/221>`_.
|
||||
6
agreement_mrp/readme/USAGE.rst
Normal file
6
agreement_mrp/readme/USAGE.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
To use this module, you need to:
|
||||
|
||||
* Go to Manufacturing > Manufacturing Orders
|
||||
* Select or create a manufacturing order and set the agreement
|
||||
* Go to Agreement > Agreements
|
||||
* Open the previous agreement and click on the smart button "Manufacturing Orders" to see the list of related MO
|
||||
BIN
agreement_mrp/static/description/icon.png
Normal file
BIN
agreement_mrp/static/description/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
34
agreement_mrp/views/agreement_view.xml
Normal file
34
agreement_mrp/views/agreement_view.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_mrp_production_agreement_specific">
|
||||
<field name="name">Manufacture Orders</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">mrp.production</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('agreement_id', '=', active_id)]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Create MOs
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="partner_agreement_form_view" model="ir.ui.view">
|
||||
<field name="name">agreement.form.mrp</field>
|
||||
<field name="model">agreement</field>
|
||||
<field name="inherit_id" ref="agreement.partner_agreement_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(action_mrp_production_agreement_specific)d" type="action" attrs="{'invisible': [('mo_count', '=', 0)]}" class="oe_stat_button" icon="fa-wrench">
|
||||
<div class="o_field_widget o_stat_info">
|
||||
<span class="o_stat_value"><field name="mo_count" widget="statinfo" nolabel="1"/></span>
|
||||
<span class="o_stat_text">MOs</span>
|
||||
</div>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
28
agreement_mrp/views/mrp_view.xml
Normal file
28
agreement_mrp/views/mrp_view.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="mrp_production_form_view_agreement" model="ir.ui.view">
|
||||
<field name="name">mrp.production.form.agreement</field>
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_production_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='bom_id']" position="after">
|
||||
<field name="agreement_id"/>
|
||||
<field name="serviceprofile_id" domain="[('agreement_id', '=', agreement_id)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit mrp production search view-->
|
||||
<record id="view_mrp_production_filter_agreement" model="ir.ui.view">
|
||||
<field name="name">mrp.production.select.agreement</field>
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="inherit_id" ref="mrp.view_mrp_production_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group" position="inside">
|
||||
<filter string="Service Profile" domain="[]" context="{'group_by':'serviceprofile_id'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user