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

[IMP] add order by field

parent a7d9cfcf
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -27,6 +27,11 @@ repos:
entry: found forbidden files; remove them
language: fail
files: "\\.rej$"
- id: en-po-files
name: en.po files cannot exist
entry: found a en.po file
language: fail
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
- repo: https://github.com/oca/maintainer-tools
rev: dfba427ba03900b69e0a7f2c65890dc48921d36a
hooks:
......@@ -96,14 +101,14 @@ repos:
- id: pyupgrade
args: ["--keep-percent-format"]
- repo: https://github.com/PyCQA/isort
rev: 5.9.3
rev: 5.12.0
hooks:
- id: isort
name: isort except __init__.py
args:
- --settings=.
exclude: /__init__\.py$
- repo: https://gitlab.com/PyCQA/flake8
- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
hooks:
- id: flake8
......
......@@ -36,18 +36,27 @@ class JournalDatasExport(http.Controller):
export_id = request.env["export.journal.type"].browse(int(export))
# Set domain
domain = self._get_domain(export_id, export_type, date_start, date_end)
order_by = export_id.order_by if export_id.order_by else "id"
# Retrieve lines & set datas
lines_to_export = []
if not export_id.group_ids:
aml_ids = request.env["account.move.line"].search(domain)
aml_ids = request.env["account.move.line"].search(domain, order=order_by)
lines_to_export = self._get_lines(aml_ids, export_id)
else:
group_fields = export_id.group_ids.mapped("field_id.name")
group_agg = export_id.group_ids.mapped(
lambda f: f"{f.field_id.name}:{f.field_agg}" if f.field_agg else f.field_id.name)
lambda f: f"{f.field_id.name}:{f.field_agg}"
if f.field_agg
else f.field_id.name
)
grouped_lines = request.env["account.move.line"].read_group(
domain, fields=group_fields, groupby=group_agg, lazy=False)
domain,
fields=group_fields,
groupby=group_agg,
orderby=order_by,
lazy=False,
)
for group in grouped_lines:
if export_id.is_group_header:
header = [self._get_group_name(export_id, group)]
......
......@@ -37,6 +37,10 @@ class ExportJournalType(models.Model):
journal_ids = fields.Many2many(
comodel_name="account.journal", string="Journaux", copy=True
)
order_by = fields.Char(
string="Ordre d'affichage",
help="Liste des champs du modèle ex: move_id, partner_id",
)
delimiter = fields.Char("Séparateur", default=";")
csv_datestyle = fields.Char("Format Date CSV", default="%Y-%m-%d")
xls_datestyle = fields.Char("Format Date XLS", default="YYYY-MM-DD")
......
......@@ -41,6 +41,7 @@
widget="domain"
options='{"model": "account.move.line"}'
/>
<field name="order_by" />
</group>
</group>
<notebook>
......@@ -49,10 +50,13 @@
La première colonne correspond au nom de l'entête du fichier de sortie.<br
/>
La deuxième colonne est la valeur de sortie : code python où l'objet <code
>line</code> correspond à un <code>account.move.line</code>.<br
/>
>line</code> correspond à un <code
>account.move.line</code>.<br />
</div>
<field name="fields_ids" context="{'default_export_id': active_id}">
<field
name="fields_ids"
context="{'default_export_id': active_id}"
>
<tree editable="bottom">
<field name="sequence" widget="handle" />
<field name="name" required="1" />
......@@ -69,7 +73,10 @@
<field name="is_group_header" />
</group>
</group>
<field name="group_ids" context="{'default_export_id': active_id}">
<field
name="group_ids"
context="{'default_export_id': active_id}"
>
<tree editable="bottom">
<field name="sequence" widget="handle" />
<field
......
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