Skip to content

Commit b48b94c

Browse files
committed
[MIG] okr_module: Migration to 17.0
1 parent 828d113 commit b48b94c

File tree

6 files changed

+86
-15
lines changed

6 files changed

+86
-15
lines changed

okr_module/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from . import models
1+
from . import models

okr_module/__manifest__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
'name': 'OKR Module',
3-
'version': '16.0.1.0.0',
3+
'version': "17.0.1.0.0",
44
'category': 'Base',
55
'sequence': 14,
66
'summary': '',
@@ -9,7 +9,7 @@
99
'license': 'AGPL-3',
1010
'images': [
1111
],
12-
'depends': [
12+
'depends': ['contacts'
1313
],
1414
'data': ['security/ir.model.access.csv',
1515
'views/okr_base.xml',
@@ -20,4 +20,4 @@
2020
'installable': True,
2121
'auto_install': False,
2222
'application': True,
23-
}
23+
}

okr_module/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from . import okr_base
1+
from . import okr_base

okr_module/models/okr_base.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,25 @@ class OkrBase(models.Model):
44
_description = 'OKR BASE'
55
_name = "okr.base"
66

7-
name = fields.Char()
7+
name = fields.Char(required=True)
8+
description = fields.Char()
9+
user_id = fields.Many2one('res.users')
810
completed_percentage = fields.Float(compute='_compute_completed_percentage')
11+
type = fields.Selection(selection=[('commitment', 'commitment'),('inspirational', 'inspirational')], required=True)
912
kr_line_ids = fields.One2many('okr.base.line', 'okr_base_id')
1013

1114
def _compute_completed_percentage(self):
1215
for kr in self:
1316
if kr.kr_line_ids:
14-
cum = 0
15-
cant = 0
17+
w_cum = 0
18+
sum_weigh = 0
1619
for krl in kr.kr_line_ids:
17-
cum += krl.completed_percentage
18-
cant += 1
19-
kr.completed_percentage = cum/cant
20+
w_cum += krl.completed_percentage*krl.weight
21+
sum_weigh += krl.weight
22+
if sum_weigh>0:
23+
kr.completed_percentage = w_cum/sum_weigh
24+
else:
25+
kr.completed_percentage = 0
2026
else:
2127
kr.completed_percentage = 0
2228

@@ -27,8 +33,11 @@ class OkrBaseLine(models.Model):
2733
_name = "okr.base.line"
2834

2935
name = fields.Char()
36+
description = fields.Char()
37+
user_id = fields.Many2one('res.users')
3038
okr_base_id = fields.Many2one(comodel_name='okr.base', required=True)
3139
actual_value = fields.Float()
40+
weight = fields.Float()
3241
target = fields.Float()
3342
completed_percentage = fields.Float(compute='_compute_completed_percentage_line')
3443

@@ -39,4 +48,3 @@ def _compute_completed_percentage_line(self):
3948
kr.completed_percentage = (kr.actual_value/kr.target)
4049
else:
4150
kr.completed_percentage = 1
42-

okr_module/views/menu.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,10 @@
1010
action="okr_menu_action"
1111
parent="okr_menu"
1212
sequence="10"/>
13+
<menuitem
14+
id="okr_line"
15+
name="OKR lines"
16+
action="okr_line_menu_action"
17+
parent="okr_menu"
18+
sequence="20"/>
1319
</odoo>

okr_module/views/okr_base.xml

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,20 @@
66
<field name="arch" type="xml">
77
<tree create="1">
88
<field name="name"/>
9+
<field name="user_id" string="User in charge"/>
10+
<field name="completed_percentage"/>
11+
</tree>
12+
</field>
13+
</record>
14+
15+
<record id="tree_okr_base_line" model="ir.ui.view">
16+
<field name="name">Tree OKR Line</field>
17+
<field name="model">okr.base.line</field>
18+
<field name="arch" type="xml">
19+
<tree create="1">
20+
<field name="name"/>
21+
<field name="okr_base_id" string="Main OKR"/>
22+
<field name="user_id" string="User in charge"/>
923
<field name="completed_percentage"/>
1024
</tree>
1125
</field>
@@ -16,20 +30,54 @@
1630
<field name="model">okr.base</field>
1731
<field name="arch" type="xml">
1832
<form create="1">
19-
<field name="name"/>
20-
<field name="completed_percentage"/>
33+
<group>
34+
<group>
35+
<field name="name"/>
36+
<field name="type"/>
37+
<field name="user_id"/>
38+
<field name="completed_percentage"/>
39+
</group>
40+
</group>
2141
<field name="kr_line_ids">
2242
<tree create="1">
2343
<field name="name"/>
2444
<field name="actual_value"/>
2545
<field name="target"/>
2646
<field name="completed_percentage"/>
47+
<field name="weight"/>
48+
<field name="user_id"/>
2749
</tree>
2850
</field>
2951
</form>
3052
</field>
3153
</record>
3254

55+
<record id="okr_base_search" model="ir.ui.view">
56+
<field name="name">okr.base.search_view</field>
57+
<field name="model">okr.base</field>
58+
<field name="arch" type="xml">
59+
<search>
60+
<group expand="0" string="Group By">
61+
<filter string="User in Charge" name="user_id" domain="[]" context="{'group_by':'user_id'}"/>
62+
</group>
63+
</search>
64+
</field>
65+
</record>
66+
67+
<record id="okr_base_line_search" model="ir.ui.view">
68+
<field name="name">okr.base.line.search_view</field>
69+
<field name="model">okr.base.line</field>
70+
<field name="arch" type="xml">
71+
<search>
72+
<filter name="user_id"/>
73+
<group expand="0" string="Group By">
74+
<filter string="Main OKR" name="okr_base_id" domain="[]" context="{'group_by':'okr_base_id'}"/>
75+
<filter string="User in Charge" name="user_id" domain="[]" context="{'group_by':'user_id'}"/>
76+
</group>
77+
</search>
78+
</field>
79+
</record>
80+
3381
<record id="okr_menu_action" model="ir.actions.act_window">
3482
<field name="name">Menu OKR</field>
3583
<field name="res_model">okr.base</field>
@@ -39,5 +87,14 @@
3987
<p class="oe_view_nocontent_create">Segui tus OKR</p>
4088
</field>
4189
</record>
90+
<record id="okr_line_menu_action" model="ir.actions.act_window">
91+
<field name="name">OKR lines</field>
92+
<field name="res_model">okr.base.line</field>
93+
<field name="view_mode">tree,form</field>
94+
<field name="domain">[]</field>
95+
<field name="help" type="html">
96+
<p class="oe_view_nocontent_create">Segui tus OKR</p>
97+
</field>
98+
</record>
4299

43-
</odoo>
100+
</odoo>

0 commit comments

Comments
 (0)