├── README.md ├── asset ├── images │ └── assets.png ├── static │ ├── description │ │ ├── icon.png │ │ ├── support.png │ │ ├── asset_canban.png │ │ └── index.html │ └── src │ │ └── css │ │ └── asset.css ├── __init__.py ├── views │ └── asset.xml ├── security │ ├── ir.model.access.csv │ └── asset_security.xml ├── stock_data.xml ├── __manifest__.py ├── stock.py ├── asset.py └── asset_data.xml ├── mro_pm ├── images │ ├── pm_rule.png │ ├── meter_ratio.png │ ├── asset_meters.png │ ├── update_meters.png │ └── meter_interval.png ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── wizard │ ├── __init__.py │ ├── replan.py │ └── replan_view.xml ├── __init__.py ├── mro_pm_sequence.xml ├── asset.py ├── __manifest__.py ├── asset_view.xml └── security │ └── ir.model.access.csv ├── mro ├── images │ ├── maintenance_task.png │ ├── maintenance_order.png │ ├── maintenance_orders.png │ ├── maintenance_tasks.png │ └── maintenance_requests.png ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ ├── asset_canban.png │ │ ├── maintenance_tasks.png │ │ ├── maintenance_orders.png │ │ ├── maintenance_requests.png │ │ └── index.html ├── models │ ├── __init__.py │ └── mro_workorder.py ├── wizard │ ├── __init__.py │ ├── reject.py │ ├── convert_order.xml │ ├── reject_view.xml │ └── convert_order.py ├── __init__.py ├── product_template.py ├── mro_report.xml ├── product_view.xml ├── stock.py ├── mro_sequence.xml ├── asset.py ├── __manifest__.py ├── views │ ├── report_mro_request.xml │ ├── mro_workorder_view.xml │ └── report_mro_order.xml ├── asset_view.xml ├── security │ ├── mro_security.xml │ └── ir.model.access.csv ├── mro_demo.xml └── mro_data.xml ├── asset_full_history ├── images │ └── assets.png ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ ├── asset_canban.png │ │ └── index.html ├── __init__.py ├── __manifest__.py └── asset.py ├── asset_map ├── static │ └── description │ │ ├── map.png │ │ ├── icon.png │ │ ├── api_key.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── models │ ├── __init__.py │ └── asset.py ├── views │ └── asset_view.xml ├── __manifest__.py └── demo │ └── asset_demo.xml ├── mro_cbm ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── wizard │ ├── __init__.py │ ├── replan.py │ └── replan_view.xml ├── __init__.py ├── asset.py ├── mro_cbm_sequence.xml ├── security │ └── ir.model.access.csv ├── __manifest__.py ├── asset_view.xml ├── mro_cbm_demo.xml ├── mro.py ├── mro_cbm.py └── i18n │ ├── mro_cbm.pot │ ├── fr.po │ └── ru.po ├── mro_maps ├── static │ └── description │ │ ├── icon.png │ │ ├── maps.png │ │ ├── api_key.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── models │ ├── __init__.py │ └── mro_workorder.py ├── views │ └── mro_workorder_view.xml └── __manifest__.py ├── asset_mrp ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── security │ └── ir.model.access.csv ├── asset.py ├── asset_demo.xml ├── mrp.py ├── __manifest__.py └── i18n │ ├── ru.po │ ├── sl.po │ └── asset_mrp.pot ├── asset_sale ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── asset.py ├── asset_demo.xml ├── security │ └── ir.model.access.csv ├── __manifest__.py └── i18n │ ├── ru.po │ ├── sl.po │ └── asset_sale.pot ├── asset_stock ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── security │ └── ir.model.access.csv ├── asset.py ├── asset_demo.xml ├── __manifest__.py └── i18n │ ├── ru.po │ ├── sl.po │ └── asset_stock.pot ├── asset_account ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── models │ ├── __init__.py │ └── asset.py ├── __manifest__.py └── demo │ └── asset_demo.xml ├── asset_purchase ├── static │ └── description │ │ ├── icon.png │ │ ├── support.png │ │ └── index.html ├── __init__.py ├── security │ └── ir.model.access.csv ├── asset.py ├── asset_demo.xml ├── __manifest__.py └── i18n │ ├── ru.po │ ├── sl.po │ └── asset_purchase.pot └── .gitignore /README.md: -------------------------------------------------------------------------------- 1 | EAM 2 | === 3 | 4 | Enterprise Asset Management 5 | 6 | for Odoo 7 | -------------------------------------------------------------------------------- /asset/images/assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset/images/assets.png -------------------------------------------------------------------------------- /mro_pm/images/pm_rule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/images/pm_rule.png -------------------------------------------------------------------------------- /mro_pm/images/meter_ratio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/images/meter_ratio.png -------------------------------------------------------------------------------- /mro/images/maintenance_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/images/maintenance_task.png -------------------------------------------------------------------------------- /mro/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/icon.png -------------------------------------------------------------------------------- /mro_pm/images/asset_meters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/images/asset_meters.png -------------------------------------------------------------------------------- /mro_pm/images/update_meters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/images/update_meters.png -------------------------------------------------------------------------------- /asset/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset/static/description/icon.png -------------------------------------------------------------------------------- /mro/images/maintenance_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/images/maintenance_order.png -------------------------------------------------------------------------------- /mro/images/maintenance_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/images/maintenance_orders.png -------------------------------------------------------------------------------- /mro/images/maintenance_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/images/maintenance_tasks.png -------------------------------------------------------------------------------- /mro/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/support.png -------------------------------------------------------------------------------- /mro_pm/images/meter_interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/images/meter_interval.png -------------------------------------------------------------------------------- /mro_pm/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/static/description/icon.png -------------------------------------------------------------------------------- /asset/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset/static/description/support.png -------------------------------------------------------------------------------- /asset_full_history/images/assets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_full_history/images/assets.png -------------------------------------------------------------------------------- /asset_map/static/description/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_map/static/description/map.png -------------------------------------------------------------------------------- /mro/images/maintenance_requests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/images/maintenance_requests.png -------------------------------------------------------------------------------- /mro_cbm/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_cbm/static/description/icon.png -------------------------------------------------------------------------------- /mro_maps/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_maps/static/description/icon.png -------------------------------------------------------------------------------- /mro_maps/static/description/maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_maps/static/description/maps.png -------------------------------------------------------------------------------- /asset_map/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_map/static/description/icon.png -------------------------------------------------------------------------------- /asset_mrp/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_mrp/static/description/icon.png -------------------------------------------------------------------------------- /asset_sale/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_sale/static/description/icon.png -------------------------------------------------------------------------------- /asset_stock/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_stock/static/description/icon.png -------------------------------------------------------------------------------- /mro/static/description/asset_canban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/asset_canban.png -------------------------------------------------------------------------------- /mro_cbm/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_cbm/static/description/support.png -------------------------------------------------------------------------------- /mro_maps/static/description/api_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_maps/static/description/api_key.png -------------------------------------------------------------------------------- /mro_maps/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_maps/static/description/support.png -------------------------------------------------------------------------------- /mro_pm/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro_pm/static/description/support.png -------------------------------------------------------------------------------- /asset/static/description/asset_canban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset/static/description/asset_canban.png -------------------------------------------------------------------------------- /asset_account/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_account/static/description/icon.png -------------------------------------------------------------------------------- /asset_map/static/description/api_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_map/static/description/api_key.png -------------------------------------------------------------------------------- /asset_map/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_map/static/description/support.png -------------------------------------------------------------------------------- /asset_mrp/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_mrp/static/description/support.png -------------------------------------------------------------------------------- /asset_sale/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_sale/static/description/support.png -------------------------------------------------------------------------------- /asset_account/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_account/static/description/support.png -------------------------------------------------------------------------------- /asset_purchase/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_purchase/static/description/icon.png -------------------------------------------------------------------------------- /asset_stock/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_stock/static/description/support.png -------------------------------------------------------------------------------- /mro/static/description/maintenance_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/maintenance_tasks.png -------------------------------------------------------------------------------- /asset_full_history/static/description/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_full_history/static/description/icon.png -------------------------------------------------------------------------------- /asset_purchase/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_purchase/static/description/support.png -------------------------------------------------------------------------------- /mro/static/description/maintenance_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/maintenance_orders.png -------------------------------------------------------------------------------- /asset_full_history/static/description/support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_full_history/static/description/support.png -------------------------------------------------------------------------------- /mro/static/description/maintenance_requests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/mro/static/description/maintenance_requests.png -------------------------------------------------------------------------------- /asset_full_history/static/description/asset_canban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codup/odoo-eam/HEAD/asset_full_history/static/description/asset_canban.png -------------------------------------------------------------------------------- /asset_sale/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | -------------------------------------------------------------------------------- /asset_stock/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | -------------------------------------------------------------------------------- /asset_account/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import models 10 | -------------------------------------------------------------------------------- /asset_account/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | -------------------------------------------------------------------------------- /asset_purchase/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | -------------------------------------------------------------------------------- /mro_cbm/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import replan 10 | -------------------------------------------------------------------------------- /mro_pm/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import replan 10 | -------------------------------------------------------------------------------- /asset_full_history/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | -------------------------------------------------------------------------------- /mro/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import mro_workorder 10 | -------------------------------------------------------------------------------- /asset/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | from . import stock 11 | -------------------------------------------------------------------------------- /asset_mrp/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | from . import mrp 11 | -------------------------------------------------------------------------------- /mro/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import reject 10 | from . import convert_order 11 | -------------------------------------------------------------------------------- /asset_map/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import models 10 | 11 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /mro_maps/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import models 10 | 11 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /mro_pm/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import mro_pm 10 | from . import asset 11 | from . import mro 12 | from . import wizard 13 | -------------------------------------------------------------------------------- /asset/views/asset.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /asset_map/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | 11 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /mro_cbm/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import mro_cbm 10 | from . import asset 11 | from . import mro 12 | from . import wizard 13 | -------------------------------------------------------------------------------- /mro_maps/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import mro_workorder 10 | 11 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /mro/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from . import asset 10 | from . import mro 11 | from . import stock 12 | from . import product_template 13 | from . import wizard 14 | from . import models 15 | -------------------------------------------------------------------------------- /mro_cbm/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | 12 | class asset_asset(models.Model): 13 | _inherit = 'asset.asset' 14 | 15 | gauge_ids = fields.One2many('mro.gauge', 'asset_id', 'Gauge') 16 | -------------------------------------------------------------------------------- /asset_mrp/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_asset_asset_mrp_manager,asset.asset mrp_manager,asset.model_asset_asset,mrp.group_mrp_manager,1,1,1,1 3 | access_asset_state_mrp_manager,asset.state mrp_manager,asset.model_asset_state,mrp.group_mrp_manager,1,1,1,1 4 | access_asset_asset_mrp_user,asset.asset mrp_user,asset.model_asset_asset,mrp.group_mrp_user,1,1,0,0 5 | access_asset_state_mrp_user,asset.state mrp_user,asset.model_asset_state,mrp.group_mrp_user,1,0,0,0 -------------------------------------------------------------------------------- /mro/product_template.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, tools, _ 10 | 11 | 12 | class ProductTemplate(models.Model): 13 | _name = "product.template" 14 | _inherit = "product.template" 15 | 16 | isParts = fields.Boolean('Can be Part') 17 | -------------------------------------------------------------------------------- /asset_map/models/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, _ 10 | 11 | 12 | class asset_asset(models.Model): 13 | _inherit = 'asset.asset' 14 | 15 | position = fields.Char('Map') 16 | 17 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /asset_stock/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_asset_asset_stock_manager,asset.asset stock_manager,asset.model_asset_asset,stock.group_stock_manager,1,1,1,1 3 | access_asset_state_stock_manager,asset.state stock_manager,asset.model_asset_state,stock.group_stock_manager,1,1,1,1 4 | access_asset_asset_stock_user,asset.asset stock_user,asset.model_asset_asset,stock.group_stock_user,1,1,0,0 5 | access_asset_state_stock_user,asset.state stock_user,asset.model_asset_state,stock.group_stock_user,1,0,0,0 -------------------------------------------------------------------------------- /mro_pm/mro_pm_sequence.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PM Rule 7 | mro.pm.rule 8 | PM 9 | 5 10 | 1 11 | 1 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /mro_cbm/mro_cbm_sequence.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PdM Rule 8 | mro.cbm.rule 9 | PdM 10 | 5 11 | 1 12 | 1 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /asset_purchase/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_asset_asset_purchase_manager,asset.asset purchase_manager,asset.model_asset_asset,purchase.group_purchase_manager,1,1,1,1 3 | access_asset_state_purchase_manager,asset.state purchase_manager,asset.model_asset_state,purchase.group_purchase_manager,1,1,1,1 4 | access_asset_asset_purchase_user,asset.asset purchase_user,asset.model_asset_asset,purchase.group_purchase_user,1,1,0,0 5 | access_asset_state_purchase_user,asset.state purchase_user,asset.model_asset_state,purchase.group_purchase_user,1,0,0,0 -------------------------------------------------------------------------------- /mro_pm/wizard/replan.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | 12 | class mro_pm_replan(models.TransientModel): 13 | _name = 'mro.pm.replan' 14 | _description = 'Replan PM' 15 | 16 | def replan_pm(self): 17 | self.env['mro.order'].replan_pm() 18 | return {'type': 'ir.actions.act_window_close',} 19 | -------------------------------------------------------------------------------- /mro_cbm/wizard/replan.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | 12 | class mro_cbm_replan(models.TransientModel): 13 | _name = 'mro.cbm.replan' 14 | _description = 'Replan PdM' 15 | 16 | def replan_cbm(self): 17 | self.env['mro.order'].replan_cbm() 18 | return {'type': 'ir.actions.act_window_close',} 19 | -------------------------------------------------------------------------------- /asset_sale/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo.addons.asset.asset import STATE_COLOR_SELECTION 11 | 12 | 13 | class asset_asset(models.Model): 14 | _inherit = 'asset.asset' 15 | 16 | finance_state_color = fields.Selection(related='finance_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 17 | -------------------------------------------------------------------------------- /asset_mrp/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo.addons.asset.asset import STATE_COLOR_SELECTION 11 | 12 | 13 | class asset_asset(models.Model): 14 | _inherit = 'asset.asset' 15 | 16 | manufacture_state_color = fields.Selection(related='manufacture_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 17 | -------------------------------------------------------------------------------- /asset_purchase/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo.addons.asset.asset import STATE_COLOR_SELECTION 11 | 12 | 13 | class asset_asset(models.Model): 14 | _inherit = 'asset.asset' 15 | 16 | finance_state_color = fields.Selection(related='finance_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 17 | -------------------------------------------------------------------------------- /asset_stock/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo.addons.asset.asset import STATE_COLOR_SELECTION 11 | 12 | 13 | class asset_asset(models.Model): 14 | _inherit = 'asset.asset' 15 | 16 | warehouse_state_color = fields.Selection(related='warehouse_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 17 | -------------------------------------------------------------------------------- /asset_account/models/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo.addons.asset.asset import STATE_COLOR_SELECTION 11 | 12 | 13 | class asset_asset(models.Model): 14 | _inherit = 'asset.asset' 15 | 16 | accounting_state_color = fields.Selection(related='accounting_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 17 | -------------------------------------------------------------------------------- /asset_mrp/asset_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /asset_purchase/asset_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /asset_sale/asset_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /asset_stock/asset_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /mro/mro_report.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 14 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /mro_maps/models/mro_workorder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, _ 10 | 11 | 12 | class mro_order(models.Model): 13 | _inherit = 'mro.order' 14 | 15 | position = fields.Char('Map', related='asset_id.position') 16 | 17 | 18 | class MroWorkOrder(models.Model): 19 | _inherit = 'mro.workorder' 20 | 21 | positions = fields.One2many('mro.order', 'wo_id', 'Maintenance Order') 22 | 23 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: -------------------------------------------------------------------------------- /mro_maps/views/mro_workorder_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | mro.workorder.form.inherit 7 | mro.workorder 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /mro/product_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | mro.product.template.common.form 7 | product.template 8 | 9 | 10 | 11 |
12 | 13 |
15 |
16 |
17 |
18 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /asset_full_history/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Asset Full History', 11 | 'version': '1.3', 12 | 'summary': 'Track Asset History', 13 | 'description': """ 14 | Track all Asset Hystory in Odoo. 15 | =========================== 16 | Support following feature: 17 | * Track changes in all fields 18 | """, 19 | 'author': 'CodUP', 20 | 'website': 'http://codup.com', 21 | 'category': 'Industries', 22 | 'sequence': 0, 23 | 'depends': ['asset'], 24 | 'installable': True, 25 | } 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | bin/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | eggs/ 16 | lib/ 17 | lib64/ 18 | parts/ 19 | sdist/ 20 | var/ 21 | *.egg-info/ 22 | .installed.cfg 23 | *.egg 24 | 25 | # Installer logs 26 | pip-log.txt 27 | pip-delete-this-directory.txt 28 | 29 | # Unit test / coverage reports 30 | htmlcov/ 31 | .tox/ 32 | .coverage 33 | .cache 34 | nosetests.xml 35 | coverage.xml 36 | 37 | # Translations 38 | *.mo 39 | 40 | # Pycharm 41 | .idea 42 | 43 | # Mr Developer 44 | .mr.developer.cfg 45 | .project 46 | .pydevproject 47 | 48 | # Rope 49 | .ropeproject 50 | 51 | # Sphinx documentation 52 | docs/_build/ 53 | 54 | # Backup files 55 | *~ 56 | *.swp 57 | -------------------------------------------------------------------------------- /asset_map/views/asset_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | asset.asset.form.inherit 7 | asset.asset 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /asset_sale/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_asset_asset_sale_manager,asset.asset sale_manager,asset.model_asset_asset,sales_team.group_sale_manager,1,1,1,1 3 | access_asset_state_sale_manager,asset.state sale_manager,asset.model_asset_state,sales_team.group_sale_manager,1,1,1,1 4 | access_asset_asset_salesman_all,asset.asset salesman_all,asset.model_asset_asset,sales_team.group_sale_salesman_all_leads,1,1,0,0 5 | access_asset_state_salesman_all,asset.state salesman_all,asset.model_asset_state,sales_team.group_sale_salesman_all_leads,1,0,0,0 6 | access_asset_asset_salesman,asset.asset salesman,asset.model_asset_asset,sales_team.group_sale_salesman,1,0,0,0 7 | access_asset_state_salesman,asset.state salesman,asset.model_asset_state,sales_team.group_sale_salesman,1,0,0,0 -------------------------------------------------------------------------------- /mro_cbm/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_mro_gauge_manager,mro.gauge manager,model_mro_gauge,asset.group_mro_manager,1,1,1,1 3 | access_mro_gauge_line_manager,mro.gauge.line manager,model_mro_gauge_line,asset.group_mro_manager,1,1,1,1 4 | access_mro_cbm_rule_manager,mro.cbm.rule manager,model_mro_cbm_rule,asset.group_mro_manager,1,1,1,1 5 | access_mro_gauge_user,mro.gauge user,model_mro_gauge,asset.group_mro_user,1,1,0,0 6 | access_mro_gauge_line_user,mro.gauge.line user,model_mro_gauge_line,asset.group_mro_user,1,1,1,0 7 | access_mro_cbm_rule_user,mro.cbm.rule user,model_mro_cbm_rule,asset.group_mro_user,1,0,0,0 8 | access_mro_gauge_customer,mro.gauge customer,model_mro_gauge,asset.group_mro_customer,1,0,0,0 9 | access_mro_gauge_line_customer,mro.gauge.line customer,model_mro_gauge_line,asset.group_mro_customer,1,0,0,0 -------------------------------------------------------------------------------- /mro/wizard/reject.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2019 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo import netsvc 11 | 12 | class mro_request_reject(models.TransientModel): 13 | _name = 'mro.request.reject' 14 | _description = 'Reject Request' 15 | 16 | reject_reason = fields.Text('Reject Reason', required=True) 17 | 18 | def reject_request(self): 19 | active_id = self._context.get('active_id') 20 | if active_id: 21 | request = self.env['mro.request'].browse(self._context.get('active_id')) 22 | request.write({'reject_reason':self.reject_reason}) 23 | request.action_reject() 24 | return {'type': 'ir.actions.act_window_close',} 25 | -------------------------------------------------------------------------------- /mro_maps/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'MRO Maps', 11 | 'version': '0.3', 12 | 'category': 'Industries', 13 | 'summary': 'Show asset positions', 14 | 'description': """ 15 | Show Asset on Map 16 | ========================== 17 | Support following feature: 18 | * Asset positions in Work Order 19 | """, 20 | 'author': 'CodUP', 21 | 'license': 'AGPL-3', 22 | 'website': 'http://codup.com', 23 | 'sequence': 0, 24 | 'depends': ['asset_map','mro','web_maps'], 25 | 'data': [ 26 | 'views/mro_workorder_view.xml', 27 | ], 28 | 'installable': True, 29 | } 30 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 31 | -------------------------------------------------------------------------------- /asset_account/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Assets & Finance', 11 | 'version': '1.4', 12 | 'summary': 'Integrate Asset and Accounting', 13 | 'description': """ 14 | Integrate financial and maintenance asset management. 15 | =========================== 16 | 17 | This module allows use the same Assets for maintenance and accounting purposes. 18 | Keep one entity in one place for escape mistakes! 19 | """, 20 | 'author': 'CodUP', 21 | 'website': 'http://codup.com', 22 | 'category': 'Industries', 23 | 'sequence': 0, 24 | 'depends': ['asset','account'], 25 | 'data': ['views/account_view.xml'], 26 | 'demo': ['demo/asset_demo.xml'], 27 | 'installable': True, 28 | } 29 | -------------------------------------------------------------------------------- /asset_map/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Asset Map', 11 | 'version': '0.3', 12 | 'category': 'Industries', 13 | 'summary': 'Show asset position', 14 | 'description': """ 15 | Show Asset on Map 16 | ========================== 17 | Support following feature: 18 | * Edit asset position 19 | """, 20 | 'author': 'CodUP', 21 | 'license': 'AGPL-3', 22 | 'website': 'http://codup.com', 23 | 'sequence': 0, 24 | 'depends': ['asset','web_map'], 25 | 'data': [ 26 | 'views/asset_view.xml', 27 | ], 28 | 'demo': [ 29 | 'demo/asset_demo.xml', 30 | ], 31 | 'installable': True, 32 | } 33 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 34 | -------------------------------------------------------------------------------- /mro/stock.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | class StockMove(models.Model): 12 | _inherit = 'stock.move' 13 | 14 | @api.model 15 | def write(self, vals): 16 | res = super(StockMove, self).write(vals) 17 | # from odoo import workflow 18 | # if vals.get('state') == 'assigned': 19 | # mro_obj = self.env['mro.order'] 20 | # order_ids = mro_obj.search([('procurement_group_id', 'in', [x.group_id.id for x in self])]) 21 | # for order_id in order_ids: 22 | # if order_id.test_ready(): 23 | # workflow.trg_validate(self.env.user.id, 'mro.order', order_id.id, 'parts_ready', self.env.cr) 24 | return res 25 | -------------------------------------------------------------------------------- /asset/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_asset_asset_manager,asset.asset manager,model_asset_asset,asset.group_mro_manager,1,1,1,1 3 | access_asset_state_manager,asset.state manager,model_asset_state,asset.group_mro_manager,1,1,1,1 4 | access_asset_category_manager,asset.category manager,model_asset_category,asset.group_mro_manager,1,1,1,1 5 | access_asset_asset_user,asset.asset user,model_asset_asset,asset.group_mro_user,1,1,0,0 6 | access_asset_state_user,asset.state user,model_asset_state,asset.group_mro_user,1,0,0,0 7 | access_asset_category_user,asset.category user,model_asset_category,asset.group_mro_user,1,1,1,1 8 | access_asset_asset_customer,asset.asset customer,model_asset_asset,asset.group_mro_customer,1,0,0,0 9 | access_asset_state_customer,asset.state customer,model_asset_state,asset.group_mro_customer,1,0,0,0 10 | access_asset_category_customer,asset.category customer,model_asset_category,asset.group_mro_customer,1,0,0,0 -------------------------------------------------------------------------------- /asset_sale/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Assets & Sale', 11 | 'version': '1.4', 12 | 'summary': 'Integrate Asset and Sale', 13 | 'description': """ 14 | Integrate Maintenance and Sale. 15 | =========================== 16 | 17 | This module allows use the same Assets for sale and maintenance purposes. 18 | Keep one entity in one place for escape mistakes! 19 | """, 20 | 'author': 'CodUP', 21 | 'website': 'http://codup.com', 22 | 'category': 'Industries', 23 | 'sequence': 0, 24 | 'depends': ['sale_management','asset'], 25 | 'demo': ['asset_demo.xml'], 26 | 'data': [ 27 | 'security/ir.model.access.csv', 28 | 'sale_view.xml' 29 | ], 30 | 'installable': True, 31 | } 32 | -------------------------------------------------------------------------------- /asset_stock/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Assets & Warehouse', 11 | 'version': '1.4', 12 | 'summary': 'Integrate Asset and Warehouse', 13 | 'description': """ 14 | Integrate Maintenance and Warehouse. 15 | =========================== 16 | 17 | This module allows use the same Assets for warehouse and maintenance purposes. 18 | Keep one entity in one place for escape mistakes! 19 | """, 20 | 'author': 'CodUP', 21 | 'website': 'http://codup.com', 22 | 'category': 'Industries', 23 | 'sequence': 0, 24 | 'depends': ['asset'], 25 | 'demo': ['asset_demo.xml'], 26 | 'data': [ 27 | 'security/ir.model.access.csv', 28 | 'stock_view.xml' 29 | ], 30 | 'installable': True, 31 | } 32 | -------------------------------------------------------------------------------- /asset_mrp/mrp.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | 12 | class mrp_workcenter(models.Model): 13 | _inherit = 'mrp.workcenter' 14 | 15 | asset_ids = fields.Many2many('asset.asset', string='Asset') 16 | 17 | 18 | class mrp_bom(models.Model): 19 | _inherit = 'mrp.bom' 20 | 21 | @api.depends('routing_id') 22 | def _get_assets(self): 23 | for bom in self: 24 | line_ids = [] 25 | if bom.routing_id: 26 | for work_center in bom.routing_id.operation_ids: 27 | line_ids += [asset.id for asset in work_center.workcenter_id.asset_ids] 28 | bom.asset_ids = line_ids 29 | 30 | asset_ids = fields.One2many('asset.asset', compute='_get_assets') 31 | -------------------------------------------------------------------------------- /asset_purchase/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2014-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Assets & Purchase', 11 | 'version': '1.4', 12 | 'summary': 'Integrate Asset and Purchase', 13 | 'description': """ 14 | Integrate Maintenance and Purchase. 15 | =========================== 16 | 17 | This module allows use the same Assets for purchase and maintenance purposes. 18 | Keep one entity in one place for escape mistakes! 19 | """, 20 | 'author': 'CodUP', 21 | 'website': 'http://codup.com', 22 | 'category': 'Industries', 23 | 'sequence': 0, 24 | 'depends': ['purchase','asset'], 25 | 'demo': ['asset_demo.xml'], 26 | 'data': [ 27 | 'security/ir.model.access.csv', 28 | 'purchase_view.xml' 29 | ], 30 | 'installable': True, 31 | } 32 | -------------------------------------------------------------------------------- /mro_pm/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, _ 10 | 11 | 12 | class asset_asset(models.Model): 13 | _inherit = 'asset.asset' 14 | 15 | meter_ids = fields.One2many('mro.pm.meter', 'asset_id', 'Meter') 16 | 17 | def action_view_rules(self): 18 | category_ids = [] 19 | for asset in self: 20 | category_ids = category_ids + [category.id for category in asset.category_ids] 21 | return { 22 | 'domain': "[('category_id','in',[" + ','.join(map(str, category_ids)) + "])]", 23 | 'name': _('Scheduling Rules'), 24 | 'view_type': 'form', 25 | 'view_mode': 'tree,form', 26 | 'res_model': 'mro.pm.rule', 27 | 'type': 'ir.actions.act_window', 28 | 'target': 'current', 29 | } 30 | -------------------------------------------------------------------------------- /mro/wizard/convert_order.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Convert to Task 7 | mro.convert.order 8 | 9 |
10 | 11 |
12 |
16 | 17 |
18 |
19 | 20 | 27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /asset/stock_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Asset Locations 8 | view 9 | 10 | 11 | 12 | 13 | Assets 14 | 15 | asset 16 | 17 | 18 | 19 | 20 | 21 | property_stock_asset 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /mro_pm/wizard/replan_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Replan PM 7 | mro.pm.replan 8 | 9 |
10 |
11 |
15 |
16 |
17 |
18 | 19 | 20 | Replan PM 21 | ir.actions.act_window 22 | mro.pm.replan 23 | form 24 | form 25 | new 26 | 27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /mro_cbm/wizard/replan_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Replan PdM 7 | mro.cbm.replan 8 | 9 |
10 |
11 |
15 |
16 |
17 |
18 | 19 | 20 | Replan PdM 21 | ir.actions.act_window 22 | mro.cbm.replan 23 | form 24 | form 25 | new 26 | 27 | 28 |
29 |
-------------------------------------------------------------------------------- /asset_account/demo/asset_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /asset_purchase/i18n/ru.po: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_purchase 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0-20140125-002455\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-03-02 08:41+0000\n" 10 | "PO-Revision-Date: 2014-03-02 08:41+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_purchase 19 | #: view:asset.asset:0 20 | #: model:ir.actions.act_window,name:asset_purchase.action_assets_purchase 21 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets 22 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets_assets 23 | msgid "Assets" 24 | msgstr "Активы" 25 | 26 | #. module: asset_purchase 27 | #: model:ir.ui.menu,name:asset_purchase.menu_asset_state 28 | msgid "Asset States" 29 | msgstr "Состояния активов" 30 | 31 | #. module: asset_purchase 32 | #: model:ir.actions.act_window,name:asset_purchase.action_management_assets_purchase 33 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets_management 34 | msgid "Manage states" 35 | msgstr "Управление состояниями" -------------------------------------------------------------------------------- /asset_stock/i18n/ru.po: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_stock 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0-20140125-002455\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-03-01 09:45+0000\n" 10 | "PO-Revision-Date: 2014-03-01 09:45+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_stock 19 | #: view:asset.asset:0 20 | #: model:ir.actions.act_window,name:asset_stock.action_assets_stock 21 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets 22 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets_assets 23 | msgid "Assets" 24 | msgstr "Активы" 25 | 26 | #. module: asset_stock 27 | #: model:ir.actions.act_window,name:asset_stock.action_asset_state 28 | #: model:ir.ui.menu,name:asset_stock.menu_asset_state 29 | msgid "Asset States" 30 | msgstr "Состояния активов" 31 | 32 | #. module: asset_stock 33 | #: model:ir.actions.act_window,name:asset_stock.action_management_assets 34 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets_management 35 | msgid "Manage states" 36 | msgstr "Управление состояниями" -------------------------------------------------------------------------------- /mro_cbm/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'MRO CBM', 11 | 'version': '1.4', 12 | 'summary': 'Asset Predictive Maintenance', 13 | 'description': """ 14 | Manage Predictive Maintenance process in OpenERP 15 | ===================================== 16 | 17 | Asset Maintenance, Repair and Operation. 18 | Add support for Condition Based Maintenance. 19 | 20 | Main Features 21 | ------------- 22 | * Gauge Management for Asset 23 | * Planning Maintenance Work Orders base on Gauges 24 | * PdM Rules for Assets by Tag 25 | 26 | Required modules: 27 | * asset 28 | * mro 29 | * mro_pm 30 | """, 31 | 'author': 'CodUP', 32 | 'website': 'http://codup.com', 33 | 'category': 'Industries', 34 | 'sequence': 0, 35 | 'depends': ['mro_pm'], 36 | 'demo': ['mro_cbm_demo.xml'], 37 | 'data': [ 38 | 'security/ir.model.access.csv', 39 | 'wizard/replan_view.xml', 40 | 'mro_cbm_view.xml', 41 | 'mro_cbm_sequence.xml', 42 | 'asset_view.xml', 43 | ], 44 | 'installable': True, 45 | } 46 | -------------------------------------------------------------------------------- /asset/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | { 10 | 'name': 'Assets', 11 | 'version': '1.12', 12 | 'summary': 'Asset Management', 13 | 'description': """ 14 | Managing Assets in Odoo. 15 | =========================== 16 | Support following feature: 17 | * Location for Asset 18 | * Assign Asset to employee 19 | * Track warranty information 20 | * Custom states of Asset 21 | * States of Asset for different team: Finance, Warehouse, Manufacture, Maintenance and Accounting 22 | * Drag&Drop manage states of Asset 23 | * Asset Tags 24 | * Search by main fields 25 | """, 26 | 'author': 'CodUP', 27 | 'website': 'http://codup.com', 28 | 'category': 'Industries', 29 | 'sequence': 0, 30 | 'depends': ['stock'], 31 | 'demo': ['asset_demo.xml'], 32 | 'data': [ 33 | 'security/asset_security.xml', 34 | 'security/ir.model.access.csv', 35 | 'asset_view.xml', 36 | 'asset_data.xml', 37 | 'stock_data.xml', 38 | 'views/asset.xml', 39 | ], 40 | 'installable': True, 41 | 'application': True, 42 | } 43 | -------------------------------------------------------------------------------- /mro_cbm/asset_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | asset.asset.gauge.form.inherit 7 | asset.asset 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /mro_pm/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_mro_pm_meter_manager,mro.pm.meter manager,model_mro_pm_meter,asset.group_mro_manager,1,1,1,1 3 | access_mro_pm_meter_line_manager,mro.pm.meter.line manager,model_mro_pm_meter_line,asset.group_mro_manager,1,1,1,1 4 | access_mro_pm_meter_ratio_manager,mro.pm.meter.ratio manager,model_mro_pm_meter_ratio,asset.group_mro_manager,1,1,1,1 5 | access_mro_pm_meter_interval_manager,mro.pm.meter.interval manager,model_mro_pm_meter_interval,asset.group_mro_manager,1,1,1,1 6 | access_mro_pm_parameter_manager,mro.pm.parameter manager,model_mro_pm_parameter,asset.group_mro_manager,1,1,1,1 7 | access_mro_pm_rule_manager,mro.pm.rule manager,model_mro_pm_rule,asset.group_mro_manager,1,1,1,1 8 | access_mro_pm_rule_line_manager,mro.pm.rule.line manager,model_mro_pm_rule_line,asset.group_mro_manager,1,1,1,1 9 | access_mro_pm_meter_user,mro.pm.meter user,model_mro_pm_meter,asset.group_mro_user,1,1,0,0 10 | access_mro_pm_meter_line_user,mro.pm.meter.line user,model_mro_pm_meter_line,asset.group_mro_user,1,1,1,0 11 | access_mro_pm_meter_ratio_user,mro.pm.meter.ratio user,model_mro_pm_meter_ratio,asset.group_mro_user,1,0,0,0 12 | access_mro_pm_meter_interval_user,mro.pm.meter.interval user,model_mro_pm_meter_interval,asset.group_mro_user,1,0,0,0 13 | access_mro_pm_parameter_user,mro.pm.parameter user,model_mro_pm_parameter,asset.group_mro_user,1,0,0,0 14 | access_mro_pm_rule_user,mro.pm.rule user,model_mro_pm_rule,asset.group_mro_user,1,0,0,0 15 | access_mro_pm_rule_line_user,mro.pm.rule.line user,model_mro_pm_rule_line,asset.group_mro_user,1,0,0,0 16 | access_mro_pm_meter_customer,mro.pm.meter customer,model_mro_pm_meter,asset.group_mro_customer,1,0,0,0 17 | access_mro_pm_meter_line_customer,mro.pm.meter.line customer,model_mro_pm_meter_line,asset.group_mro_customer,1,0,0,0 18 | -------------------------------------------------------------------------------- /asset_purchase/i18n/asset_purchase.pot: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_purchase 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0-20140125-002455\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-03-02 08:41+0000\n" 10 | "PO-Revision-Date: 2014-03-02 08:41+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_purchase 19 | #: view:asset.asset:0 20 | msgid "Info" 21 | msgstr "" 22 | 23 | #. module: asset_purchase 24 | #: view:asset.asset:0 25 | msgid "Model:" 26 | msgstr "" 27 | 28 | #. module: asset_purchase 29 | #: view:asset.asset:0 30 | #: model:ir.actions.act_window,name:asset_purchase.action_assets_purchase 31 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets 32 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets_assets 33 | msgid "Assets" 34 | msgstr "" 35 | 36 | #. module: asset_purchase 37 | #: model:ir.ui.menu,name:asset_purchase.menu_asset_state 38 | msgid "Asset States" 39 | msgstr "" 40 | 41 | #. module: asset_purchase 42 | #: view:asset.asset:0 43 | msgid "Manufacturer:" 44 | msgstr "" 45 | 46 | #. module: asset_purchase 47 | #: model:ir.model,name:asset_purchase.model_asset_asset 48 | msgid "Asset" 49 | msgstr "" 50 | 51 | #. module: asset_purchase 52 | #: model:ir.actions.act_window,name:asset_purchase.action_management_assets_purchase 53 | #: model:ir.ui.menu,name:asset_purchase.menu_maintenance_assets_management 54 | msgid "Manage states" 55 | msgstr "" 56 | 57 | #. module: asset_purchase 58 | #: view:asset.asset:0 59 | msgid "Warranty" 60 | msgstr "" 61 | 62 | #. module: asset_purchase 63 | #: view:asset.asset:0 64 | msgid "Serial No:" 65 | msgstr "" 66 | 67 | -------------------------------------------------------------------------------- /asset_full_history/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Asset Full History

4 |
5 |

6 | Track all Asset Hystory in Odoo. 7 |

8 |

9 | Support following features: 10 |

    11 |
  • Track changes in all fields
  • 12 |
13 |

14 |
15 |
16 |
17 | 18 |
19 |
20 |

Asset History

21 |
22 | 23 | 24 | 25 |
26 |
27 |
28 | 29 |
30 |
31 |

Help and Support

32 |
33 |
34 | 35 |
36 |
37 |
38 |

39 |

44 |

45 |
46 |
47 |
-------------------------------------------------------------------------------- /asset/security/asset_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Enterprise Asset Management 6 | Helps you manage your assets. 7 | 6 8 | 9 | 10 | 11 | Maintenance 12 | Helps you manage your maintenance processes. 13 | 6 14 | 15 | 16 | 17 | Customer 18 | 19 | 20 | 21 | 22 | User 23 | 24 | 25 | 26 | 27 | 28 | Manager 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /asset_mrp/i18n/sl.po: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_mrp 4 | # 5 | # Matjaž Mozetič , 2015. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: Odoo Server 8.0-edf679c\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2014-10-18 10:09+0000\n" 11 | "PO-Revision-Date: 2015-02-22 08:14+0100\n" 12 | "Last-Translator: Matjaž Mozetič \n" 13 | "Language-Team: Slovenian \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: \n" 17 | "Plural-Forms: \n" 18 | "Language: sl\n" 19 | "X-Generator: Lokalize 1.5\n" 20 | 21 | #. module: asset_mrp 22 | #: model:ir.model,name:asset_mrp.model_asset_asset 23 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 24 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 25 | #: field:mrp.workcenter,asset_ids:0 26 | msgid "Asset" 27 | msgstr "Sredstvo" 28 | 29 | #. module: asset_mrp 30 | #: model:ir.ui.menu,name:asset_mrp.menu_asset_state 31 | msgid "Asset States" 32 | msgstr "Stanja sredstva" 33 | 34 | #. module: asset_mrp 35 | #: view:asset.asset:asset_mrp.assets_form_view_mrp 36 | #: model:ir.actions.act_window,name:asset_mrp.action_assets_mrp 37 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets 38 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets_assets 39 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 40 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 41 | msgid "Assets" 42 | msgstr "Sredstva" 43 | 44 | #. module: asset_mrp 45 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 46 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 47 | msgid "Location" 48 | msgstr "Lokacija" 49 | 50 | #. module: asset_mrp 51 | #: model:ir.actions.act_window,name:asset_mrp.action_management_assets_mrp 52 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets_management 53 | msgid "Manage states" 54 | msgstr "Upravljanje stanj" 55 | 56 | -------------------------------------------------------------------------------- /mro_cbm/mro_cbm_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | °C 9 | 10 | 11 | bigger 12 | 13 | 14 | 15 | 16 | Bearing Temperature 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | reading 25 | 100 26 | 27 | 28 | 29 | 30 | 31 | Replace bearings 32 | cbm 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | True 41 | 75 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /mro/views/report_mro_request.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /mro/wizard/convert_order.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, _ 10 | 11 | class mro_convert_order(models.TransientModel): 12 | _name = 'mro.convert.order' 13 | _description = 'Convert Order to Task' 14 | 15 | def convert_order(self): 16 | order_id = self._context.get('active_id', False) 17 | if order_id: 18 | order = self.env['mro.order'].browse(order_id) 19 | new_parts_lines = [] 20 | for line in order.parts_lines: 21 | new_parts_lines.append([0,0,{ 22 | 'name': line.name, 23 | 'parts_id': line.parts_id.id, 24 | 'parts_qty': line.parts_qty, 25 | 'parts_uom': line.parts_uom.id, 26 | }]) 27 | category_id = 1 28 | if order.asset_id.category_ids: 29 | for category in order.asset_id.category_ids: 30 | category_id = category.id 31 | break 32 | values = { 33 | 'name': order.description, 34 | 'category_id': category_id, 35 | 'maintenance_type': order.maintenance_type if order.maintenance_type != 'bm' else 'cm', 36 | 'parts_lines': new_parts_lines, 37 | 'tools_description': order.tools_description, 38 | 'labor_description': order.labor_description, 39 | 'operations_description': order.operations_description, 40 | 'documentation_description': order.documentation_description 41 | } 42 | return { 43 | 'name': _('Task'), 44 | 'view_type': 'form', 45 | 'view_mode': 'form', 46 | 'res_model': 'mro.task', 47 | 'type': 'ir.actions.act_window', 48 | 'target': 'current', 49 | 'res_id': self.env['mro.task'].create(values).id, 50 | } 51 | return True 52 | -------------------------------------------------------------------------------- /mro/asset_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | asset.asset.mro.button.inherit 7 | asset.asset 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | asset tree view mro 25 | asset.asset 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | asset search view mro 36 | asset.asset 37 | 38 | 39 | 40 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /asset/stock.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2016 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | 11 | class stock_location(models.Model): 12 | _inherit = "stock.location" 13 | 14 | TYPE_SELECTION = [ 15 | ('supplier', 'Vendor Location'), 16 | ('view', 'View'), 17 | ('internal', 'Internal Location'), 18 | ('customer', 'Customer Location'), 19 | ('inventory', 'Inventory Loss'), 20 | ('procurement', 'Procurement'), 21 | ('production', 'Production'), 22 | ('transit', 'Transit Location'), 23 | ('asset', 'Asset Location') 24 | ] 25 | 26 | usage = fields.Selection(TYPE_SELECTION, string='Location Type', 27 | default='internal', index=True, required=True, 28 | help="* Vendor Location: Virtual location representing the source location for products coming from your vendors" 29 | "\n* View: Virtual location used to create a hierarchical structures for your warehouse, aggregating its child locations ; can't directly contain products" 30 | "\n* Internal Location: Physical locations inside your own warehouses," 31 | "\n* Customer Location: Virtual location representing the destination location for products sent to your customers" 32 | "\n* Inventory Loss: Virtual location serving as counterpart for inventory operations used to correct stock levels (Physical inventories)" 33 | "\n* Procurement: Virtual location serving as temporary counterpart for procurement operations when the source (vendor or production) is not known yet. This location should be empty when the procurement scheduler has finished running." 34 | "\n* Production: Virtual counterpart location for production operations: this location consumes the raw material and produces finished products" 35 | "\n* Transit Location: Counterpart location that should be used in inter-companies or inter-warehouses operations" 36 | "\n* Asset Location: Physical locations representing the destination location for parts installed on the asset (Maintenance and Repair)") 37 | -------------------------------------------------------------------------------- /mro/models/mro_workorder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2017-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models, _ 10 | 11 | 12 | class MroWorkOrder(models.Model): 13 | _name = 'mro.workorder' 14 | _description = 'Work Order' 15 | _inherit = ['mail.thread'] 16 | 17 | STATE_SELECTION = [ 18 | ('draft', 'Draft'), 19 | ('in_process', 'In Process'), 20 | ('done', 'Done') 21 | ] 22 | 23 | @api.depends('mo_ids') 24 | def _get_state(self): 25 | for order in self: 26 | state = 'undefined' 27 | for mo in order.mo_ids: 28 | if mo.state in ['released', 'ready']: 29 | state = 'in_process' 30 | break 31 | if mo.state in ['done', 'cancel'] and state in ['undefined', 'done']: 32 | state = 'done' 33 | if mo.state == 'draft' and state in ['undefined', 'draft']: 34 | state = 'draft' 35 | if state == 'undefined': 36 | state = 'draft' 37 | order.state = state 38 | 39 | name = fields.Char( 40 | 'Work Order', copy=False, readonly=True, default=lambda x: _('New')) 41 | state = fields.Selection(STATE_SELECTION, 'Status', compute='_get_state') 42 | date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [('readonly', False)]}, copy=False, default=fields.Datetime.now) 43 | user_id = fields.Many2one('res.users', 'Responsible', default=lambda self: self._uid) 44 | company_id = fields.Many2one( 45 | 'res.company', 'Company', 46 | default=lambda self: self.env['res.company']._company_default_get('mro.workorder'), 47 | required=True) 48 | mo_ids = fields.One2many('mro.order', 'wo_id', 'Maintenance Order') 49 | 50 | @api.model 51 | def create(self, values): 52 | if not values.get('name', False) or values['name'] == _('New'): 53 | values['name'] = self.env['ir.sequence'].next_by_code('mro.workorder') or _('New') 54 | return super(MroWorkOrder, self).create(values) 55 | -------------------------------------------------------------------------------- /asset/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Asset Management

4 |
5 |

6 | Managing Assets in Odoo. 7 |

8 |

9 | Support following features: 10 |

    11 |
  • Location for Asset
  • 12 |
  • Assign Asset to employee
  • 13 |
  • Track warranty information
  • 14 |
  • Custom states of Asset
  • 15 |
  • States of Asset for different team: Finance, Warehouse, Manufacture, Maintenance and Accounting
  • 16 |
  • Drag&Drop manage states of Asset
  • 17 |
  • Asset Tags
  • 18 |
  • Search by main fields
  • 19 |
20 |

21 |
22 |
23 |
24 | 25 |
26 |
27 |

Assets

28 |
29 | 30 | 31 | 32 |
33 |
34 |
35 | 36 |
37 |
38 |

Help and Support

39 |
40 |
41 | 42 |
43 |
44 |
45 |

46 |

51 |

52 |
53 |
54 |
-------------------------------------------------------------------------------- /asset/static/src/css/asset.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | .codup_status { 3 | margin: -3px 2px -5px 2px; 4 | display: inline-block; 5 | height: 20px; 6 | width: 20px; 7 | border-radius: 10px; 8 | background-position: center center; 9 | background-image: radial-gradient(at 35% 35%, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 40%), radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8) 80%); 10 | box-shadow: 0 0 3px; 11 | } 12 | .codup_status_color_0 { 13 | background-color: #ff0000; 14 | } 15 | .codup_status_color_1 { 16 | background-color: #00ff00; 17 | } 18 | .codup_status_color_2 { 19 | background-color: #0000ff; 20 | } 21 | .codup_status_color_3 { 22 | background-color: #ffff00; 23 | } 24 | .codup_status_color_4 { 25 | background-color: #ff00ff; 26 | } 27 | .codup_status_color_5 { 28 | background-color: #00ffff; 29 | } 30 | .codup_status_color_6 { 31 | background-color: #000000; 32 | } 33 | .codup_status_color_7 { 34 | background-color: #ffffff; 35 | } 36 | .codup_status_color_8 { 37 | background-color: #ff8000; 38 | } 39 | .codup_status_color_9 { 40 | background-color: #0080ff; 41 | } 42 | .codup_kanban_status { 43 | background-color: #E6E6E6 !important; 44 | border-color: #C8C8C8 !important; 45 | } 46 | .codup_kanban_status:hover { 47 | box-shadow:1px 1px 2px 1px #6f6f6f !important; 48 | border-color: #D8D8D8 #C8C8C8 #C8C8C8 #D8D8D8 !important; 49 | z-index: 1 !important; 50 | } 51 | .codup_kanban_status:hover .codup_status { 52 | background-image: radial-gradient(at 33% 34%, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0) 40%), radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9) 80%); 53 | } 54 | .codup_kanban_left { 55 | display: inline-block; 56 | float: left; 57 | padding-right: 8px; 58 | } 59 | .codup_kanban_left .codup_status { 60 | display: block; 61 | margin: 7px 22px; 62 | } 63 | .codup_kanban_info .oe_kanban_avatar{ 64 | margin-left: 20px; 65 | } 66 | .codup_attention_on, .codup_attention_off { 67 | color: #cccccc !important; 68 | text-shadow: 0 0 2px black; 69 | text-decoration: none !important; 70 | } 71 | .codup_attention_on:hover, .codup_attention_off:hover { 72 | text-decoration: none !important; 73 | } 74 | .codup_attention_on { 75 | color: gold !important; 76 | } 77 | .o_kanban_view .codup_kanban_details { 78 | display: inline-block; 79 | vertical-align: top; 80 | font-size: 13px; 81 | color: #4C4C4C; 82 | } -------------------------------------------------------------------------------- /mro/security/mro_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Create Maintenance Request 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Not DRAFT self maintenance requests 24 | 25 | [('state','!=','draft'),'|',('create_uid','=',user.id),('create_uid','=',False)] 26 | 27 | 28 | 29 | DRAFT self maintenance requests 30 | 31 | [('state','=','draft'),'|',('create_uid','=',user.id),('create_uid','=',False)] 32 | 33 | 34 | 35 | Not DRAFT maintenance requests 36 | 37 | [('state','!=','draft')] 38 | 39 | 40 | 41 | All maintenance requests 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /asset_map/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Show asset position

4 |
5 |

6 | Show Asset on Map 7 |

8 |

9 | Support following features: 10 |

    11 |
  • Edit asset position
  • 12 |
13 |

14 |
15 |
16 |
17 | 18 |
19 |
20 |

Demo Server

21 |
22 | 23 | 24 | 25 |
26 |

login: codup / password: codup

27 |
28 |
29 | 30 |
31 |
32 |

How setup

33 |
34 |

Don't forget save your Google Maps API Key in [Settings/General Settings]. 35 |

36 |
37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |
47 |

Help and Support

48 |
49 |
50 | 51 |
52 |
53 |
54 |

55 |

60 |

61 |
62 |
63 |
-------------------------------------------------------------------------------- /mro_maps/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Show asset positions

4 |
5 |

6 | Show Assets on Map 7 |

8 |

9 | Support following features: 10 |

    11 |
  • Show multiple asset positions
  • 12 |
13 |

14 |
15 |
16 |
17 | 18 |
19 |
20 |

Demo Server

21 |
22 | 23 | 24 | 25 |
26 |

login: codup / password: codup

27 |
28 |
29 | 30 |
31 |
32 |

How setup

33 |
34 |

Don't forget save your Google Maps API Key in [Settings/General Settings]. 35 |

36 |
37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 |
47 |

Help and Support

48 |
49 |
50 | 51 |
52 |
53 |
54 |

55 |

60 |

61 |
62 |
63 |
-------------------------------------------------------------------------------- /mro/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_mro_order_manager,mro.order manager,model_mro_order,asset.group_mro_manager,1,1,1,1 3 | access_mro_order_parts_line_manager,mro.order.parts.line manager,model_mro_order_parts_line,asset.group_mro_manager,1,1,1,1 4 | access_mro_workorder_manager,mro.workorder manager,model_mro_workorder,asset.group_mro_manager,1,1,1,1 5 | access_mro_task_manager,mro.task manager,model_mro_task,asset.group_mro_manager,1,1,1,1 6 | access_mro_task_parts_line_manager,mro.task.parts.line manager,model_mro_task_parts_line,asset.group_mro_manager,1,1,1,1 7 | access_mro_request_manager,mro.request manager,model_mro_request,asset.group_mro_manager,1,1,1,1 8 | access_product_product_mro_manager,product.product mro_manager,product.model_product_product,asset.group_mro_manager,1,1,1,1 9 | access_product_template_mro_manager,product.template mro_manager,product.model_product_template,asset.group_mro_manager,1,1,1,1 10 | access_stock_move_mro_manager,stock.move mro_manager,stock.model_stock_move,asset.group_mro_manager,1,1,1,0 11 | access_stock_picking_mro_manager,stock.picking mro_manager,stock.model_stock_picking,asset.group_mro_manager,1,1,1,1 12 | access_mro_order_user,mro.order user,model_mro_order,asset.group_mro_user,1,1,1,1 13 | access_mro_order_parts_line_user,mro.order.parts.line user,model_mro_order_parts_line,asset.group_mro_user,1,1,1,1 14 | access_mro_workorder_user,mro.workorder user,model_mro_workorder,asset.group_mro_user,1,1,1,1 15 | access_mro_task_user,mro.task user,model_mro_task,asset.group_mro_user,1,0,0,0 16 | access_mro_task_parts_line_user,mro.task.parts.line user,model_mro_task_parts_line,asset.group_mro_user,1,0,0,0 17 | access_mro_request_user,mro.request user,model_mro_request,asset.group_mro_user,1,1,0,0 18 | access_product_product_mro_user,product.product mro_user,product.model_product_product,asset.group_mro_user,1,0,0,0 19 | access_product_template_mro_user,product.template mro_user,product.model_product_template,asset.group_mro_user,1,0,0,0 20 | access_stock_move_mro_user,stock.move mro_user,stock.model_stock_move,asset.group_mro_user,1,1,1,0 21 | access_stock_picking_mro_user,stock.picking mro_user,stock.model_stock_picking,asset.group_mro_user,1,1,1,1 22 | access_mro_request_customer,mro.request customer,model_mro_request,asset.group_mro_customer,1,1,0,0 23 | access_mro_request_create,mro.request create,model_mro_request,mro.group_create_maintenance_request,0,0,1,0 24 | -------------------------------------------------------------------------------- /asset_sale/i18n/asset_sale.pot: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_sale 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0-20140125-002455\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-03-02 08:26+0000\n" 10 | "PO-Revision-Date: 2014-03-02 08:26+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_sale 19 | #: selection:asset.asset,finance_state_color:0 20 | msgid "Blue" 21 | msgstr "" 22 | 23 | #. module: asset_sale 24 | #: view:asset.asset:0 25 | msgid "Info" 26 | msgstr "" 27 | 28 | #. module: asset_sale 29 | #: selection:asset.asset,finance_state_color:0 30 | msgid "Green" 31 | msgstr "" 32 | 33 | #. module: asset_sale 34 | #: view:asset.asset:0 35 | #: model:ir.actions.act_window,name:asset_sale.action_assets_sale 36 | #: model:ir.ui.menu,name:asset_sale.menu_maintenance_assets 37 | #: model:ir.ui.menu,name:asset_sale.menu_maintenance_assets_assets 38 | msgid "Assets" 39 | msgstr "" 40 | 41 | #. module: asset_sale 42 | #: view:asset.asset:0 43 | msgid "Model:" 44 | msgstr "" 45 | 46 | #. module: asset_sale 47 | #: field:asset.asset,finance_state_color:0 48 | msgid "Color" 49 | msgstr "" 50 | 51 | #. module: asset_sale 52 | #: model:ir.ui.menu,name:asset_sale.menu_asset_state 53 | msgid "Asset States" 54 | msgstr "" 55 | 56 | #. module: asset_sale 57 | #: selection:asset.asset,finance_state_color:0 58 | msgid "SkyBlue" 59 | msgstr "" 60 | 61 | #. module: asset_sale 62 | #: view:asset.asset:0 63 | msgid "Manufacturer:" 64 | msgstr "" 65 | 66 | #. module: asset_sale 67 | #: selection:asset.asset,finance_state_color:0 68 | msgid "Orange" 69 | msgstr "" 70 | 71 | #. module: asset_sale 72 | #: view:asset.asset:0 73 | msgid "Warranty" 74 | msgstr "" 75 | 76 | #. module: asset_sale 77 | #: selection:asset.asset,finance_state_color:0 78 | msgid "Yellow" 79 | msgstr "" 80 | 81 | #. module: asset_sale 82 | #: selection:asset.asset,finance_state_color:0 83 | msgid "Black" 84 | msgstr "" 85 | 86 | #. module: asset_sale 87 | #: model:ir.model,name:asset_sale.model_asset_asset 88 | msgid "Asset" 89 | msgstr "" 90 | 91 | #. module: asset_sale 92 | #: model:ir.actions.act_window,name:asset_sale.action_management_assets_sale 93 | #: model:ir.ui.menu,name:asset_sale.menu_maintenance_assets_management 94 | msgid "Manage states" 95 | msgstr "" 96 | 97 | #. module: asset_sale 98 | #: selection:asset.asset,finance_state_color:0 99 | msgid "Cyan" 100 | msgstr "" 101 | 102 | #. module: asset_sale 103 | #: selection:asset.asset,finance_state_color:0 104 | msgid "Magenta" 105 | msgstr "" 106 | 107 | #. module: asset_sale 108 | #: view:asset.asset:0 109 | msgid "Serial No:" 110 | msgstr "" 111 | 112 | #. module: asset_sale 113 | #: selection:asset.asset,finance_state_color:0 114 | msgid "White" 115 | msgstr "" 116 | 117 | #. module: asset_sale 118 | #: selection:asset.asset,finance_state_color:0 119 | msgid "Red" 120 | msgstr "" 121 | 122 | -------------------------------------------------------------------------------- /mro/mro_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Pump 8 | PMP 9 | 10 | 55.0 11 | 70.0 12 | consu 13 | 14 | 15 | 16 | 17 | 18 | 19 | Oil 20 | OIL 21 | 22 | 80.0 23 | 90.0 24 | consu 25 | 26 | 27 | 28 | 29 | 30 | 31 | Water 32 | WAT 33 | 34 | 80.0 35 | 90.0 36 | consu 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | Don't work Pump 46 | 47 | 48 | 49 | 50 | There is no light 51 | 52 | 53 | 54 | 55 | 56 | Wash the truck 57 | cm 58 | 59 | 60 | 61 | 62 | 63 | cm 64 | 65 | Wash the truck 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /mro/static/description/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Asset Maintenance, Repair and Operation

4 |
5 |

6 | Manage Maintenance process in Odoo. 7 |

8 |

9 | Asset Maintenance, Repair and Operation. 10 | Support Breakdown Maintenance and Corrective Maintenance. 11 | 12 | Main Features: 13 |

    14 |
  • Request Service/Maintenance Management
  • 15 |
  • Maintenance Orders Management
  • 16 |
  • Work Orders Management (group MO)
  • 17 |
  • Parts Management
  • 18 |
  • Tasks Management (standard job)
  • 19 |
  • Convert Maintenance Order to Task
  • 20 |
  • Print Maintenance Order
  • 21 |
  • Print Maintenance Request
  • 22 |
23 |

24 |
25 |
26 |
27 | 28 |
29 |
30 |

Maintenance Requests

31 |
32 | 33 |
34 |
35 |
36 | 37 |
38 |
39 |

Maintenance Orders

40 |
41 | 42 |
43 |
44 |
45 | 46 |
47 |
48 |

Maintenance Tasks

49 |
50 | 51 |
52 |
53 |
54 | 55 |
56 |
57 |

MRO

58 |
59 | 60 | 61 | 62 |
63 |
64 |
65 | 66 |
67 |
68 |

Help and Support

69 |
70 |
71 | 72 |
73 |
74 |
75 |

76 |

81 |

82 |
83 |
84 |
-------------------------------------------------------------------------------- /asset_stock/i18n/asset_stock.pot: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_stock 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0-20140125-002455\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-03-01 09:45+0000\n" 10 | "PO-Revision-Date: 2014-03-01 09:45+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_stock 19 | #: selection:asset.asset,warehouse_state_color:0 20 | msgid "Blue" 21 | msgstr "" 22 | 23 | #. module: asset_stock 24 | #: field:asset.asset,warehouse_state_id:0 25 | #: view:asset.state:0 26 | msgid "State" 27 | msgstr "" 28 | 29 | #. module: asset_stock 30 | #: selection:asset.asset,warehouse_state_color:0 31 | msgid "Black" 32 | msgstr "" 33 | 34 | #. module: asset_stock 35 | #: selection:asset.asset,warehouse_state_color:0 36 | msgid "Yellow" 37 | msgstr "" 38 | 39 | #. module: asset_stock 40 | #: selection:asset.asset,warehouse_state_color:0 41 | msgid "Orange" 42 | msgstr "" 43 | 44 | #. module: asset_stock 45 | #: view:asset.state:0 46 | msgid "Change color" 47 | msgstr "" 48 | 49 | #. module: asset_stock 50 | #: selection:asset.asset,warehouse_state_color:0 51 | msgid "White" 52 | msgstr "" 53 | 54 | #. module: asset_stock 55 | #: view:asset.asset:0 56 | msgid "Serial No:" 57 | msgstr "" 58 | 59 | #. module: asset_stock 60 | #: selection:asset.asset,warehouse_state_color:0 61 | msgid "Red" 62 | msgstr "" 63 | 64 | #. module: asset_stock 65 | #: selection:asset.asset,warehouse_state_color:0 66 | msgid "Cyan" 67 | msgstr "" 68 | 69 | #. module: asset_stock 70 | #: view:asset.asset:0 71 | msgid "Info" 72 | msgstr "" 73 | 74 | #. module: asset_stock 75 | #: view:asset.asset:0 76 | msgid "Warranty" 77 | msgstr "" 78 | 79 | #. module: asset_stock 80 | #: view:asset.asset:0 81 | #: model:ir.actions.act_window,name:asset_stock.action_assets_stock 82 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets 83 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets_assets 84 | msgid "Assets" 85 | msgstr "" 86 | 87 | #. module: asset_stock 88 | #: model:ir.actions.act_window,name:asset_stock.action_asset_state 89 | #: model:ir.ui.menu,name:asset_stock.menu_asset_state 90 | msgid "Asset States" 91 | msgstr "" 92 | 93 | #. module: asset_stock 94 | #: selection:asset.asset,warehouse_state_color:0 95 | msgid "Green" 96 | msgstr "" 97 | 98 | #. module: asset_stock 99 | #: selection:asset.asset,warehouse_state_color:0 100 | msgid "SkyBlue" 101 | msgstr "" 102 | 103 | #. module: asset_stock 104 | #: view:asset.asset:0 105 | msgid "Model:" 106 | msgstr "" 107 | 108 | #. module: asset_stock 109 | #: field:asset.asset,warehouse_state_color:0 110 | msgid "Color" 111 | msgstr "" 112 | 113 | #. module: asset_stock 114 | #: view:asset.asset:0 115 | msgid "Manufacturer:" 116 | msgstr "" 117 | 118 | #. module: asset_stock 119 | #: model:ir.actions.act_window,name:asset_stock.action_management_assets 120 | #: model:ir.ui.menu,name:asset_stock.menu_maintenance_assets_management 121 | msgid "Manage states" 122 | msgstr "" 123 | 124 | #. module: asset_stock 125 | #: selection:asset.asset,warehouse_state_color:0 126 | msgid "Magenta" 127 | msgstr "" 128 | 129 | #. module: asset_stock 130 | #: model:ir.model,name:asset_stock.model_asset_asset 131 | msgid "Asset" 132 | msgstr "" 133 | 134 | -------------------------------------------------------------------------------- /mro/views/mro_workorder_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | mro.workorder.tree 8 | mro.workorder 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | mro.workorder.calendar 21 | mro.workorder 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | mro.workorder.form 32 | mro.workorder 33 | 34 |
35 |
36 | 37 |
38 | 39 |
40 |

41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
59 |
60 | 61 | 62 |
63 |
64 |
65 |
66 | 67 | 68 | Work Orders 69 | ir.actions.act_window 70 | mro.workorder 71 | form 72 | tree,form,calendar 73 | 74 | 75 | 80 | 81 |
82 |
83 | -------------------------------------------------------------------------------- /mro/mro_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Send Request 8 | mro.request 9 | 10 | Maintenance Request sent 11 | 12 | 13 | Confirm Request 14 | mro.request 15 | Maintenance Request confirmed 16 | 17 | 18 | Reject Request 19 | mro.request 20 | Maintenance Request rejected 21 | 22 | 23 | Confirm Maintenance 24 | mro.order 25 | Maintenance Order confirmed 26 | 27 | 28 | 29 | 30 | Send Request 31 | asset.asset 32 | 33 | 34 | asset_id 35 | 36 | 37 | Confirm Request 38 | asset.asset 39 | 40 | 41 | asset_id 42 | 43 | 44 | Reject Request 45 | asset.asset 46 | 47 | 48 | asset_id 49 | 50 | 51 | 52 | 53 | Maintenance 54 | 55 | 56 | 57 | 58 | 59 | 60 | WH: Stock -> Asset 61 | pull 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | Parts 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /asset_mrp/i18n/asset_mrp.pot: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * asset_mrp 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Odoo Server 8.0-edf679c\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2014-10-18 10:09+0000\n" 10 | "PO-Revision-Date: 2014-10-18 10:09+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: asset_mrp 19 | #: model:ir.model,name:asset_mrp.model_asset_asset 20 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 21 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 22 | #: field:mrp.workcenter,asset_ids:0 23 | msgid "Asset" 24 | msgstr "" 25 | 26 | #. module: asset_mrp 27 | #: model:ir.ui.menu,name:asset_mrp.menu_asset_state 28 | msgid "Asset States" 29 | msgstr "" 30 | 31 | #. module: asset_mrp 32 | #: view:asset.asset:asset_mrp.assets_form_view_mrp 33 | #: model:ir.actions.act_window,name:asset_mrp.action_assets_mrp 34 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets 35 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets_assets 36 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 37 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 38 | msgid "Assets" 39 | msgstr "" 40 | 41 | #. module: asset_mrp 42 | #: model:ir.model,name:asset_mrp.model_mrp_bom 43 | msgid "Bill of Material" 44 | msgstr "" 45 | 46 | #. module: asset_mrp 47 | #: selection:asset.asset,manufacture_state_color:0 48 | msgid "Black" 49 | msgstr "" 50 | 51 | #. module: asset_mrp 52 | #: selection:asset.asset,manufacture_state_color:0 53 | msgid "Blue" 54 | msgstr "" 55 | 56 | #. module: asset_mrp 57 | #: field:asset.asset,manufacture_state_color:0 58 | msgid "Color" 59 | msgstr "" 60 | 61 | #. module: asset_mrp 62 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 63 | msgid "Components" 64 | msgstr "" 65 | 66 | #. module: asset_mrp 67 | #: selection:asset.asset,manufacture_state_color:0 68 | msgid "Cyan" 69 | msgstr "" 70 | 71 | #. module: asset_mrp 72 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 73 | msgid "General Information" 74 | msgstr "" 75 | 76 | #. module: asset_mrp 77 | #: selection:asset.asset,manufacture_state_color:0 78 | msgid "Green" 79 | msgstr "" 80 | 81 | #. module: asset_mrp 82 | #: view:asset.asset:asset_mrp.assets_form_view_mrp 83 | msgid "Info" 84 | msgstr "" 85 | 86 | #. module: asset_mrp 87 | #: view:mrp.bom:asset_mrp.asset_mrp_bom_view 88 | #: view:mrp.workcenter:asset_mrp.asset_mrp_workcenter_view 89 | msgid "Location" 90 | msgstr "" 91 | 92 | #. module: asset_mrp 93 | #: selection:asset.asset,manufacture_state_color:0 94 | msgid "Magenta" 95 | msgstr "" 96 | 97 | #. module: asset_mrp 98 | #: model:ir.actions.act_window,name:asset_mrp.action_management_assets_mrp 99 | #: model:ir.ui.menu,name:asset_mrp.menu_maintenance_assets_management 100 | msgid "Manage states" 101 | msgstr "" 102 | 103 | #. module: asset_mrp 104 | #: view:asset.asset:asset_mrp.assets_kanban_view_mrp 105 | msgid "Manufacturer:" 106 | msgstr "" 107 | 108 | #. module: asset_mrp 109 | #: view:asset.asset:asset_mrp.assets_kanban_view_mrp 110 | msgid "Model:" 111 | msgstr "" 112 | 113 | #. module: asset_mrp 114 | #: selection:asset.asset,manufacture_state_color:0 115 | msgid "Orange" 116 | msgstr "" 117 | 118 | #. module: asset_mrp 119 | #: selection:asset.asset,manufacture_state_color:0 120 | msgid "Red" 121 | msgstr "" 122 | 123 | #. module: asset_mrp 124 | #: view:asset.asset:asset_mrp.assets_kanban_view_mrp 125 | msgid "Serial No:" 126 | msgstr "" 127 | 128 | #. module: asset_mrp 129 | #: selection:asset.asset,manufacture_state_color:0 130 | msgid "SkyBlue" 131 | msgstr "" 132 | 133 | #. module: asset_mrp 134 | #: view:asset.asset:asset_mrp.assets_form_view_mrp 135 | msgid "Warranty" 136 | msgstr "" 137 | 138 | #. module: asset_mrp 139 | #: selection:asset.asset,manufacture_state_color:0 140 | msgid "White" 141 | msgstr "" 142 | 143 | #. module: asset_mrp 144 | #: model:ir.model,name:asset_mrp.model_mrp_workcenter 145 | msgid "Work Center" 146 | msgstr "" 147 | 148 | #. module: asset_mrp 149 | #: selection:asset.asset,manufacture_state_color:0 150 | msgid "Yellow" 151 | msgstr "" 152 | 153 | #. module: asset_mrp 154 | #: field:mrp.bom,asset_ids:0 155 | msgid "unknown" 156 | msgstr "" 157 | 158 | -------------------------------------------------------------------------------- /mro_cbm/mro.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | import time 10 | import calendar 11 | from odoo import api, fields, models 12 | 13 | 14 | class mro_order(models.Model): 15 | _inherit = 'mro.order' 16 | 17 | MAINTENANCE_TYPE_SELECTION = [ 18 | ('bm', 'Breakdown'), 19 | ('cm', 'Corrective'), 20 | ('pm', 'Preventive'), 21 | ('cbm', 'Predictive') 22 | ] 23 | 24 | maintenance_type = fields.Selection(MAINTENANCE_TYPE_SELECTION, 'Maintenance Type', required=True, readonly=True, states={'draft': [('readonly', False)]}) 25 | 26 | def replan_cbm(self): 27 | rule_obj = self.env['mro.cbm.rule'] 28 | asset_obj = self.env['asset.asset'] 29 | ids = rule_obj.search([]) 30 | for rule in ids: 31 | for asset in rule.category_id.asset_ids: 32 | for gauge in asset.gauge_ids: 33 | if gauge.name != rule.parameter_id or gauge.state != 'reading': continue 34 | self.planning_strategy_2(asset, gauge, rule) 35 | return True 36 | 37 | def planning_strategy_2(self, asset, gauge, rule): 38 | gauge_line_obj = self.env['mro.gauge.line'] 39 | gauge_reads = gauge_line_obj.search([('gauge_id', '=', gauge.id)], limit=1, order='date desc')[0] 40 | if (rule.is_limit_min and rule.limit_min>gauge_reads.value) or (rule.is_limit_max and rule.limit_max 0: 49 | date = order_ids[0].date_execution 50 | Do = 1.0*calendar.timegm(time.strptime(date, "%Y-%m-%d %H:%M:%S")) 51 | Dg = 1.0*calendar.timegm(time.strptime(gauge_reads.date, "%Y-%m-%d")) 52 | if Do>Dg: return True 53 | order_ids = self.search( 54 | [('asset_id', '=', asset.id), 55 | ('state', '=', 'draft'), 56 | ('maintenance_type', '=', 'cbm'), 57 | ('task_id', '=', task.id)], 58 | order='date_execution') 59 | Tp = fields.datetime.now() 60 | values = { 61 | 'date_planned':Tp, 62 | 'date_scheduled':Tp, 63 | 'date_execution':Tp, 64 | 'origin': rule.name, 65 | 'state': 'draft', 66 | 'maintenance_type': 'cbm', 67 | 'asset_id': asset.id, 68 | } 69 | values['task_id'] = task.id 70 | values['description'] = task.name 71 | values['tools_description'] = task.tools_description 72 | values['labor_description'] = task.labor_description 73 | values['operations_description'] = task.operations_description 74 | values['documentation_description'] = task.documentation_description 75 | parts_lines = [] 76 | for line in task.parts_lines: 77 | parts_lines.append([0,0,{ 78 | 'name': line.name, 79 | 'parts_id': line.parts_id.id, 80 | 'parts_qty': line.parts_qty, 81 | 'parts_uom': line.parts_uom.id, 82 | }]) 83 | if len(order_ids) > 0: 84 | order = order_ids[0] 85 | values['parts_lines'] = parts_lines + [[2,line.id] for line in order.parts_lines] 86 | order.write(values) 87 | return True 88 | values['parts_lines'] = parts_lines 89 | self.create(values) 90 | return True 91 | 92 | 93 | class mro_task(models.Model): 94 | _inherit = 'mro.task' 95 | 96 | MAINTENANCE_TYPE_SELECTION = [ 97 | ('cm', 'Corrective'), 98 | ('pm', 'Preventive'), 99 | ('cbm', 'Predictive') 100 | ] 101 | 102 | maintenance_type = fields.Selection(MAINTENANCE_TYPE_SELECTION, 'Maintenance Type', required=True) 103 | -------------------------------------------------------------------------------- /mro/views/report_mro_order.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /mro_cbm/mro_cbm.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2015-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | import time 10 | from odoo import api, fields, models 11 | 12 | 13 | class mro_gauge(models.Model): 14 | _name = 'mro.gauge' 15 | _description = 'Asset Gauges' 16 | 17 | READING_TYPE_SELECTION = [ 18 | ('dir', 'Direct'), 19 | ('src', 'Gauge') 20 | ] 21 | 22 | STATE_SELECTION = [ 23 | ('draft', 'Setup'), 24 | ('reading', 'Reading') 25 | ] 26 | 27 | def _get_lines(self): 28 | for gauge in self: 29 | gauge.view_line_ids = self.env['mro.gauge.line'].search([('gauge_id', '=', gauge.id)], limit=1) 30 | 31 | name = fields.Many2one('mro.pm.parameter', 'Gauge', ondelete='restrict', required=True, readonly=True, states={'draft': [('readonly', False)]}) 32 | state = fields.Selection(STATE_SELECTION, 'Status', readonly=True, default='draft') 33 | reading_type = fields.Selection(READING_TYPE_SELECTION, 'Reading Type', required=True, readonly=True, states={'draft': [('readonly', False)]}, default='dir') 34 | gauge_line_ids = fields.One2many('mro.gauge.line', 'gauge_id', 'Gauges') 35 | view_line_ids = fields.One2many('mro.gauge.line', compute='_get_lines') 36 | new_value = fields.Float('New value') 37 | date = fields.Date(related='gauge_line_ids.date', string='Date', default=time.strftime('%Y-%m-%d')) 38 | value = fields.Float(related='gauge_line_ids.value', string='Value') 39 | gauge_uom = fields.Many2one(related='name.parameter_uom', string='Unit of Measure', readonly=True) 40 | asset_id = fields.Many2one('asset.asset', 'Asset', ondelete='restrict') 41 | parent_gauge_id = fields.Many2one('mro.gauge', 'Source Gauge', ondelete='restrict', readonly=True, states={'draft': [('readonly', False)]}) 42 | parent_ratio_id = fields.Many2one('mro.pm.meter.ratio', 'Ratio to Source', ondelete='restrict') 43 | 44 | @api.model 45 | def create(self, vals): 46 | if not vals.get('asset_id',False): return 47 | gauge_id = super(mro_gauge, self).create(vals) 48 | values = { 49 | 'date': vals.get('date',time.strftime('%Y-%m-%d')), 50 | 'value': vals.get('value',0), 51 | 'gauge_id': gauge_id.id, 52 | } 53 | self.env['mro.gauge.line'].create(values) 54 | return gauge_id 55 | 56 | @api.multi 57 | def write(self, vals): 58 | for gauge in self: 59 | if vals.get('new_value',False) and gauge.state == 'reading': 60 | if gauge.reading_type == 'dir': 61 | vals.update({'value': vals['new_value']}) 62 | vals.update({'date': time.strftime('%Y-%m-%d')}) 63 | if gauge.date != time.strftime('%Y-%m-%d'): 64 | self.env['mro.gauge.line'].create({ 65 | 'date': vals.get('date',time.strftime('%Y-%m-%d')), 66 | 'value': vals.get('new_value',0), 67 | 'gauge_id': gauge.id, 68 | }) 69 | child_gauge_ids = self.search([('parent_gauge_id', '=', gauge.id),('state', '=', 'reading')]) 70 | child_gauge_ids.write({'new_value':vals['new_value']}) 71 | elif gauge.reading_type == 'src': 72 | if gauge.parent_ratio_id: 73 | vals.update({'new_value': gauge.parent_ratio_id.calculate(vals['new_value'])}) 74 | if gauge.parent_gauge_id.reading_type == 'dir': 75 | vals.update({'value': vals['new_value']}) 76 | vals.update({'date': time.strftime('%Y-%m-%d')}) 77 | if gauge.date != time.strftime('%Y-%m-%d'): 78 | self.env['mro.gauge.line'].create({ 79 | 'date': vals.get('date',time.strftime('%Y-%m-%d')), 80 | 'value': vals.get('value',0), 81 | 'gauge_id': gauge.id, 82 | }) 83 | vals.update({'new_value': vals.get('value',0)}) 84 | return super(mro_gauge, self).write(vals) 85 | 86 | @api.onchange('new_value') 87 | def onchange_value(self): 88 | self.date = time.strftime('%Y-%m-%d') 89 | self.value = self.new_value 90 | 91 | def activate_gauge(self): 92 | for gauge in self: 93 | fields = {'state': 'reading'} 94 | fields['new_value'] = gauge.value 95 | if gauge.reading_type != 'src': fields['parent_gauge_id'] = False 96 | self.write(fields) 97 | return True 98 | 99 | 100 | class mro_gauge_line(models.Model): 101 | _name = 'mro.gauge.line' 102 | _description = 'History of Asset Gauge Reading' 103 | 104 | date = fields.Date('Date', required=True) 105 | value = fields.Float('Reading Value', required=True) 106 | gauge_id = fields.Many2one('mro.gauge', 'Gauge', ondelete='restrict') 107 | 108 | _order = 'date desc' 109 | 110 | 111 | class mro_cbm_rule(models.Model): 112 | _name = "mro.cbm.rule" 113 | _description = "Predictive Maintenance Rule" 114 | 115 | name = fields.Char('Name', size=64) 116 | active = fields.Boolean('Active', help="If the active field is set to False, it will allow you to hide the PdM without removing it.", default=True) 117 | category_id = fields.Many2one('asset.category', 'Asset Category', ondelete='restrict', required=True) 118 | parameter_id = fields.Many2one('mro.pm.parameter', 'Parameter', ondelete='restrict', required=True) 119 | parameter_uom = fields.Many2one(related='parameter_id.parameter_uom', string='Unit of Measure') 120 | task_id = fields.Many2one('mro.task', 'Task', ondelete='restrict', required=True) 121 | limit_min = fields.Float('Min Limit') 122 | limit_max = fields.Float('Max Limit') 123 | is_limit_min = fields.Boolean('Min Limit') 124 | is_limit_max = fields.Boolean('Max Limit') 125 | 126 | @api.onchange('task_id','category_id') 127 | def onchange_category(self): 128 | if self.task_id and self.category_id and self.category_id.id != self.task_id.category_id.id: 129 | self.task_id = False 130 | 131 | @api.model 132 | def create(self, vals): 133 | if vals.get('name','/')=='/': 134 | vals['name'] = self.env['ir.sequence'].next_by_code('mro.cbm.rule') or '/' 135 | return super(mro_cbm_rule, self).create(vals) 136 | -------------------------------------------------------------------------------- /asset/asset.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo 5 | # Copyright (C) 2013-2018 CodUP (). 6 | # 7 | ############################################################################## 8 | 9 | from odoo import api, fields, models 10 | from odoo import tools 11 | 12 | STATE_COLOR_SELECTION = [ 13 | ('0', 'Red'), 14 | ('1', 'Green'), 15 | ('2', 'Blue'), 16 | ('3', 'Yellow'), 17 | ('4', 'Magenta'), 18 | ('5', 'Cyan'), 19 | ('6', 'Black'), 20 | ('7', 'White'), 21 | ('8', 'Orange'), 22 | ('9', 'SkyBlue') 23 | ] 24 | 25 | class asset_state(models.Model): 26 | """ 27 | Model for asset states. 28 | """ 29 | _name = 'asset.state' 30 | _description = 'State of Asset' 31 | _order = "sequence" 32 | 33 | STATE_SCOPE_TEAM = [ 34 | ('0', 'Finance'), 35 | ('1', 'Warehouse'), 36 | ('2', 'Manufacture'), 37 | ('3', 'Maintenance'), 38 | ('4', 'Accounting') 39 | ] 40 | 41 | name = fields.Char('State', size=64, required=True, translate=True) 42 | sequence = fields.Integer('Sequence', help="Used to order states.", default=1) 43 | state_color = fields.Selection(STATE_COLOR_SELECTION, 'State Color') 44 | team = fields.Selection(STATE_SCOPE_TEAM, 'Scope Team') 45 | 46 | def change_color(self): 47 | color = int(self.state_color) + 1 48 | if (color>9): color = 0 49 | return self.write({'state_color': str(color)}) 50 | 51 | 52 | class asset_category(models.Model): 53 | _description = 'Asset Tags' 54 | _name = 'asset.category' 55 | 56 | name = fields.Char('Tag', required=True, translate=True) 57 | asset_ids = fields.Many2many('asset.asset', id1='category_id', id2='asset_id', string='Assets') 58 | 59 | 60 | class asset_asset(models.Model): 61 | """ 62 | Assets 63 | """ 64 | _name = 'asset.asset' 65 | _description = 'Asset' 66 | _inherit = ['mail.thread'] 67 | 68 | def _read_group_state_ids(self, domain, read_group_order=None, access_rights_uid=None, team='3'): 69 | access_rights_uid = access_rights_uid or self.uid 70 | stage_obj = self.env['asset.state'] 71 | order = stage_obj._order 72 | # lame hack to allow reverting search, should just work in the trivial case 73 | if read_group_order == 'stage_id desc': 74 | order = "%s desc" % order 75 | # write the domain 76 | # - ('id', 'in', 'ids'): add columns that should be present 77 | # - OR ('team','=',team): add default columns that belongs team 78 | search_domain = [] 79 | search_domain += ['|', ('team','=',team)] 80 | search_domain += [('id', 'in', ids)] 81 | stage_ids = stage_obj._search(search_domain, order=order, access_rights_uid=access_rights_uid) 82 | result = stage_obj.name_get(access_rights_uid, stage_ids) 83 | # restore order of the search 84 | result.sort(lambda x,y: cmp(stage_ids.index(x[0]), stage_ids.index(y[0]))) 85 | return result, {} 86 | 87 | def _read_group_finance_state_ids(self, domain, read_group_order=None, access_rights_uid=None): 88 | return self._read_group_state_ids(domain, read_group_order, access_rights_uid, '0') 89 | 90 | def _read_group_warehouse_state_ids(self, domain, read_group_order=None, access_rights_uid=None): 91 | return self._read_group_state_ids(domain, read_group_order, access_rights_uid, '1') 92 | 93 | def _read_group_manufacture_state_ids(self, domain, read_group_order=None, access_rights_uid=None): 94 | return self._read_group_state_ids(domain, read_group_order, access_rights_uid, '2') 95 | 96 | def _read_group_maintenance_state_ids(self, domain, read_group_order=None, access_rights_uid=None): 97 | return self._read_group_state_ids(domain, read_group_order, access_rights_uid, '3') 98 | 99 | def _read_group_accounting_state_ids(self, domain, read_group_order=None, access_rights_uid=None): 100 | return self._read_group_state_ids(domain, read_group_order, access_rights_uid, '4') 101 | 102 | CRITICALITY_SELECTION = [ 103 | ('0', 'General'), 104 | ('1', 'Important'), 105 | ('2', 'Very important'), 106 | ('3', 'Critical') 107 | ] 108 | 109 | name = fields.Char('Asset Name', size=64, required=True, translate=True) 110 | finance_state_id = fields.Many2one('asset.state', 'State', domain=[('team','=','0')]) 111 | warehouse_state_id = fields.Many2one('asset.state', 'State', domain=[('team','=','1')]) 112 | manufacture_state_id = fields.Many2one('asset.state', 'State', domain=[('team','=','2')]) 113 | maintenance_state_id = fields.Many2one('asset.state', 'State', domain=[('team','=','3')]) 114 | accounting_state_id = fields.Many2one('asset.state', 'State', domain=[('team','=','4')]) 115 | maintenance_state_color = fields.Selection(related='maintenance_state_id.state_color', selection=STATE_COLOR_SELECTION, string="Color", readonly=True) 116 | criticality = fields.Selection(CRITICALITY_SELECTION, 'Criticality') 117 | property_stock_asset = fields.Many2one( 118 | 'stock.location', "Asset Location", 119 | company_dependent=True, domain=[('usage', 'like', 'asset')], 120 | help="This location will be used as the destination location for installed parts during asset life.") 121 | user_id = fields.Many2one('res.users', 'Assigned to', track_visibility='onchange') 122 | active = fields.Boolean('Active', default=True) 123 | asset_number = fields.Char('Asset Number', size=64) 124 | model = fields.Char('Model', size=64) 125 | serial = fields.Char('Serial no.', size=64) 126 | vendor_id = fields.Many2one('res.partner', 'Vendor') 127 | manufacturer_id = fields.Many2one('res.partner', 'Manufacturer') 128 | start_date = fields.Date('Start Date') 129 | purchase_date = fields.Date('Purchase Date') 130 | warranty_start_date = fields.Date('Warranty Start') 131 | warranty_end_date = fields.Date('Warranty End') 132 | image = fields.Binary("Image") 133 | image_small = fields.Binary("Small-sized image") 134 | image_medium = fields.Binary("Medium-sized image") 135 | category_ids = fields.Many2many('asset.category', id1='asset_id', id2='category_id', string='Tags') 136 | 137 | _group_by_full = { 138 | 'finance_state_id': _read_group_finance_state_ids, 139 | 'warehouse_state_id': _read_group_warehouse_state_ids, 140 | 'manufacture_state_id': _read_group_manufacture_state_ids, 141 | 'maintenance_state_id': _read_group_maintenance_state_ids, 142 | 'accounting_state_id': _read_group_accounting_state_ids, 143 | } 144 | 145 | @api.model 146 | def create(self, vals): 147 | tools.image_resize_images(vals) 148 | return super(asset_asset, self).create(vals) 149 | 150 | @api.multi 151 | def write(self, vals): 152 | tools.image_resize_images(vals) 153 | return super(asset_asset, self).write(vals) 154 | -------------------------------------------------------------------------------- /asset/asset_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Planned 7 | 0 8 | 7 9 | 1 10 | 11 | 12 | Rented 13 | 0 14 | 5 15 | 2 16 | 17 | 18 | Purchased 19 | 0 20 | 1 21 | 3 22 | 23 | 24 | Leased 25 | 0 26 | 4 27 | 4 28 | 29 | 30 | Sold 31 | 0 32 | 0 33 | 5 34 | 35 | 36 | 37 | Shipped 38 | 1 39 | 5 40 | 1 41 | 42 | 43 | Moves 44 | 1 45 | 9 46 | 2 47 | 48 | 49 | Stored 50 | 1 51 | 3 52 | 3 53 | 54 | 55 | Installed 56 | 1 57 | 2 58 | 4 59 | 60 | 61 | Use 62 | 1 63 | 1 64 | 5 65 | 66 | 67 | Stolen 68 | 1 69 | 0 70 | 6 71 | 72 | 73 | Retired 74 | 1 75 | 4 76 | 7 77 | 78 | 79 | 80 | Shutdown 81 | 2 82 | 7 83 | 1 84 | 85 | 86 | Run 87 | 2 88 | 1 89 | 2 90 | 91 | 92 | Setup 93 | 2 94 | 2 95 | 3 96 | 97 | 98 | Standby 99 | 2 100 | 3 101 | 4 102 | 103 | 104 | Down 105 | 2 106 | 0 107 | 5 108 | 109 | 110 | 111 | Breakdown 112 | 3 113 | 0 114 | 1 115 | 116 | 117 | Repair 118 | 3 119 | 4 120 | 2 121 | 122 | 123 | Maintenance 124 | 3 125 | 8 126 | 3 127 | 128 | 129 | Operable 130 | 3 131 | 1 132 | 4 133 | 134 | 135 | 136 | Draft 137 | 4 138 | 7 139 | 1 140 | 141 | 142 | Depreciation 143 | 4 144 | 1 145 | 2 146 | 147 | 148 | Close 149 | 4 150 | 6 151 | 3 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /mro_cbm/i18n/mro_cbm.pot: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * mro_cbm 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Odoo Server 8.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2015-01-09 16:55+0000\n" 10 | "PO-Revision-Date: 2015-01-09 16:55+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: mro_cbm 19 | #: field:mro.cbm.rule,active:0 20 | msgid "Active" 21 | msgstr "" 22 | 23 | #. module: mro_cbm 24 | #: model:ir.model,name:mro_cbm.model_asset_asset 25 | #: field:mro.gauge,asset_id:0 26 | msgid "Asset" 27 | msgstr "" 28 | 29 | #. module: mro_cbm 30 | #: field:mro.cbm.rule,category_id:0 31 | msgid "Asset Category" 32 | msgstr "" 33 | 34 | #. module: mro_cbm 35 | #: model:ir.model,name:mro_cbm.model_mro_gauge 36 | msgid "Asset Gauges" 37 | msgstr "" 38 | 39 | #. module: mro_cbm 40 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 41 | msgid "Attach" 42 | msgstr "" 43 | 44 | #. module: mro_cbm 45 | #: model:mro.pm.parameter,name:mro_cbm.mro_cbm_parameter_1 46 | msgid "Bearing Temperature" 47 | msgstr "" 48 | 49 | #. module: mro_cbm 50 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 51 | msgid "Cancel" 52 | msgstr "" 53 | 54 | #. module: mro_cbm 55 | #: field:mro.cbm.replan,create_uid:0 56 | #: field:mro.cbm.rule,create_uid:0 57 | #: field:mro.gauge,create_uid:0 58 | #: field:mro.gauge.line,create_uid:0 59 | msgid "Created by" 60 | msgstr "" 61 | 62 | #. module: mro_cbm 63 | #: field:mro.cbm.replan,create_date:0 64 | #: field:mro.cbm.rule,create_date:0 65 | #: field:mro.gauge,create_date:0 66 | #: field:mro.gauge.line,create_date:0 67 | msgid "Created on" 68 | msgstr "" 69 | 70 | #. module: mro_cbm 71 | #: field:mro.gauge,date:0 72 | #: field:mro.gauge.line,date:0 73 | msgid "Date" 74 | msgstr "" 75 | 76 | #. module: mro_cbm 77 | #: selection:mro.gauge,reading_type:0 78 | msgid "Direct" 79 | msgstr "" 80 | 81 | #. module: mro_cbm 82 | #: field:asset.asset,gauge_ids:0 83 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 84 | #: field:mro.gauge,name:0 85 | #: selection:mro.gauge,reading_type:0 86 | #: field:mro.gauge.line,gauge_id:0 87 | msgid "Gauge" 88 | msgstr "" 89 | 90 | #. module: mro_cbm 91 | #: view:mro.gauge.line:mro_cbm.gauge_history_search 92 | msgid "Gauge History Search" 93 | msgstr "" 94 | 95 | #. module: mro_cbm 96 | #: view:asset.asset:mro_cbm.assets_form_view 97 | #: field:mro.gauge,gauge_line_ids:0 98 | msgid "Gauges" 99 | msgstr "" 100 | 101 | #. module: mro_cbm 102 | #: model:ir.actions.act_window,name:mro_cbm.action_gauges_logs 103 | #: model:ir.ui.menu,name:mro_cbm.menu_gauges_logs 104 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 105 | msgid "Gauges Logs" 106 | msgstr "" 107 | 108 | #. module: mro_cbm 109 | #: model:ir.model,name:mro_cbm.model_mro_gauge_line 110 | msgid "History of Asset Gauge Reading" 111 | msgstr "" 112 | 113 | #. module: mro_cbm 114 | #: field:mro.cbm.replan,id:0 115 | #: field:mro.cbm.rule,id:0 116 | #: field:mro.gauge,id:0 117 | #: field:mro.gauge.line,id:0 118 | msgid "ID" 119 | msgstr "" 120 | 121 | #. module: mro_cbm 122 | #: help:mro.cbm.rule,active:0 123 | msgid "If the active field is set to False, it will allow you to hide the PdM without removing it." 124 | msgstr "" 125 | 126 | #. module: mro_cbm 127 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 128 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 129 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 130 | msgid "Last Reading" 131 | msgstr "" 132 | 133 | #. module: mro_cbm 134 | #: field:mro.cbm.replan,write_uid:0 135 | #: field:mro.cbm.rule,write_uid:0 136 | #: field:mro.gauge,write_uid:0 137 | #: field:mro.gauge.line,write_uid:0 138 | msgid "Last Updated by" 139 | msgstr "" 140 | 141 | #. module: mro_cbm 142 | #: field:mro.cbm.replan,write_date:0 143 | #: field:mro.cbm.rule,write_date:0 144 | #: field:mro.gauge,write_date:0 145 | #: field:mro.gauge.line,write_date:0 146 | msgid "Last Updated on" 147 | msgstr "" 148 | 149 | #. module: mro_cbm 150 | #: model:ir.model,name:mro_cbm.model_mro_order 151 | msgid "Maintenance Order" 152 | msgstr "" 153 | 154 | #. module: mro_cbm 155 | #: model:ir.model,name:mro_cbm.model_mro_task 156 | msgid "Maintenance Task" 157 | msgstr "" 158 | 159 | #. module: mro_cbm 160 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 161 | #: field:mro.cbm.rule,is_limit_max:0 162 | #: field:mro.cbm.rule,limit_max:0 163 | msgid "Max Limit" 164 | msgstr "" 165 | 166 | #. module: mro_cbm 167 | #: view:asset.asset:mro_cbm.assets_form_view 168 | msgid "Meters" 169 | msgstr "" 170 | 171 | #. module: mro_cbm 172 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 173 | #: field:mro.cbm.rule,is_limit_min:0 174 | #: field:mro.cbm.rule,limit_min:0 175 | msgid "Min Limit" 176 | msgstr "" 177 | 178 | #. module: mro_cbm 179 | #: field:mro.cbm.rule,name:0 180 | msgid "Name" 181 | msgstr "" 182 | 183 | #. module: mro_cbm 184 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 185 | msgid "New Reading" 186 | msgstr "" 187 | 188 | #. module: mro_cbm 189 | #: field:mro.gauge,new_value:0 190 | msgid "New value" 191 | msgstr "" 192 | 193 | #. module: mro_cbm 194 | #: field:mro.cbm.rule,parameter_id:0 195 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 196 | msgid "Parameter" 197 | msgstr "" 198 | 199 | #. module: mro_cbm 200 | #: model:ir.actions.act_window,name:mro_cbm.action_cbm_rules 201 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 202 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_tree_view 203 | msgid "PdM Rule" 204 | msgstr "" 205 | 206 | #. module: mro_cbm 207 | #: model:ir.ui.menu,name:mro_cbm.menu_cbm_rules 208 | msgid "PdM Rules" 209 | msgstr "" 210 | 211 | #. module: mro_cbm 212 | #: model:ir.model,name:mro_cbm.model_mro_cbm_rule 213 | msgid "Predictive Maintenance Rule" 214 | msgstr "" 215 | 216 | #. module: mro_cbm 217 | #: field:mro.gauge,parent_ratio_id:0 218 | msgid "Ratio to Source" 219 | msgstr "" 220 | 221 | #. module: mro_cbm 222 | #: selection:mro.gauge,state:0 223 | msgid "Reading" 224 | msgstr "" 225 | 226 | #. module: mro_cbm 227 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 228 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 229 | msgid "Reading Date" 230 | msgstr "" 231 | 232 | #. module: mro_cbm 233 | #: view:asset.asset:mro_cbm.assets_form_view 234 | #: model:ir.actions.act_window,name:mro_cbm.open_reading_log 235 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 236 | #: view:mro.gauge.line:mro_cbm.mro_gauge_line_tree_view 237 | msgid "Reading History" 238 | msgstr "" 239 | 240 | #. module: mro_cbm 241 | #: field:mro.gauge,reading_type:0 242 | msgid "Reading Type" 243 | msgstr "" 244 | 245 | #. module: mro_cbm 246 | #: field:mro.gauge.line,value:0 247 | msgid "Reading Value" 248 | msgstr "" 249 | 250 | #. module: mro_cbm 251 | #: model:mro.task,name:mro_cbm.mro_task_6 252 | msgid "Replace bearings" 253 | msgstr "" 254 | 255 | #. module: mro_cbm 256 | #: model:ir.actions.act_window,name:mro_cbm.action_replan_cbm 257 | #: model:ir.model,name:mro_cbm.model_mro_cbm_replan 258 | #: model:ir.ui.menu,name:mro_cbm.menu_replan_cbm 259 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 260 | msgid "Replan PdM" 261 | msgstr "" 262 | 263 | #. module: mro_cbm 264 | #: selection:mro.gauge,state:0 265 | msgid "Setup" 266 | msgstr "" 267 | 268 | #. module: mro_cbm 269 | #: field:mro.gauge,parent_gauge_id:0 270 | msgid "Source Gauge" 271 | msgstr "" 272 | 273 | #. module: mro_cbm 274 | #: field:mro.gauge,state:0 275 | msgid "Status" 276 | msgstr "" 277 | 278 | #. module: mro_cbm 279 | #: field:mro.cbm.rule,task_id:0 280 | msgid "Task" 281 | msgstr "" 282 | 283 | #. module: mro_cbm 284 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 285 | msgid "Trigger" 286 | msgstr "" 287 | 288 | #. module: mro_cbm 289 | #: field:mro.cbm.rule,parameter_uom:0 290 | #: field:mro.gauge,gauge_uom:0 291 | msgid "Unit of Measure" 292 | msgstr "" 293 | 294 | #. module: mro_cbm 295 | #: model:ir.actions.act_window,name:mro_cbm.action_update_gauges 296 | #: model:ir.ui.menu,name:mro_cbm.menu_update_gauges 297 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 298 | msgid "Update Gauges" 299 | msgstr "" 300 | 301 | #. module: mro_cbm 302 | #: field:mro.gauge,value:0 303 | msgid "Value" 304 | msgstr "" 305 | 306 | #. module: mro_cbm 307 | #: field:mro.gauge,view_line_ids:0 308 | msgid "unknown" 309 | msgstr "" 310 | 311 | #. module: mro_cbm 312 | #: model:product.uom,name:mro_cbm.uom_mro_degree 313 | msgid "°C" 314 | msgstr "" 315 | 316 | -------------------------------------------------------------------------------- /mro_cbm/i18n/fr.po: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * mro_cbm 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Odoo Server 8.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2015-09-06 13:41+0000\n" 10 | "PO-Revision-Date: 2015-09-06 13:41+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: mro_cbm 19 | #: field:mro.cbm.rule,active:0 20 | msgid "Active" 21 | msgstr "Actif" 22 | 23 | #. module: mro_cbm 24 | #: model:ir.model,name:mro_cbm.model_asset_asset 25 | #: field:mro.gauge,asset_id:0 26 | msgid "Asset" 27 | msgstr "Immobilisation" 28 | 29 | #. module: mro_cbm 30 | #: field:mro.cbm.rule,category_id:0 31 | msgid "Asset Category" 32 | msgstr "Catégorie d'immobilisation" 33 | 34 | #. module: mro_cbm 35 | #: model:ir.model,name:mro_cbm.model_mro_gauge 36 | msgid "Asset Gauges" 37 | msgstr "Jauge" 38 | 39 | #. module: mro_cbm 40 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 41 | msgid "Attach" 42 | msgstr "Attacher" 43 | 44 | #. module: mro_cbm 45 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 46 | msgid "Cancel" 47 | msgstr "Annuler" 48 | 49 | #. module: mro_cbm 50 | #: field:mro.cbm.replan,create_uid:0 51 | #: field:mro.cbm.rule,create_uid:0 52 | #: field:mro.gauge,create_uid:0 53 | #: field:mro.gauge.line,create_uid:0 54 | msgid "Created by" 55 | msgstr "Créé par" 56 | 57 | #. module: mro_cbm 58 | #: field:mro.cbm.replan,create_date:0 59 | #: field:mro.cbm.rule,create_date:0 60 | #: field:mro.gauge,create_date:0 61 | #: field:mro.gauge.line,create_date:0 62 | msgid "Created on" 63 | msgstr "Créé le" 64 | 65 | #. module: mro_cbm 66 | #: field:mro.gauge,date:0 67 | #: field:mro.gauge.line,date:0 68 | msgid "Date" 69 | msgstr "Date" 70 | 71 | #. module: mro_cbm 72 | #: selection:mro.gauge,reading_type:0 73 | msgid "Direct" 74 | msgstr "Direct" 75 | 76 | #. module: mro_cbm 77 | #: field:asset.asset,gauge_ids:0 78 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 79 | #: field:mro.gauge,name:0 80 | #: selection:mro.gauge,reading_type:0 81 | #: field:mro.gauge.line,gauge_id:0 82 | msgid "Gauge" 83 | msgstr "Jauge" 84 | 85 | #. module: mro_cbm 86 | #: view:mro.gauge.line:mro_cbm.gauge_history_search 87 | msgid "Gauge History Search" 88 | msgstr "Recherche dans l'historique de la jauge" 89 | 90 | #. module: mro_cbm 91 | #: view:asset.asset:mro_cbm.assets_form_view 92 | #: field:mro.gauge,gauge_line_ids:0 93 | msgid "Gauges" 94 | msgstr "Jauges" 95 | 96 | #. module: mro_cbm 97 | #: model:ir.actions.act_window,name:mro_cbm.action_gauges_logs 98 | #: model:ir.ui.menu,name:mro_cbm.menu_gauges_logs 99 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 100 | msgid "Gauges Logs" 101 | msgstr "Journaux de jauges" 102 | 103 | #. module: mro_cbm 104 | #: model:ir.model,name:mro_cbm.model_mro_gauge_line 105 | msgid "History of Asset Gauge Reading" 106 | msgstr "Historique des lectues de l'a jauge de l'immobilisation" 107 | 108 | #. module: mro_cbm 109 | #: field:mro.cbm.replan,id:0 110 | #: field:mro.cbm.rule,id:0 111 | #: field:mro.gauge,id:0 112 | #: field:mro.gauge.line,id:0 113 | msgid "ID" 114 | msgstr "ID" 115 | 116 | #. module: mro_cbm 117 | #: help:mro.cbm.rule,active:0 118 | msgid "If the active field is set to False, it will allow you to hide the PdM without removing it." 119 | msgstr "If the active field is set to False, it will allow you to hide the PdM without removing it." 120 | 121 | #. module: mro_cbm 122 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 123 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 124 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 125 | msgid "Last Reading" 126 | msgstr "Dernière lecture" 127 | 128 | #. module: mro_cbm 129 | #: field:mro.cbm.replan,write_uid:0 130 | #: field:mro.cbm.rule,write_uid:0 131 | #: field:mro.gauge,write_uid:0 132 | #: field:mro.gauge.line,write_uid:0 133 | msgid "Last Updated by" 134 | msgstr "Dernière mise à jour par" 135 | 136 | #. module: mro_cbm 137 | #: field:mro.cbm.replan,write_date:0 138 | #: field:mro.cbm.rule,write_date:0 139 | #: field:mro.gauge,write_date:0 140 | #: field:mro.gauge.line,write_date:0 141 | msgid "Last Updated on" 142 | msgstr "Dernière mise à jour le" 143 | 144 | #. module: mro_cbm 145 | #: model:ir.model,name:mro_cbm.model_mro_order 146 | msgid "Maintenance Order" 147 | msgstr "Maintenance" 148 | 149 | #. module: mro_cbm 150 | #: model:ir.model,name:mro_cbm.model_mro_task 151 | msgid "Maintenance Task" 152 | msgstr "Tâche" 153 | 154 | #. module: mro_cbm 155 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 156 | #: field:mro.cbm.rule,is_limit_max:0 157 | #: field:mro.cbm.rule,limit_max:0 158 | msgid "Max Limit" 159 | msgstr "Limite max" 160 | 161 | #. module: mro_cbm 162 | #: view:asset.asset:mro_cbm.assets_form_view 163 | msgid "Meters" 164 | msgstr "Indicateurs" 165 | 166 | #. module: mro_cbm 167 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 168 | #: field:mro.cbm.rule,is_limit_min:0 169 | #: field:mro.cbm.rule,limit_min:0 170 | msgid "Min Limit" 171 | msgstr "Limite min" 172 | 173 | #. module: mro_cbm 174 | #: field:mro.cbm.rule,name:0 175 | msgid "Name" 176 | msgstr "Nom" 177 | 178 | #. module: mro_cbm 179 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 180 | msgid "New Reading" 181 | msgstr "Nouvelle lecture" 182 | 183 | #. module: mro_cbm 184 | #: field:mro.gauge,new_value:0 185 | msgid "New value" 186 | msgstr "Nouvelle valeur" 187 | 188 | #. module: mro_cbm 189 | #: field:mro.cbm.rule,parameter_id:0 190 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 191 | msgid "Parameter" 192 | msgstr "Paramètre" 193 | 194 | #. module: mro_cbm 195 | #: model:ir.actions.act_window,name:mro_cbm.action_cbm_rules 196 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 197 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_tree_view 198 | msgid "PdM Rule" 199 | msgstr "Règle de maintenance prédictive" 200 | 201 | #. module: mro_cbm 202 | #: model:ir.ui.menu,name:mro_cbm.menu_cbm_rules 203 | msgid "PdM Rules" 204 | msgstr "Règles de maintenance prédictive" 205 | 206 | #. module: mro_cbm 207 | #: model:ir.model,name:mro_cbm.model_mro_cbm_rule 208 | msgid "Predictive Maintenance Rule" 209 | msgstr "Règle de maintenance prédictive" 210 | 211 | #. module: mro_cbm 212 | #: field:mro.gauge,parent_ratio_id:0 213 | msgid "Ratio to Source" 214 | msgstr "Ratio à la source" 215 | 216 | #. module: mro_cbm 217 | #: selection:mro.gauge,state:0 218 | msgid "Reading" 219 | msgstr "Lecture" 220 | 221 | #. module: mro_cbm 222 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 223 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 224 | msgid "Reading Date" 225 | msgstr "Date de lecture" 226 | 227 | #. module: mro_cbm 228 | #: view:asset.asset:mro_cbm.assets_form_view 229 | #: model:ir.actions.act_window,name:mro_cbm.open_reading_log 230 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 231 | #: view:mro.gauge.line:mro_cbm.mro_gauge_line_tree_view 232 | msgid "Reading History" 233 | msgstr "Historique de lecture" 234 | 235 | #. module: mro_cbm 236 | #: field:mro.gauge,reading_type:0 237 | msgid "Reading Type" 238 | msgstr "Type de lecture" 239 | 240 | #. module: mro_cbm 241 | #: field:mro.gauge.line,value:0 242 | msgid "Valeur lue" 243 | msgstr "Reading Value" 244 | 245 | #. module: mro_cbm 246 | #: model:ir.actions.act_window,name:mro_cbm.action_replan_cbm 247 | #: model:ir.model,name:mro_cbm.model_mro_cbm_replan 248 | #: model:ir.ui.menu,name:mro_cbm.menu_replan_cbm 249 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 250 | msgid "Replan PdM" 251 | msgstr "Replanifier la maintenance prédictive" 252 | 253 | #. module: mro_cbm 254 | #: selection:mro.gauge,state:0 255 | msgid "Setup" 256 | msgstr "Configuration" 257 | 258 | #. module: mro_cbm 259 | #: field:mro.gauge,parent_gauge_id:0 260 | msgid "Source Gauge" 261 | msgstr "Jauge source" 262 | 263 | #. module: mro_cbm 264 | #: field:mro.gauge,state:0 265 | msgid "Status" 266 | msgstr "Status" 267 | 268 | #. module: mro_cbm 269 | #: field:mro.cbm.rule,task_id:0 270 | msgid "Task" 271 | msgstr "Tâche" 272 | 273 | #. module: mro_cbm 274 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 275 | msgid "Trigger" 276 | msgstr "Déclencheur" 277 | 278 | #. module: mro_cbm 279 | #: field:mro.cbm.rule,parameter_uom:0 280 | #: field:mro.gauge,gauge_uom:0 281 | msgid "Unit of Measure" 282 | msgstr "Unite" 283 | 284 | #. module: mro_cbm 285 | #: model:ir.actions.act_window,name:mro_cbm.action_update_gauges 286 | #: model:ir.ui.menu,name:mro_cbm.menu_update_gauges 287 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 288 | msgid "Update Gauges" 289 | msgstr "Mettre à jour les jauges" 290 | 291 | #. module: mro_cbm 292 | #: field:mro.gauge,value:0 293 | msgid "Value" 294 | msgstr "Valeur" 295 | 296 | #. module: mro_cbm 297 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 298 | msgid "or" 299 | msgstr "ou" 300 | 301 | #. module: mro_cbm 302 | #: field:mro.gauge,view_line_ids:0 303 | msgid "unknown" 304 | msgstr "inconnu" 305 | 306 | -------------------------------------------------------------------------------- /mro_cbm/i18n/ru.po: -------------------------------------------------------------------------------- 1 | # Translation of Odoo Server. 2 | # This file contains the translation of the following modules: 3 | # * mro_cbm 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: Odoo Server 8.0\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2015-01-09 16:55+0000\n" 10 | "PO-Revision-Date: 2015-01-09 16:55+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: base 19 | #: model:ir.module.module,shortdesc:base.module_mro_cbm 20 | msgid "MRO CBM" 21 | msgstr "ТО по состоянию" 22 | 23 | #. module: base 24 | #: model:ir.module.module,summary:base.module_mro_cbm 25 | msgid "Asset Predictive Maintenance" 26 | msgstr "Техническое обслуживание по состоянию" 27 | 28 | #. module: mro_cbm 29 | #: field:mro.cbm.rule,active:0 30 | msgid "Active" 31 | msgstr "Активно" 32 | 33 | #. module: mro_cbm 34 | #: model:ir.model,name:mro_cbm.model_asset_asset 35 | #: field:mro.gauge,asset_id:0 36 | msgid "Asset" 37 | msgstr "Актив" 38 | 39 | #. module: mro_cbm 40 | #: field:mro.cbm.rule,category_id:0 41 | msgid "Asset Category" 42 | msgstr "Категория актива" 43 | 44 | #. module: mro_cbm 45 | #: model:ir.model,name:mro_cbm.model_mro_gauge 46 | msgid "Asset Gauges" 47 | msgstr "Измерители актива" 48 | 49 | #. module: mro_cbm 50 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 51 | msgid "Attach" 52 | msgstr "Подключить" 53 | 54 | #. module: mro_cbm 55 | #: model:mro.pm.parameter,name:mro_cbm.mro_cbm_parameter_1 56 | msgid "Bearing Temperature" 57 | msgstr "Температура подшипника" 58 | 59 | #. module: mro_cbm 60 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 61 | msgid "Cancel" 62 | msgstr "Отменить" 63 | 64 | #. module: mro_cbm 65 | #: field:mro.cbm.replan,create_uid:0 66 | #: field:mro.cbm.rule,create_uid:0 67 | #: field:mro.gauge,create_uid:0 68 | #: field:mro.gauge.line,create_uid:0 69 | msgid "Created by" 70 | msgstr "Создано" 71 | 72 | #. module: mro_cbm 73 | #: field:mro.cbm.replan,create_date:0 74 | #: field:mro.cbm.rule,create_date:0 75 | #: field:mro.gauge,create_date:0 76 | #: field:mro.gauge.line,create_date:0 77 | msgid "Created on" 78 | msgstr "Создано" 79 | 80 | #. module: mro_cbm 81 | #: field:mro.gauge,date:0 82 | #: field:mro.gauge.line,date:0 83 | msgid "Date" 84 | msgstr "Дата" 85 | 86 | #. module: mro_cbm 87 | #: selection:mro.gauge,reading_type:0 88 | msgid "Direct" 89 | msgstr "Прямой" 90 | 91 | #. module: mro_cbm 92 | #: field:asset.asset,gauge_ids:0 93 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 94 | #: field:mro.gauge,name:0 95 | #: selection:mro.gauge,reading_type:0 96 | #: field:mro.gauge.line,gauge_id:0 97 | msgid "Gauge" 98 | msgstr "Измеритель" 99 | 100 | #. module: mro_cbm 101 | #: view:mro.gauge.line:mro_cbm.gauge_history_search 102 | msgid "Gauge History Search" 103 | msgstr "Поиск Истории Измерителей" 104 | 105 | #. module: mro_cbm 106 | #: view:asset.asset:mro_cbm.assets_form_view 107 | #: field:mro.gauge,gauge_line_ids:0 108 | msgid "Gauges" 109 | msgstr "Измерители" 110 | 111 | #. module: mro_cbm 112 | #: model:ir.actions.act_window,name:mro_cbm.action_gauges_logs 113 | #: model:ir.ui.menu,name:mro_cbm.menu_gauges_logs 114 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 115 | msgid "Gauges Logs" 116 | msgstr "Журнал измерителей" 117 | 118 | #. module: mro_cbm 119 | #: model:ir.model,name:mro_cbm.model_mro_gauge_line 120 | msgid "History of Asset Gauge Reading" 121 | msgstr "История показаний измерителей актива" 122 | 123 | #. module: mro_cbm 124 | #: field:mro.cbm.replan,id:0 125 | #: field:mro.cbm.rule,id:0 126 | #: field:mro.gauge,id:0 127 | #: field:mro.gauge.line,id:0 128 | msgid "ID" 129 | msgstr "Идентификатор" 130 | 131 | #. module: mro_cbm 132 | #: help:mro.cbm.rule,active:0 133 | msgid "If the active field is set to False, it will allow you to hide the PdM without removing it." 134 | msgstr "Если сбросить поле 'Активно', то можно скрыть правило ППР без его удаления." 135 | 136 | #. module: mro_cbm 137 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 138 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 139 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 140 | msgid "Last Reading" 141 | msgstr "Последнее показание" 142 | 143 | #. module: mro_cbm 144 | #: field:mro.cbm.replan,write_uid:0 145 | #: field:mro.cbm.rule,write_uid:0 146 | #: field:mro.gauge,write_uid:0 147 | #: field:mro.gauge.line,write_uid:0 148 | msgid "Last Updated by" 149 | msgstr "Обновлено" 150 | 151 | #. module: mro_cbm 152 | #: field:mro.cbm.replan,write_date:0 153 | #: field:mro.cbm.rule,write_date:0 154 | #: field:mro.gauge,write_date:0 155 | #: field:mro.gauge.line,write_date:0 156 | msgid "Last Updated on" 157 | msgstr "Обновлено" 158 | 159 | #. module: mro_cbm 160 | #: model:ir.model,name:mro_cbm.model_mro_order 161 | msgid "Maintenance Order" 162 | msgstr "Заказ на обслуживание" 163 | 164 | #. module: mro_cbm 165 | #: model:ir.model,name:mro_cbm.model_mro_task 166 | msgid "Maintenance Task" 167 | msgstr "Задача на обслуживание" 168 | 169 | #. module: mro_cbm 170 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 171 | #: field:mro.cbm.rule,is_limit_max:0 172 | #: field:mro.cbm.rule,limit_max:0 173 | msgid "Max Limit" 174 | msgstr "Макс ограничение" 175 | 176 | #. module: mro_cbm 177 | #: view:asset.asset:mro_cbm.assets_form_view 178 | msgid "Meters" 179 | msgstr "Счетчики" 180 | 181 | #. module: mro_cbm 182 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 183 | #: field:mro.cbm.rule,is_limit_min:0 184 | #: field:mro.cbm.rule,limit_min:0 185 | msgid "Min Limit" 186 | msgstr "Мин ограничение" 187 | 188 | #. module: mro_cbm 189 | #: field:mro.cbm.rule,name:0 190 | msgid "Name" 191 | msgstr "Название" 192 | 193 | #. module: mro_cbm 194 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 195 | msgid "New Reading" 196 | msgstr "Новое показание" 197 | 198 | #. module: mro_cbm 199 | #: field:mro.gauge,new_value:0 200 | msgid "New value" 201 | msgstr "Новое значение" 202 | 203 | #. module: mro_cbm 204 | #: field:mro.cbm.rule,parameter_id:0 205 | #: view:mro.gauge:mro_cbm.mro_gauge_form_view 206 | msgid "Parameter" 207 | msgstr "Параметр" 208 | 209 | #. module: mro_cbm 210 | #: model:ir.actions.act_window,name:mro_cbm.action_cbm_rules 211 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 212 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_tree_view 213 | msgid "PdM Rule" 214 | msgstr "Правило ТО по состоянию" 215 | 216 | #. module: mro_cbm 217 | #: model:ir.ui.menu,name:mro_cbm.menu_cbm_rules 218 | msgid "PdM Rules" 219 | msgstr "Правила ТО по состоянию" 220 | 221 | #. module: mro_cbm 222 | #: model:ir.model,name:mro_cbm.model_mro_cbm_rule 223 | msgid "Predictive Maintenance Rule" 224 | msgstr "Правило прогноза обслуживания" 225 | 226 | #. module: mro_cbm 227 | #: field:mro.gauge,parent_ratio_id:0 228 | msgid "Ratio to Source" 229 | msgstr "Коэффициент к Источнику" 230 | 231 | #. module: mro_cbm 232 | #: selection:mro.gauge,state:0 233 | msgid "Reading" 234 | msgstr "Считывание" 235 | 236 | #. module: mro_cbm 237 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 238 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 239 | msgid "Reading Date" 240 | msgstr "Дата считывания" 241 | 242 | #. module: mro_cbm 243 | #: view:asset.asset:mro_cbm.assets_form_view 244 | #: model:ir.actions.act_window,name:mro_cbm.open_reading_log 245 | #: view:mro.gauge:mro_cbm.mro_gauge_log_tree_view 246 | #: view:mro.gauge.line:mro_cbm.mro_gauge_line_tree_view 247 | msgid "Reading History" 248 | msgstr "История показаний" 249 | 250 | #. module: mro_cbm 251 | #: field:mro.gauge,reading_type:0 252 | msgid "Reading Type" 253 | msgstr "Тип считывания" 254 | 255 | #. module: mro_cbm 256 | #: field:mro.gauge.line,value:0 257 | msgid "Reading Value" 258 | msgstr "Показание" 259 | 260 | #. module: mro_cbm 261 | #: model:mro.task,name:mro_cbm.mro_task_6 262 | #: model:mro.order,description:25 263 | msgid "Replace bearings" 264 | msgstr "Замена подшипника" 265 | 266 | #. module: mro_cbm 267 | #: model:ir.actions.act_window,name:mro_cbm.action_replan_cbm 268 | #: model:ir.model,name:mro_cbm.model_mro_cbm_replan 269 | #: model:ir.ui.menu,name:mro_cbm.menu_replan_cbm 270 | #: view:mro.cbm.replan:mro_cbm.view_replan_cbm_wizard 271 | msgid "Replan PdM" 272 | msgstr "Перепланировать ТОС" 273 | 274 | #. module: mro_cbm 275 | #: selection:mro.gauge,state:0 276 | msgid "Setup" 277 | msgstr "Настройка" 278 | 279 | #. module: mro_cbm 280 | #: field:mro.gauge,parent_gauge_id:0 281 | msgid "Source Gauge" 282 | msgstr "Измеритель источник" 283 | 284 | #. module: mro_cbm 285 | #: field:mro.gauge,state:0 286 | msgid "Status" 287 | msgstr "Состояние" 288 | 289 | #. module: mro_cbm 290 | #: field:mro.cbm.rule,task_id:0 291 | msgid "Task" 292 | msgstr "Задача" 293 | 294 | #. module: mro_cbm 295 | #: view:mro.cbm.rule:mro_cbm.mro_cbm_rule_form_view 296 | msgid "Trigger" 297 | msgstr "Триггер" 298 | 299 | #. module: mro_cbm 300 | #: field:mro.cbm.rule,parameter_uom:0 301 | #: field:mro.gauge,gauge_uom:0 302 | msgid "Unit of Measure" 303 | msgstr "ЕИ" 304 | 305 | #. module: mro_cbm 306 | #: model:ir.actions.act_window,name:mro_cbm.action_update_gauges 307 | #: model:ir.ui.menu,name:mro_cbm.menu_update_gauges 308 | #: view:mro.gauge:mro_cbm.mro_gauge_tree_view 309 | msgid "Update Gauges" 310 | msgstr "Обновление измерителей" 311 | 312 | #. module: mro_cbm 313 | #: field:mro.gauge,value:0 314 | msgid "Value" 315 | msgstr "Показание" 316 | 317 | #. module: mro_cbm 318 | #: model:product.uom,name:mro_cbm.uom_mro_degree 319 | msgid "°C" 320 | msgstr "°C" 321 | 322 | #. module: mro 323 | #: selection:mro.order,maintenance_type:0 324 | #: selection:mro.task,maintenance_type:0 325 | msgid "Predictive" 326 | msgstr "Прогнозное" --------------------------------------------------------------------------------