Skip to content
Extraits de code Groupes Projets
Valider 59717f65 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[ADD] export AFAC project for afac.partner.project

parent 7413430e
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -19,7 +19,10 @@ class ExcelExport(ExcelExport): ...@@ -19,7 +19,10 @@ class ExcelExport(ExcelExport):
@serialize_exception @serialize_exception
def index(self, data, token): def index(self, data, token):
params = json.loads(data) params = json.loads(data)
if params.get("model") == "res.partner" and params.get("afac"): if params.get("model") in [
"res.partner",
"afac.project.partner",
] and params.get("afac"):
return afac_base(self, data, token) return afac_base(self, data, token)
else: else:
return super(ExcelExport, self).index(data, token) return super(ExcelExport, self).index(data, token)
...@@ -30,7 +33,10 @@ class CSVExport(CSVExport): ...@@ -30,7 +33,10 @@ class CSVExport(CSVExport):
@serialize_exception @serialize_exception
def index(self, data, token): def index(self, data, token):
params = json.loads(data) params = json.loads(data)
if params.get("model") == "res.partner" and params.get("afac"): if params.get("model") in [
"res.partner",
"afac.project.partner",
] and params.get("afac"):
return afac_base(self, data, token) return afac_base(self, data, token)
else: else:
return super(CSVExport, self).index(data, token) return super(CSVExport, self).index(data, token)
......
...@@ -52,3 +52,42 @@ class AfacProjectPartner(models.Model): ...@@ -52,3 +52,42 @@ class AfacProjectPartner(models.Model):
"un participant pour un même projet.", "un participant pour un même projet.",
) )
] ]
# ------------------------------------------------------
# ORM overrides
# ------------------------------------------------------
def export_data(self, fields_to_export, afac=False):
"""
Hérite la fonction de Model pour ajouter les projets et sous projets dans
l'export si la case est cochée
"""
out = super().export_data(fields_to_export)
if afac:
column = []
datas = out.get("datas", [])
all_projects = self.mapped("project_id")
if datas:
for afac_project in all_projects:
data_index = 0
column.append(afac_project.name)
afac_project_category = self.mapped("project_cat_ids")
for project_category in afac_project_category:
column.append(f"{afac_project.name}/{project_category.name}")
for afac_project_partner in self:
if afac_project_partner.project_id in afac_project:
datas[data_index].append(1)
else:
datas[data_index].append(0)
for project_category in afac_project_category:
if project_category in afac_project_partner.project_cat_ids:
datas[data_index].append(1)
else:
datas[data_index].append(0)
data_index += 1
out["datas"] = datas
out["column"] = column
return out
return out
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
<templates id="template" xml:space="preserve"> <templates id="template" xml:space="preserve">
<t t-name="ExportDialog" t-inherit="web.ExportDialog" t-inherit-mode="extension"> <t t-name="ExportDialog" t-inherit="web.ExportDialog" t-inherit-mode="extension">
<xpath expr="//div[hasclass('o_import_compat')]" position="after"> <xpath expr="//div[hasclass('o_import_compat')]" position="after">
<div t-if="widget.record.model == 'res.partner'" class="mt16 mb16"> <div
t-if="widget.record.model == 'res.partner' or widget.record.model == 'afac.project.partner'"
class="mt16 mb16"
>
<div class="o_boolean_toggle custom-control custom-checkbox"> <div class="o_boolean_toggle custom-control custom-checkbox">
<input <input
class="custom-control-input" class="custom-control-input"
......
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