From 06c89b931af9269823995f7f83cf54bca995c030 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Tue, 24 Apr 2018 11:49:47 -0700 Subject: [PATCH 1/4] Initial commit `maintenance_equipment_charge` for 11.0 --- maintenance_equipment_charge/__init__.py | 1 + maintenance_equipment_charge/__manifest__.py | 23 +++ .../models/__init__.py | 1 + .../models/maintenance.py | 46 +++++ .../security/ir.model.access.csv | 5 + .../tests/__init__.py | 1 + .../tests/test_maintenance_usage.py | 21 ++ .../views/maintenance_views.xml | 184 ++++++++++++++++++ 8 files changed, 282 insertions(+) create mode 100644 maintenance_equipment_charge/__init__.py create mode 100644 maintenance_equipment_charge/__manifest__.py create mode 100644 maintenance_equipment_charge/models/__init__.py create mode 100644 maintenance_equipment_charge/models/maintenance.py create mode 100644 maintenance_equipment_charge/security/ir.model.access.csv create mode 100644 maintenance_equipment_charge/tests/__init__.py create mode 100644 maintenance_equipment_charge/tests/test_maintenance_usage.py create mode 100644 maintenance_equipment_charge/views/maintenance_views.xml diff --git a/maintenance_equipment_charge/__init__.py b/maintenance_equipment_charge/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/maintenance_equipment_charge/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/maintenance_equipment_charge/__manifest__.py b/maintenance_equipment_charge/__manifest__.py new file mode 100644 index 00000000..83c833ff --- /dev/null +++ b/maintenance_equipment_charge/__manifest__.py @@ -0,0 +1,23 @@ +{ + 'name': 'Equipment Charges', + 'version': '11.0.1.0.0', + 'author': 'Hibou Corp. ', + 'category': 'Human Resources', + 'summary': 'Record related equipment charges.', + 'description': """ +Equipment Charges +================= + +Record related equipment charges, for example fuel charges. +""", + 'website': 'https://www.odoo.com/page/manufacturing', + 'depends': [ + 'hr_maintenance', + ], + 'data': [ + 'security/ir.model.access.csv', + 'views/maintenance_views.xml', + ], + 'installable': True, + 'auto_install': False, +} diff --git a/maintenance_equipment_charge/models/__init__.py b/maintenance_equipment_charge/models/__init__.py new file mode 100644 index 00000000..12bf298f --- /dev/null +++ b/maintenance_equipment_charge/models/__init__.py @@ -0,0 +1 @@ +from . import maintenance diff --git a/maintenance_equipment_charge/models/maintenance.py b/maintenance_equipment_charge/models/maintenance.py new file mode 100644 index 00000000..8ca32e7c --- /dev/null +++ b/maintenance_equipment_charge/models/maintenance.py @@ -0,0 +1,46 @@ +from odoo import api, fields, models + + +class EquipmentChargeType(models.Model): + _name = 'maintenance.equipment.charge.type' + + name = fields.Char(string='Charge Type') + uom_id = fields.Many2one('product.uom', string='Charge UOM') + + +class Equipment(models.Model): + _inherit = 'maintenance.equipment' + + charge_ids = fields.One2many('maintenance.equipment.charge', 'equipment_id', 'Charges', copy=False) + charge_count = fields.Integer(string='Charges', compute='_compute_charge_count') + + @api.multi + def _compute_charge_count(self): + for equipment in self: + self.charge_count = len(equipment.charge_ids) + + def action_open_charges(self): + self.ensure_one() + action = self.env.ref('maintenance_equipment_charge.maintenance_charge_action_reports').read()[0] + action['domain'] = [('equipment_id', '=', self.id)] + action['context'] = { + 'default_equipment_id': self.id, + 'default_employee_id': self.employee_id.id, + 'default_department_id': self.department_id.id, + } + return action + + +class EquipmentCharge(models.Model): + _name = 'maintenance.equipment.charge' + _order = 'date DESC' + + name = fields.Char(string='Description') + date = fields.Date(string='Date', default=fields.Date.today, index=True) + equipment_id = fields.Many2one('maintenance.equipment', copy=False) + type_id = fields.Many2one('maintenance.equipment.charge.type', string='Type') + employee_id = fields.Many2one('hr.employee', string='Employee') + department_id = fields.Many2one('hr.department', string='Department') + qty = fields.Float(string='Quantity', default=1.0) + uom_id = fields.Many2one('product.uom', related='type_id.uom_id') + amount = fields.Float(string='Amount') diff --git a/maintenance_equipment_charge/security/ir.model.access.csv b/maintenance_equipment_charge/security/ir.model.access.csv new file mode 100644 index 00000000..0cc16007 --- /dev/null +++ b/maintenance_equipment_charge/security/ir.model.access.csv @@ -0,0 +1,5 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"manage_maintenance_equipment_charge","manage maintenance.equipment.charge","model_maintenance_equipment_charge","stock.group_stock_manager",1,1,1,1 +"access_maintenance_equipment_charge","access maintenance.equipment.charge","model_maintenance_equipment_charge","base.group_user",1,0,1,0 +"manage_maintenance_equipment_charge_type","manage maintenance.equipment.charge.type","model_maintenance_equipment_charge_type","stock.group_stock_manager",1,1,1,1 +"access_maintenance_equipment_charge_type","access maintenance.equipment.charge.type","model_maintenance_equipment_charge_type","base.group_user",1,0,1,0 \ No newline at end of file diff --git a/maintenance_equipment_charge/tests/__init__.py b/maintenance_equipment_charge/tests/__init__.py new file mode 100644 index 00000000..bd38ce7a --- /dev/null +++ b/maintenance_equipment_charge/tests/__init__.py @@ -0,0 +1 @@ +from . import test_maintenance_usage diff --git a/maintenance_equipment_charge/tests/test_maintenance_usage.py b/maintenance_equipment_charge/tests/test_maintenance_usage.py new file mode 100644 index 00000000..fd60a160 --- /dev/null +++ b/maintenance_equipment_charge/tests/test_maintenance_usage.py @@ -0,0 +1,21 @@ +from odoo.tests import common + + +class TestMaintenanceCharge(common.TransactionCase): + """Tests for charges + """ + + def test_create(self): + test_charge = 21.0 + equipment = self.env['maintenance.equipment'].create({ + 'name': 'Monitor', + }) + + self.assertFalse(equipment.charge_ids) + self.env['maintenance.equipment.charge'].create({ + 'equipment_id': equipment.id, + 'name': 'test', + 'amount': test_charge, + }) + self.assertTrue(equipment.charge_ids) + self.assertAlmostEqual(equipment.charge_ids[0].amount, test_charge) diff --git a/maintenance_equipment_charge/views/maintenance_views.xml b/maintenance_equipment_charge/views/maintenance_views.xml new file mode 100644 index 00000000..00379d1c --- /dev/null +++ b/maintenance_equipment_charge/views/maintenance_views.xml @@ -0,0 +1,184 @@ + + + + Other + + + + equipment.form.inherited + maintenance.equipment + + + + + + + + + + + equipment.charge.search + maintenance.equipment.charge + + + + + + + + + + + + + + + + + + + equipment.charge.form + maintenance.equipment.charge + +
+
+ + + + + + + + + + + + + + + + + + + equipment.charge.tree + maintenance.equipment.charge + + + + + + + + + + + + + + + equipment.charge.graph + maintenance.equipment.charge + + + + + + + + + + + equipment.charge.pivot + maintenance.equipment.charge + + + + + + + + + + + equipment.charge.calendar + maintenance.equipment.charge + + + + + + + + + + + Equipment Charges + maintenance.equipment.charge + tree,form,graph,pivot,calendar + +

