diff --git a/__init__.py b/__init__.py index 5edd36403807a90b841ae274fb0f26ae33f64073..a5e7e1d4f02807b492d1626a2f84c5ba769474b3 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 0000000000000000000000000000000000000000..a2414a159c5b62f2dea848852c637fdf8db01d09 --- /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 c408d7e3eb8242df866b708f7d755132c3e67378..9248cd186d76ccd361fe596cf6b61e2e45205589 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 0000000000000000000000000000000000000000..e0dee6baa95c8fb46b3f8f0c0c57416cacc71eb8 --- /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 f059211501e13359bbf7d2c6e025d6237932934a..23b47d4a6e9abc64b5b015868e5f16484909a037 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>