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

[add] export datetime on move.line and wizard filter

parent 77682d6f
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -2,7 +2,7 @@
# License AGPL-3 or later (http://www.gnu.org/licenses/agpl.html).
import csv
from datetime import date
from datetime import date, datetime
from io import BytesIO, StringIO
from odoo import http
......@@ -18,7 +18,8 @@ class JournalDatasExport(http.Controller):
# ------------------------------------------------------
@http.route('/web/export_journal/', type='http', auth="user")
@serialize_exception
def export_journal(self, format, export, date_start, date_end, **kwargs):
def export_journal(
self, format, export, type, date_start, date_end, **kwargs):
"""
Sélectionne les account.move.line correspondants aux journaux
et à la plage de date définis
......@@ -30,12 +31,15 @@ class JournalDatasExport(http.Controller):
:return: file
"""
export_id = request.env['export.journal.type'].browse(int(export))
export_line_ids = request.env['account.move.line'].search([
domain = [
('date', '>=', date_start),
('date', '<=', date_end),
('journal_id', 'in', export_id.journal_ids.ids),
('company_id', '=', export_id.company_id.id),
])
]
if type == 'empty':
domain += [('date_export', '!=', False)]
export_line_ids = request.env['account.move.line'].search(domain)
lines_to_export = []
for line in export_line_ids:
row = []
......@@ -43,6 +47,9 @@ class JournalDatasExport(http.Controller):
value = eval(field.field_name)
row.append(value)
lines_to_export.append(row)
line.write({
'date_export': datetime.now()
})
filename_ = (export_id.company_id.name.title().replace(' ', '')
+ date_start.replace('-', '')
......
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
# Copyright 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3 or later (http://www.gnu.org/licenses/agpl.html).
from . import account_move_line
from . import export_journal_field
from . import export_journal_type
# Copyright 2020 Le Filament
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api
class AccountMoveLine(models.Model):
_inherit = 'account.move.line'
date_export = fields.Datetime('Date export')
......@@ -37,6 +37,9 @@ class ExportJournalWizard(models.TransientModel):
domain="[('company_id', '=', company_id)]",
default=_get_default_export
)
export_type = fields.Selection(
[('empty', 'Ecritures non exportées'), ('all', 'Toutes les écritures')],
string='Ecritures à exporter', default="empty")
def get_data_file(self):
"""
......@@ -46,8 +49,8 @@ class ExportJournalWizard(models.TransientModel):
return {
'type': 'ir.actions.act_url',
'url':
'/web/export_journal?format=%s&export=%s'
% (self.export_format, self.export_id.id) +
'/web/export_journal?format=%s&export=%s&type=%s'
% (self.export_format, self.export_id.id, self.export_type) +
'&date_start=%s&date_end=%s'
% (self.date_start, self.date_end),
'target': 'new',
......
......@@ -12,9 +12,11 @@
<group>
<field name="export_id" required="True" options="{'no_create': 1}"/>
<field name="company_id" invisible="True"/>
<field name="export_type" widget="radio" />
</group>
</group>
<p class="text-muted">Les dates de début et de fin sont incluses dans l'export des écritures</p>
<group>
<group>
<field name="date_start"/>
......
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