+ No charges. +

+
+
+ + + + + + equipment.charge.type.form + maintenance.equipment.charge.type + +
+
+ + + + + + + + + + + + + + equipment.charge.type.tree + maintenance.equipment.charge.type + + + + + + + + + + + Equipment Charge Types + maintenance.equipment.charge.type + tree,form + + + + \ No newline at end of file From 5140bb81e456dfac5aadb25065c352f4a8880cda Mon Sep 17 00:00:00 2001 From: Kristen Marie Kulha Date: Fri, 8 Jun 2018 15:40:40 -0700 Subject: [PATCH 2/4] Add 'stock' to depends. --- maintenance_equipment_charge/__manifest__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/maintenance_equipment_charge/__manifest__.py b/maintenance_equipment_charge/__manifest__.py index 83c833ff..e862db98 100644 --- a/maintenance_equipment_charge/__manifest__.py +++ b/maintenance_equipment_charge/__manifest__.py @@ -13,6 +13,7 @@ Record related equipment charges, for example fuel charges. 'website': 'https://www.odoo.com/page/manufacturing', 'depends': [ 'hr_maintenance', + 'stock' ], 'data': [ 'security/ir.model.access.csv', From 12ec70f490313191712ec94c84b51a9e431ce7cf Mon Sep 17 00:00:00 2001 From: Kristen Marie Kulha Date: Fri, 8 Jun 2018 16:43:46 -0700 Subject: [PATCH 3/4] Add REAME --- maintenance_equipment_charge/README.rst | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 maintenance_equipment_charge/README.rst diff --git a/maintenance_equipment_charge/README.rst b/maintenance_equipment_charge/README.rst new file mode 100644 index 00000000..de089dd7 --- /dev/null +++ b/maintenance_equipment_charge/README.rst @@ -0,0 +1,42 @@ +************************************ +Hibou - Maintenance Equipment Charge +************************************ + +Record related equipment charges, for example fuel charges. + +For more information and add-ons, visit `Hibou.io `_. + + +============= +Main Features +============= + +* New Models: Equipment Charge and Equipment Charge Type +* New smart button on the equipment form view for Charges. +* Adds Equipment Charge views: form, tree, graph, pivot and calendar. +* Adds filters to group equipment charges by: Charge Type, Equipment, Employee and Department. +* By default, **Employees** have the ability to create and view **Charges** and **Charge Types**, while **Inventory Managers** have the ability to update and delete them. + +.. image:: https://user-images.githubusercontent.com/15882954/41184422-143b5cc4-6b35-11e8-9dcc-6c16ac31b869.png + :alt: 'Equipment Detail' + :width: 988 + :align: left + +.. image:: https://user-images.githubusercontent.com/15882954/41184430-27f2c586-6b35-11e8-94f4-9b4efa1fcfe9.png + :alt: 'Equipment Charges Detail' + :width: 988 + :align: left + +.. image:: https://user-images.githubusercontent.com/15882954/41184451-3ee3cc18-6b35-11e8-9488-445538501be8.png + :alt: 'Equipment Charge Detail' + :width: 988 + :align: left + + +======= +License +======= + +Please see `LICENSE `_. + +Copyright Hibou Corp. 2018 From 5c0e65ecdc6bc92cadb83e9f109deb05331463cf Mon Sep 17 00:00:00 2001 From: Bhoomi Date: Wed, 11 Dec 2019 12:04:44 -0500 Subject: [PATCH 4/4] MIG `maintenance_equipment_charge` For Odoo 12.0 --- maintenance_equipment_charge/__manifest__.py | 2 +- maintenance_equipment_charge/models/maintenance.py | 4 ++-- .../views/maintenance_views.xml | 11 +++++------ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/maintenance_equipment_charge/__manifest__.py b/maintenance_equipment_charge/__manifest__.py index e862db98..a397db71 100644 --- a/maintenance_equipment_charge/__manifest__.py +++ b/maintenance_equipment_charge/__manifest__.py @@ -1,6 +1,6 @@ { 'name': 'Equipment Charges', - 'version': '11.0.1.0.0', + 'version': '12.0.1.0.0', 'author': 'Hibou Corp. ', 'category': 'Human Resources', 'summary': 'Record related equipment charges.', diff --git a/maintenance_equipment_charge/models/maintenance.py b/maintenance_equipment_charge/models/maintenance.py index 8ca32e7c..278f8f50 100644 --- a/maintenance_equipment_charge/models/maintenance.py +++ b/maintenance_equipment_charge/models/maintenance.py @@ -5,7 +5,7 @@ class EquipmentChargeType(models.Model): _name = 'maintenance.equipment.charge.type' name = fields.Char(string='Charge Type') - uom_id = fields.Many2one('product.uom', string='Charge UOM') + uom_id = fields.Many2one('uom.uom', string='Charge UOM') class Equipment(models.Model): @@ -42,5 +42,5 @@ class EquipmentCharge(models.Model): employee_id = fields.Many2one('hr.employee', string='Employee') department_id = fields.Many2one('hr.department', string='Department') qty = fields.Float(string='Quantity', default=1.0) - uom_id = fields.Many2one('product.uom', related='type_id.uom_id') + uom_id = fields.Many2one('uom.uom', related='type_id.uom_id') amount = fields.Float(string='Amount') diff --git a/maintenance_equipment_charge/views/maintenance_views.xml b/maintenance_equipment_charge/views/maintenance_views.xml index 00379d1c..43ce2b45 100644 --- a/maintenance_equipment_charge/views/maintenance_views.xml +++ b/maintenance_equipment_charge/views/maintenance_views.xml @@ -31,12 +31,11 @@ - - - - - - + + + + +