Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 90e9c66ad21119b1cb7d5e1f7bea23d8df9bfb5c
  • 14.0 par défaut
  • 12.0 protégée
  • 13.0
4 résultats

export_journal_wizard.py

Blame
  • export_journal_wizard.py 2,28 Kio
    # 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',
            }