Skip to content
Extraits de code Groupes Projets
Valider 7521b15f rédigé par Julien - Le Filament's avatar Julien - Le Filament
Parcourir les fichiers

[FIX] review

parent d0407b81
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -7,7 +7,6 @@ from odoo import http
from odoo.http import request
def export_xlsx(data_by_sheet):
"""
Génère un fichier XLSX avec plusieurs feuilles.
......@@ -62,9 +61,24 @@ class ApExportController(http.Controller):
def get_nb_staples(self, inter_id):
staples = 0
if inter_id.mulch_has_staples:
staples += inter_id.mulch_staples_qty * inter_id.mulch_qty
if inter_id.mulch_id:
if inter_id.mulch_id.nb_accesories and inter_id.mulch_id.nb_accesories > 0.0:
mulch_qty = inter_id.mulch_id.nb_accesories
else:
mulch_qty = 2
staples += inter_id.mulch_qty * mulch_qty
if inter_id.mulch2_has_staples:
staples += inter_id.mulch2_staples_qty * inter_id.mulch2_qty
if inter_id.mulch2_id:
if inter_id.mulch2_id.nb_accesories and inter_id.mulch2_id.nb_accesories > 0.0:
mulch2_qty = inter_id.mulch2_id.nb_accesories
else:
mulch2_qty = 2
staples += inter_id.mulch2_qty * mulch2_qty
return staples if staples > 0 else ""
def get_linked_contact(self, partner_id):
if partner_id.child_ids:
......@@ -76,14 +90,14 @@ class ApExportController(http.Controller):
return ",".join([h.name for h in inter.financial_help_ids])
return ""
def get_nb_tree(self, inter_id):
def get_nb_big_trees(self, inter_id):
if inter_id.plant_sequence_ids:
to_count = inter_id.plant_sequence_ids
else:
to_count = inter_id.plant_list_ids
trees = to_count.search([("scale", "=", "big")])
return len(trees)
return len(trees) if len(trees) > 0 else ""
def get_order_data(self, saison):
"""
......@@ -170,7 +184,9 @@ class ApExportController(http.Controller):
sheet_name = "suivi financeurs"
file = {sheet_name: []}
projects = request.env["sale.project"].search([("saison_id", "=", saison.id)])
projects = request.env["sale.project"].search(
[("saison_id", "=", saison.id), ("state", "=", "sale")]
)
for project in projects:
if project.intervention_ids:
......@@ -203,11 +219,16 @@ class ApExportController(http.Controller):
if project.partner_id.year_1st_membership
else ""
),
"Diffusion sur site internet": project.online or "",
"Diffusion sur site internet": dict(
project._fields["online"].selection
).get(project.online)
or "",
"Longueur de haie": inter.intervention_length or "",
"Nombre de plants": inter.plant_qty or "",
"Surface (en m²)": inter.surface or "",
"Dont nombre total d'arbres": self.get_nb_tree(inter),
"Dont nombre total d'arbres (grands)": self.get_nb_big_trees(
inter
),
"Type d'intervention": inter.intervention_type_id.name or "",
"Implantation": inter.location_id.name or "",
"Objectif plantation": project.plant_goal_id.name or "",
......@@ -225,7 +246,9 @@ class ApExportController(http.Controller):
"""
sheet_name = "suivi technique"
file = {sheet_name: []}
projects = request.env["sale.project"].search([("saison_id", "=", saison.id)])
projects = request.env["sale.project"].search(
[("saison_id", "=", saison.id), ("state", "=", "sale")]
)
for project in projects:
if project.intervention_ids:
......@@ -249,7 +272,9 @@ class ApExportController(http.Controller):
"Longueur de haie": inter.intervention_length or "",
"Nombre de plants": inter.plant_qty or "",
"Surface (en m²)": inter.surface or "",
"Dont nombre total d'arbres": self.get_nb_tree(inter),
"Dont nombre total d'arbres (grands)": self.get_nb_big_trees(
inter
),
"Type d'intervention": inter.intervention_type_id.name or "",
"Paillage 1": inter.mulch_id.name or "",
"Paillage 2": inter.mulch2_id.name or "",
......@@ -263,7 +288,10 @@ class ApExportController(http.Controller):
"Nombre d'agrafes": self.get_nb_staples(inter),
"Nombre de collerettes": inter.collarette_qty or "",
"Mois livraison": project.delivery_month or "",
"Accueil démo": project.demo or "",
"Accueil démo": dict(project._fields["demo"].selection).get(
project.demo
)
or "",
"Commentaires": project.comment or "",
}
......
......@@ -217,6 +217,7 @@
/>
<field name="qty" />
<field name="is_local" />
<field name="scale" />
</tree>
</field>
<field
......
......@@ -16,6 +16,7 @@ class ApExportWizard(models.TransientModel):
],
required=True,
default="order",
string="Type d'export"
)
saison_id = fields.Many2one(
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter