Skip to content
Extraits de code Groupes Projets
scop_deces_wizard.py 1,91 ko
Newer Older
  • Learn to ignore specific revisions
  • # © 2019 Le Filament (<http://www.le-filament.com>)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
    
    from odoo import api, fields, models
    
    
    class ScopDecesWizard(models.TransientModel):
        _name = 'scop.deces.wizard'
        _description = "Décés"
    
        # Default functions
        @api.model
        def _default_partner_id(self):
            return self.env.context.get('active_id')
    
        @api.model
        def _default_last_period_id(self):
            return self.env['scop.period'].search(
                [('partner_id', '=', self.env.context.get('active_id')),
                 ('end_reason', '=', False)],
                limit=1)
    
        # Fields common
        partner_id = fields.Integer('Partner', default=_default_partner_id)
    
        # Fields previous period
        last_period_id = fields.One2many(
            comodel_name='scop.period',
            inverse_name='partner_id',
            string="Dernière période",
            default=_default_last_period_id)
        end = fields.Date(
            'Fin de validité', required=True, default=fields.Date.today())
        end_reason = fields.Selection(
            [('juri', "Modification de la forme juridique"),
             ('form', "Changement de forme coopérative"),
             ('acti', "Changement d'activité (NAF)"),
             ('adr', "Changement d'adresse"),
             ('nom', "Changement de dénomination sociale"),
             ('autr', "Autres")],
            string='Motif')
        comments = fields.Text('Commentaires')
    
        @api.multi
        def deces_action(self):
            # Close previous period
            last_period_id = self.env['scop.period'].browse(
                self.last_period_id.id)
            last_period_id.write({
                'end': self.end,
                'end_reason': self.end_reason,
                'comments': self.comments,
            })
    
            # Update partner
            partner = self.env['res.partner'].browse(self.partner_id)
            partner.write({
                # 'dissolution_date': self.end,
                # 'dissolution_reason_id'
            })