Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
168 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Copyright (C) 2019 Open Source Integrators | ||
# Copyright (C) 2019 Serpent Consulting Services | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
{ | ||
"name": 'Field Service with Operating Units', | ||
"summary": """ | ||
This module adds operating unit information to Field Service orders.""", | ||
"version": "12.0.1.0.0", | ||
"author": "Open Source Integrators, " | ||
"Serpent Consulting Services Pvt. Ltd.," | ||
"Odoo Community Association (OCA)", | ||
"website": "https://github.com/OCA/operating-unit", | ||
"category": "Field Service", | ||
"depends": [ | ||
'operating_unit', | ||
'fieldservice' | ||
], | ||
"license": "AGPL-3", | ||
"data": [ | ||
'security/fieldservice_security.xml', | ||
'views/fsm_order.xml', | ||
], | ||
'installable': True, | ||
'development_status': 'Beta', | ||
'maintainers': [ | ||
'max3903', | ||
], | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
from . import fsm_order |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Copyright (C) 2019 Open Source Integrators | ||
# Copyright (C) 2019 Serpent Consulting Services | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
from odoo import fields, models | ||
|
||
|
||
class FSMOrder(models.Model): | ||
_inherit = 'fsm.order' | ||
|
||
operating_unit_id = fields.Many2one( | ||
comodel_name='operating.unit', | ||
string='Operating Unit', | ||
default=lambda self: self.env['res.users'].operating_unit_default_get( | ||
self._uid) | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
* Nikul Chaudhary <nikul.chaudhary.serpentcs@gmail.com> | ||
* Maxime Chambreuil <mchambreuil@opensourceintegrators.com> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
* Open Source Integrators | ||
* Serpent Consulting Services Pvt. Ltd. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This module adds operating unit information to Field Service orders. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
* Go to Field Service | ||
* You only see the FSM orders of your operating units | ||
* Create an order. It is assigned to your default operating unit. |
19 changes: 19 additions & 0 deletions
19
fieldservice_operating_unit/security/fieldservice_security.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<odoo> | ||
|
||
<!-- Copyright (C) 2019 Open Source Integrators | ||
Copyright (C) 2019 Serpent Consulting Services | ||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> | ||
|
||
<record id="ir_rule_fieldservice_operating_unit" model="ir.rule"> | ||
<field name="model_id" ref="fieldservice.model_fsm_order"/> | ||
<field name="domain_force">['|', ('operating_unit_id','=',False), ('operating_unit_id','in',user.operating_unit_ids.ids)] | ||
</field> | ||
<field name="name">Field Service Operating Unit</field> | ||
<field name="global" eval="True"/> | ||
<field eval="0" name="perm_unlink"/> | ||
<field eval="0" name="perm_write"/> | ||
<field eval="1" name="perm_read"/> | ||
<field eval="0" name="perm_create"/> | ||
</record> | ||
|
||
</odoo> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
from . import test_fieldservice_operating_unit |
73 changes: 73 additions & 0 deletions
73
fieldservice_operating_unit/tests/test_fieldservice_operating_unit.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Copyright (C) 2019 Open Source Integrators | ||
# Copyright (C) 2019 Serpent Consulting Services | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
from odoo.tests import common | ||
from datetime import timedelta | ||
from odoo import fields | ||
|
||
|
||
class TestFSMOrder(common.TransactionCase): | ||
|
||
def setUp(self): | ||
super(TestFSMOrder, self).setUp() | ||
self.fsm_order_obj = self.env['fsm.order'] | ||
self.res_users_model = self.env['res.users'] | ||
self.test_location = self.env.ref('fieldservice.test_location') | ||
|
||
# Groups | ||
self.grp_fieldservice_mngr =\ | ||
self.env.ref('fieldservice.group_fsm_manager') | ||
self.grp_user = self.env.ref('base.group_user') | ||
# Company | ||
self.company = self.env.ref('base.main_company') | ||
# Main Operating Unit | ||
self.main_OU = self.env.ref('operating_unit.main_operating_unit') | ||
# B2C Operating Unit | ||
self.b2c_OU = self.env.ref('operating_unit.b2c_operating_unit') | ||
# Create User 1 with Main OU | ||
self.user1 = self._create_user('user_1', [self.grp_fieldservice_mngr, | ||
self.grp_user], | ||
self.company, [self.main_OU]) | ||
# Create User 2 with B2C OU | ||
self.user2 = self._create_user('user_2', [self.grp_fieldservice_mngr, | ||
self.grp_user], | ||
self.company, [self.b2c_OU]) | ||
|
||
self.fsm_order1 = self._create_fsm_order(self.user1, self.main_OU) | ||
self.fsm_order2 = self._create_fsm_order(self.user2, self.b2c_OU) | ||
|
||
def _create_user(self, login, groups, company, operating_units): | ||
""" Create a user. """ | ||
group_ids = [group.id for group in groups] | ||
user = self.res_users_model.create({ | ||
'name': login, | ||
'login': login, | ||
'password': 'demo', | ||
'email': 'test@yourcompany.com', | ||
'company_id': company.id, | ||
'company_ids': [(4, company.id)], | ||
'operating_unit_ids': [(4, ou.id) for ou in operating_units], | ||
'groups_id': [(6, 0, group_ids)] | ||
}) | ||
return user | ||
|
||
def _create_fsm_order(self, uid, operating_unit): | ||
fsm_order = self.fsm_order_obj.sudo(uid).create({ | ||
'location_id': self.test_location.id, | ||
'operating_unit_id': operating_unit.id, | ||
'date_start': fields.Datetime.today(), | ||
'date_end': fields.Datetime.today() + timedelta(hours=100), | ||
'request_early': fields.Datetime.today() | ||
}) | ||
return fsm_order | ||
|
||
def test_fsm_order(self): | ||
# User 2 is only assigned to B2C Operating Unit, and cannot | ||
# access FSM Orders for Main Operating Unit. | ||
fsm_orders = self.fsm_order_obj.sudo(self.user2.id).search( | ||
[('id', '=', self.fsm_order2.id), | ||
('operating_unit_id', '=', self.main_OU.id)]) | ||
self.assertEqual(fsm_orders.ids, [], 'User 2 should not have access to ' | ||
'%s' % self.main_OU.name) | ||
|
||
self.assertEqual(self.fsm_order1.operating_unit_id.id, self.main_OU.id) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<odoo> | ||
<!-- Copyright (C) 2019 Open Source Integrators | ||
Copyright (C) 2019 Serpent Consulting Services | ||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> | ||
|
||
<record id="view_fsm_order_form_inherit" model="ir.ui.view"> | ||
<field name="name">fsm.order.form</field> | ||
<field name="model">fsm.order</field> | ||
<field name="inherit_id" ref="fieldservice.fsm_order_form"/> | ||
<field name="arch" type="xml"> | ||
<field name="type" position="after"> | ||
<field name="operating_unit_id"/> | ||
</field> | ||
</field> | ||
</record> | ||
|
||
</odoo> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# list the OCA project dependencies, one per line | ||
# add a github url if you need a forked version | ||
purchase-workflow | ||
field-service |