From 6d93104c45e2e0a2b9c7253477ee2520c598c546 Mon Sep 17 00:00:00 2001 From: Benjamin <Benjamin@MBP-de-Benj.(none)> Date: Mon, 25 Sep 2017 17:19:54 +0200 Subject: [PATCH] ajout configuration nombre d'heures --- __init__.py | 4 +++- models/__init__.py | 4 ++++ .../lefilament_projets.py | 8 +++++--- models/res_config.py | 15 +++++++++++++++ views/lefilament_projets_view.xml | 12 ++++++++++++ 5 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 models/__init__.py rename lefilament_projets.py => models/lefilament_projets.py (85%) create mode 100644 models/res_config.py diff --git a/__init__.py b/__init__.py index 5edd364..a5e7e1d 100644 --- a/__init__.py +++ b/__init__.py @@ -1 +1,3 @@ -from . import lefilament_projets \ No newline at end of file +# -*- coding: utf-8 -*- + +import models \ No newline at end of file diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..a2414a1 --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +import lefilament_projets +import res_config \ No newline at end of file diff --git a/lefilament_projets.py b/models/lefilament_projets.py similarity index 85% rename from lefilament_projets.py rename to models/lefilament_projets.py index c408d7e..9248cd1 100644 --- a/lefilament_projets.py +++ b/models/lefilament_projets.py @@ -18,12 +18,13 @@ class FilamentProjet(models.Model): lf_heures_restantes = fields.Float('Restant (h)', compute='_total_heures_restantes') lf_heures_planifiees = fields.Float('Planifiées (h)', compute='_total_heures_planifiees') lf_couts_annexes = fields.Float('Coûts Annexes', compute='_couts_annexes') - lf_couts_estimes = fields.Float('Coûts Estimes') + lf_couts_estimes = fields.Float('Coûts Estimés') lf_commentaire = fields.Text('Commentaires') @api.one def _taux_horaire(self): - self.lf_taux_horaire = self.lf_tarif_jour / 8 + lf_heures_jour = self.env['project.config.settings'].search([], limit=1, order='id desc').lf_heures_jour + self.lf_taux_horaire = self.lf_tarif_jour / lf_heures_jour @api.one def _total_heures_passees(self): @@ -63,8 +64,9 @@ class FilamentProjet(models.Model): @api.one def _total_heures(self): + lf_heures_jour = self.env['project.config.settings'].search([], limit=1, order='id desc').lf_heures_jour if (self.lf_tarif_jour != 0.0): - self.lf_heures_projet = (self.lf_heures_budget / self.lf_tarif_jour) * 8 + self.lf_heures_projet = (self.lf_heures_budget / self.lf_tarif_jour) * lf_heures_jour else: self.lf_heures_projet = 0.0 diff --git a/models/res_config.py b/models/res_config.py new file mode 100644 index 0000000..e0dee6b --- /dev/null +++ b/models/res_config.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + +class ProjectLFConfiguration(models.TransientModel): + _name = 'project.config.settings' + _inherit = 'project.config.settings' + + lf_heures_jour = fields.Float('Heures / Jour', help="Base de temps pour le calcul du nombre d'heures vendues par projet (7h par défaut)", default=7.0 ) + + @api.multi + def get_default_lf_heures_jour(self, field): + lf_heures_jour = self.env['project.config.settings'].search([], limit=1, order='id desc').lf_heures_jour + return { 'lf_heures_jour': lf_heures_jour if lf_heures_jour else 7.0 } + \ No newline at end of file diff --git a/views/lefilament_projets_view.xml b/views/lefilament_projets_view.xml index f059211..23b47d4 100644 --- a/views/lefilament_projets_view.xml +++ b/views/lefilament_projets_view.xml @@ -118,5 +118,17 @@ </field> </record> + + <record id="view_lf_project_config_settings" model="ir.ui.view"> + <field name="name">project lf settings</field> + <field name="model">project.config.settings</field> + <field name="inherit_id" ref="project.view_config_settings"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='module_rating_project']" position="after"> + <field name="lf_heures_jour" class="oe_inline oe_text_right" /> + </xpath> + </field> + </record> + </data> </odoo> -- GitLab