Skip to content

Commit f9ce579

Browse files
committed
[NEW]okr_management: new module
1 parent 25bf652 commit f9ce579

7 files changed

Lines changed: 74 additions & 0 deletions

File tree

okr_management/__init__.py

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

okr_management/__manifest__.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
'name': 'OKR Management',
3+
'version': '17.0.1.0',
4+
'description': 'Module destined for Adhoc OKR Management',
5+
'summary': '',
6+
'author': 'Alexis Lopez',
7+
'website': '',
8+
'license': 'LGPL-3',
9+
'category': '',
10+
'depends': [
11+
'base','hr'
12+
],
13+
'data': [
14+
'security/ir.model.access.csv',
15+
'views/okr_management.xml'
16+
],
17+
'demo': [
18+
''
19+
],
20+
'auto_install': False,
21+
'installable': True,
22+
'application': False,
23+
}

okr_management/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import okr_management
2+
from . import okr_objective
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from odoo import fields, models, api
2+
from odoo.exceptions import UserError
3+
4+
class OkrManagement(models.Model):
5+
_name = 'okr.management'
6+
_description = 'Management of Adhoc okr'
7+
8+
name = fields.Char()
9+
objective = fields.Text()
10+
user_ids = fields.Many2many(comodel_name='res.users')
11+
okr_type = fields.Selection(selection=[('insp', 'Inspirational'),('comm','Commitment')])
12+
progress = fields.Integer(compute='_compute_okr_progress', store=False)
13+
target = fields.Integer()
14+
result = fields.Float()
15+
action_plan = fields.Text()
16+
comments = fields.Text()
17+
18+
def _compute_okr_progress(self):
19+
for rec in self:
20+
if rec.result and rec.target and rec.target != 0:
21+
rec.progress = (rec.result / rec.target) * 100
22+
else:
23+
rec.progress = 0
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from odoo import api, fields, models
2+
3+
class OkrObjective(models.Model):
4+
_name = 'okr.objective'
5+
_description = 'Okr objectives for current Q'
6+
7+
name = fields.Char()
8+
description = fields.Char()
9+
date_start = fields.Date()
10+
date_end = fields.Date()
11+
teams_ids = fields.Many2one('hr.department')
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_okr_objective,access_okr_objective,model_okr_objective,base.group_user,1,1,1,1
3+
access_okr_management,access_okr_management,model_okr_management,base.group_user,1,1,1,1
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
4+
<data>
5+
6+
<!-- TODO: completar las vistas -->
7+
8+
</data>
9+
10+
11+
</odoo>

0 commit comments

Comments
 (0)