# Copyright 2020 Le Filament (<http://www.le-filament.com>) # License AGPL-3 or later (http://www.gnu.org/licenses/agpl.html). from urllib.parse import urlencode from odoo import models, fields, api class ExportJournalWizard(models.TransientModel): _name = "export.journal.cg.wizard" _description = "Wizard export journal CG Scop" @api.model def _get_default_company(self): return self.env.user.company_id @api.model def _get_default_export(self): export = self.env['export.journal.type'].search([ ('company_id', '=', self.env.user.company_id.id)], limit=1) return export date_start = fields.Date('Date de début des écritures') date_end = fields.Date( string='Date de fin des écritures') date_creation_start = fields.Date('Date de début (création des écritures)') date_creation_end = fields.Date( string='Date de fin (création des écritures)') company_id = fields.Many2one( comodel_name='res.company', default=_get_default_company ) partner_ids = fields.Many2many( comodel_name='res.partner', string='Coopératives', domain=[('is_cooperative', '=', True)] ) export_type = fields.Selection( [('empty', 'Ecritures non exportées'), ('all', 'Toutes les écritures')], string='Ecritures à exporter', default="empty") def get_cg_export(self): """ Appelle l'url de traitement et de téléchargement :return: ir.actions.act_url """ datas = { 'export_type': self.export_type, 'company_id': self.company_id.id, } if self.date_start and self.date_end: datas.update({ 'date_start': self.date_start, 'date_end': self.date_end, }) if self.date_creation_start and self.date_creation_end: datas.update({ 'date_creation_start': self.date_start, 'date_creation_end': self.date_end, }) if self.partner_ids: datas['partner_ids'] = ','.join(str(x) for x in self.partner_ids.ids) return { 'type': 'ir.actions.act_url', 'url': '/web/export_journal_cg?' + urlencode(datas), 'target': 'new', }