diff --git a/okr_management/__init__.py b/okr_management/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/okr_management/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/okr_management/__manifest__.py b/okr_management/__manifest__.py new file mode 100644 index 00000000..81445d5d --- /dev/null +++ b/okr_management/__manifest__.py @@ -0,0 +1,21 @@ +{ + 'name': 'Okr', + 'version': "17.0.1.0.0", + 'category': 'Projects & Services', + 'sequence': 14, + 'summary': '', + 'author': 'ADHOC SA', + 'website': 'www.adhoc.com.ar', + 'license': 'AGPL-3', + 'images': [ + ], + 'depends': [ + ], + 'data': [ + 'security/ir.model.access.csv', + 'views/okr_management_views.xml', + ], + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/okr_management/models/__init__.py b/okr_management/models/__init__.py new file mode 100644 index 00000000..bbd6293c --- /dev/null +++ b/okr_management/models/__init__.py @@ -0,0 +1,2 @@ +from . import okr_management +from . import okr_key_result diff --git a/okr_management/models/okr_key_result.py b/okr_management/models/okr_key_result.py new file mode 100644 index 00000000..5bcbf8c2 --- /dev/null +++ b/okr_management/models/okr_key_result.py @@ -0,0 +1,27 @@ +from odoo import models, fields, api +from odoo.exceptions import UserError + +class OkrKeyResult(models.Model): + _name = 'okr.key.result' + _description = 'Okr Key Result' + + name = fields.Char() + description = fields.Text() + objective =fields.Text() + user_ids = fields.Many2one( + 'res.users', + ) + progress= fields.Integer( + compute='_compute_okr_progress', + store = False, + ) + importance = fields.Integer()#importancia dentro del kr + target = fields.Integer()#objetivo esperado + + @api.depends('peso', 'target') + def _compute_okr_progress(self): + #mejorar codigo + prog = 0 + for rec in self: + if rec.importance and rec.target: + prog = rec.importance \ No newline at end of file diff --git a/okr_management/models/okr_management.py b/okr_management/models/okr_management.py new file mode 100644 index 00000000..2edaee88 --- /dev/null +++ b/okr_management/models/okr_management.py @@ -0,0 +1,25 @@ +from odoo import models, fields, api +from odoo.exceptions import UserError + +class OkrManagement(models.Model): + _name = 'okr.management' + _description = 'Okr management' + + name = fields.Char() + description = fields.Text() + user_ids = fields.Many2many( + comodel_name='res.users', + ) + progress= fields.Integer( + compute='_compute_okr_progress', + store = False, + ) + okr_type = fields.Selection( + selection=[ + ('commitment', 'Commitment'), + ('inspiracional', 'Inspiracional'), + ], + ) + result = fields.Float() + action_plan = fields.Text() + comments = fields.Text() diff --git a/okr_management/security/ir.model.access.csv b/okr_management/security/ir.model.access.csv new file mode 100644 index 00000000..3b7dca63 --- /dev/null +++ b/okr_management/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_okr_management,access_okr_management,model_okr_management,base.group_user,1,1,1,1 +access_okr_key_result,access_okr_key_result,model_okr_key_result,base.group_user,1,1,1,1 diff --git a/okr_management/views/okr_management_views.xml b/okr_management/views/okr_management_views.xml new file mode 100644 index 00000000..84d60a2d --- /dev/null +++ b/okr_management/views/okr_management_views.xml @@ -0,0 +1,47 @@ + + + + okr.management.tree + okr.management + + + + + + + + + + + okr.management.form + okr.management + +
+ + + + + + +
+ + + okr.management.search + okr.management + + + + + + + + + okr management + okr.management + + tree,form + + + + +