Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# © 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'
})