Skip to content
Extraits de code Groupes Projets

Correction Monetary, reorder des tab et ajout messages incoherence emprunt et surface

4 files
+ 210
130
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 59
22
@@ -124,42 +124,36 @@ class CgscopOfiDemande(models.Model):
@@ -124,42 +124,36 @@ class CgscopOfiDemande(models.Model):
bat_date_construction = fields.Date(string="Date de construction", tracking=1)
bat_date_construction = fields.Date(string="Date de construction", tracking=1)
fi_acquisition_montant = fields.Monetary(
fi_acquisition_montant = fields.Float(
string="Prix d'acquisition",
string="Prix d'acquisition",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_acquisition_date = fields.Date(string="Date d'acquisition", tracking=1)
fi_acquisition_date = fields.Date(string="Date d'acquisition", tracking=1)
fi_acquisition_frais = fields.Monetary(
fi_acquisition_frais = fields.Float(
string="Frais d'acquisition",
string="Frais d'acquisition",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_acquisition_autres_frais = fields.Monetary(
fi_acquisition_autres_frais = fields.Float(
string="Frais d'études, Audit, ...",
string="Frais d'études, Audit, ...",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_acquisition_cout = fields.Monetary(
fi_acquisition_cout = fields.Float(
string="Cout d'acquisition",
string="Cout d'acquisition",
currency_field="currency_id",
compute="_compute_fi_acquisition_cout",
compute="_compute_fi_acquisition_cout",
store=True,
store=True,
)
)
fi_investissements = fields.Monetary(
fi_investissements = fields.Float(
string="Investissements complémentaires",
string="Investissements complémentaires",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_programme_cout = fields.Monetary(
fi_programme_cout = fields.Float(
string="Cout total du programme",
string="Cout total du programme",
currency_field="currency_id",
compute="_compute_fi_programme_cout",
compute="_compute_fi_programme_cout",
store=True,
store=True,
)
)
@@ -168,38 +162,45 @@ class CgscopOfiDemande(models.Model):
@@ -168,38 +162,45 @@ class CgscopOfiDemande(models.Model):
string="Description des investissements", tracking=1
string="Description des investissements", tracking=1
)
)
fi_apport_ofi = fields.Monetary(
fi_apport_ofi = fields.Float(
string="Apport de l'OFI",
string="Apport de l'OFI",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_apport_ur = fields.Monetary(
fi_apport_ur = fields.Float(
string="Apport de l'UR",
string="Apport de l'UR",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_apport_tiers = fields.Monetary(
fi_apport_tiers = fields.Float(
string="Apport de tiers",
string="Apport de tiers",
currency_field="currency_id",
tracking=1,
tracking=1,
)
)
fi_apport_mvt = fields.Monetary(
fi_apport_mvt = fields.Float(
string="Apport du mouvement",
string="Apport du mouvement",
currency_field="currency_id",
compute="_compute_fi_apport_mvt",
compute="_compute_fi_apport_mvt",
store=True,
store=True,
)
)
fi_apport_emprunt = fields.Monetary(
fi_apport_emprunt = fields.Float(
string="Total emprunts",
string="Total emprunts",
currency_field="currency_id",
compute="_compute_fi_apport_emprunt",
compute="_compute_fi_apport_emprunt",
store=True,
store=True,
)
)
 
fi_apport_besoin_financement = fields.Float(
 
string="Besoin de financement",
 
compute="_compute_fi_apport_besoin_financement",
 
store=True,
 
)
 
 
fi_emprunt_ok = fields.Boolean(
 
string="Financement Ok",
 
compute="_compute_fi_emprunt_ok",
 
store=False,
 
)
 
partner_ids = fields.Many2many(
partner_ids = fields.Many2many(
comodel_name="res.partner",
comodel_name="res.partner",
string="Coopérative bénéficiaires",
string="Coopérative bénéficiaires",
@@ -223,6 +224,19 @@ class CgscopOfiDemande(models.Model):
@@ -223,6 +224,19 @@ class CgscopOfiDemande(models.Model):
string="Locataires",
string="Locataires",
)
)
 
locataire_surface = fields.Integer(
 
string="Surface louée (m2)",
 
compute="_compute_locataire",
 
store=True,
 
)
 
 
locataire_ok = fields.Boolean(
 
string="Locataires Ok",
 
compute="_compute_locataire",
 
store=True,
 
)
 
 
# ------------------------------------------------------
# ------------------------------------------------------
# Computed fields
# Computed fields
# ------------------------------------------------------
# ------------------------------------------------------
@@ -310,6 +324,14 @@ class CgscopOfiDemande(models.Model):
@@ -310,6 +324,14 @@ class CgscopOfiDemande(models.Model):
for dmd in self:
for dmd in self:
dmd.fi_apport_mvt = dmd.fi_apport_ofi + dmd.fi_apport_ur
dmd.fi_apport_mvt = dmd.fi_apport_ofi + dmd.fi_apport_ur
 
@api.depends("fi_apport_mvt", "fi_apport_tiers", "fi_programme_cout")
 
def _compute_fi_apport_besoin_financement(self):
 
"""
 
Calcul du montant du financement
 
"""
 
for dmd in self:
 
dmd.fi_apport_besoin_financement = dmd.fi_programme_cout - dmd.fi_apport_mvt - dmd.fi_apport_tiers
 
@api.depends("emprunt_ids")
@api.depends("emprunt_ids")
def _compute_fi_apport_emprunt(self):
def _compute_fi_apport_emprunt(self):
"""
"""
@@ -320,6 +342,21 @@ class CgscopOfiDemande(models.Model):
@@ -320,6 +342,21 @@ class CgscopOfiDemande(models.Model):
for emp in dmd.emprunt_ids:
for emp in dmd.emprunt_ids:
dmd.fi_apport_emprunt = dmd.fi_apport_emprunt + emp.montant
dmd.fi_apport_emprunt = dmd.fi_apport_emprunt + emp.montant
 
@api.depends("fi_apport_besoin_financement", "fi_apport_emprunt")
 
def _compute_fi_emprunt_ok(self):
 
"""
 
Vérification du montant de l'emprunt
 
"""
 
for dmd in self:
 
dmd.fi_emprunt_ok = dmd.fi_apport_besoin_financement == dmd.fi_apport_emprunt
 
 
@api.model
 
@api.depends("locataire_ids", "bat_surface_batiment")
 
def _compute_locataire(self):
 
for rec in self:
 
rec.locataire_surface = sum(rec.locataire_ids.mapped("surface"))
 
rec.locataire_ok = rec.locataire_surface <= rec.bat_surface_batiment
 
# ------------------------------------------------------
# ------------------------------------------------------
# Button
# Button
# ------------------------------------------------------
# ------------------------------------------------------
Chargement en cours