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

[update] journal export

parent 288e349d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -27,6 +27,7 @@ class ExportJournalCg(http.Controller): ...@@ -27,6 +27,7 @@ class ExportJournalCg(http.Controller):
date_creation_start=False, date_creation_start=False,
date_creation_end=False, date_creation_end=False,
partner_ids=False, partner_ids=False,
journal_ids=False,
export_type="empty", export_type="empty",
**kwargs **kwargs
): ):
...@@ -41,6 +42,7 @@ class ExportJournalCg(http.Controller): ...@@ -41,6 +42,7 @@ class ExportJournalCg(http.Controller):
:param date_creation_start: date :param date_creation_start: date
:param date_creation_end: date :param date_creation_end: date
:param partner_ids: list :param partner_ids: list
:param journal_ids: list
:param export_type: string :param export_type: string
:return: file :return: file
""" """
...@@ -57,7 +59,6 @@ class ExportJournalCg(http.Controller): ...@@ -57,7 +59,6 @@ class ExportJournalCg(http.Controller):
# journal_ur_med_id = company_id.journal_ur_med_id # journal_ur_med_id = company_id.journal_ur_med_id
product_adhesion_id = company_id.product_adhesion_id product_adhesion_id = company_id.product_adhesion_id
journal_adhesion_id = company_id.journal_adhesion_id
# Selection des dates + pas d'export du journal UR / FEDE # Selection des dates + pas d'export du journal UR / FEDE
domain = [ domain = [
...@@ -83,6 +84,10 @@ class ExportJournalCg(http.Controller): ...@@ -83,6 +84,10 @@ class ExportJournalCg(http.Controller):
if partner_ids: if partner_ids:
domain += [("partner_id", "in", list(map(int, partner_ids.split(","))))] domain += [("partner_id", "in", list(map(int, partner_ids.split(","))))]
# adds journal in domain
if journal_ids:
domain += [("journal_id", "in", list(map(int, journal_ids.split(","))))]
export_line_ids = request.env["account.move.line"].search(domain) export_line_ids = request.env["account.move.line"].search(domain)
lines_to_export = [] lines_to_export = []
...@@ -120,7 +125,7 @@ class ExportJournalCg(http.Controller): ...@@ -120,7 +125,7 @@ class ExportJournalCg(http.Controller):
line=line, line=line,
amount=amount, amount=amount,
direction=direction, direction=direction,
journal="VE", journal=line.journal_id.code,
account="756200", account="756200",
) )
) )
...@@ -131,7 +136,7 @@ class ExportJournalCg(http.Controller): ...@@ -131,7 +136,7 @@ class ExportJournalCg(http.Controller):
amount=amount, amount=amount,
direction=direction, direction=direction,
account="756200", account="756200",
journal="VE", journal=line.journal_id.code,
a_type="A", a_type="A",
analytic="010000", analytic="010000",
) )
...@@ -143,7 +148,7 @@ class ExportJournalCg(http.Controller): ...@@ -143,7 +148,7 @@ class ExportJournalCg(http.Controller):
amount=amount / 2, amount=amount / 2,
direction=direction, direction=direction,
account=("4660" + line.partner_id.ur_id.code_ur), account=("4660" + line.partner_id.ur_id.code_ur),
journal="OD", journal=line.journal_id.code,
) )
) )
od_direction = "D" if direction == "C" else "C" od_direction = "D" if direction == "C" else "C"
...@@ -153,7 +158,7 @@ class ExportJournalCg(http.Controller): ...@@ -153,7 +158,7 @@ class ExportJournalCg(http.Controller):
amount=amount / 2, amount=amount / 2,
direction=od_direction, direction=od_direction,
account=("6581" + line.partner_id.ur_id.code_ur), account=("6581" + line.partner_id.ur_id.code_ur),
journal="OD", journal=line.journal_id.code,
) )
) )
lines_to_export.append( lines_to_export.append(
...@@ -162,22 +167,22 @@ class ExportJournalCg(http.Controller): ...@@ -162,22 +167,22 @@ class ExportJournalCg(http.Controller):
amount=amount / 2, amount=amount / 2,
direction=od_direction, direction=od_direction,
account=("6581" + line.partner_id.ur_id.code_ur), account=("6581" + line.partner_id.ur_id.code_ur),
journal="OD", journal=line.journal_id.code,
a_type="A", a_type="A",
analytic="010000", analytic="010000",
) )
) )
# Compte client CG Scop - Adhésion & Cotisation journaux de vente # Compte client CG Scop - Adhésion & Cotisation journaux de vente
else: else:
if line.journal_id == journal_adhesion_id: if line.journal_id.type == "sale":
journal = "VE"
elif line.journal_id.type == "sale":
journal = line.journal_id.code journal = line.journal_id.code
else: else:
journal = "EF" journal = "EF"
if line.account_id == default_receivable_account_id: if line.account_id == default_receivable_account_id:
account = "4112" + line.partner_id.ur_id.code_ur account = "4112" + line.partner_id.ur_id.code_ur
adh_account = self._get_partner_number(line.partner_id) adh_account = self._get_partner_number(line.partner_id)
elif "old" in line.account_id.code:
account = line.account_id.code.replace("old", "")
else: else:
account = line.account_id.code account = line.account_id.code
adh_account = "" adh_account = ""
...@@ -193,7 +198,7 @@ class ExportJournalCg(http.Controller): ...@@ -193,7 +198,7 @@ class ExportJournalCg(http.Controller):
) )
) )
line.write({"date_export": datetime.now()}) line.update({"date_export": datetime.now()})
filename_ = "Export CG Scop - " + datetime.strftime( filename_ = "Export CG Scop - " + datetime.strftime(
datetime.now(), "%Y-%m-%d_%Hh%M" datetime.now(), "%Y-%m-%d_%Hh%M"
......
...@@ -30,6 +30,10 @@ class ExportJournalWizard(models.TransientModel): ...@@ -30,6 +30,10 @@ class ExportJournalWizard(models.TransientModel):
company_id = fields.Many2one( company_id = fields.Many2one(
comodel_name="res.company", default=_get_default_company comodel_name="res.company", default=_get_default_company
) )
journal_ids = fields.Many2many(
comodel_name="account.journal",
string="Journaux",
)
partner_ids = fields.Many2many( partner_ids = fields.Many2many(
comodel_name="res.partner", comodel_name="res.partner",
string="Coopératives", string="Coopératives",
...@@ -69,6 +73,8 @@ class ExportJournalWizard(models.TransientModel): ...@@ -69,6 +73,8 @@ class ExportJournalWizard(models.TransientModel):
) )
if self.partner_ids: if self.partner_ids:
datas["partner_ids"] = ",".join(str(x) for x in self.partner_ids.ids) datas["partner_ids"] = ",".join(str(x) for x in self.partner_ids.ids)
if self.journal_ids:
datas["journal_ids"] = ",".join(str(x) for x in self.journal_ids.ids)
return { return {
"type": "ir.actions.act_url", "type": "ir.actions.act_url",
"url": "/web/export_journal_cg?" + urlencode(datas), "url": "/web/export_journal_cg?" + urlencode(datas),
......
...@@ -61,6 +61,15 @@ ...@@ -61,6 +61,15 @@
options="{'no_create': True, 'no_edit': True}" options="{'no_create': True, 'no_edit': True}"
/> />
</group> </group>
<p style="background: #f0f0f0; padding: 5px"><u
>Sélection des journaux (si souhaité) :</u></p>
<group>
<field
name="journal_ids"
widget="many2many_tags"
options="{'no_create': True, 'no_edit': True}"
/>
</group>
<footer> <footer>
<button <button
class="btn btn-sm btn-primary" class="btn btn-sm btn-primary"
......
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