Newer
Older
# © 2019 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields, api
class ScopPeriod(models.Model):
_name = "scop.period"
_description = "SCOP Period"
_order = "partner_id, start desc"
# Infos générales
partner_id = fields.Many2one(
comodel_name='res.partner',
string='Organisme',
domain=[('is_cooperative', '=', True)],
ondelete='cascade', required=True, index=True)
id_riga = fields.Integer("ID RIGA")
start = fields.Date('Début de validité', required=True,
end = fields.Date('Fin de validité')
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"),
string='Motif de fin de validité')
comments = fields.Text('Commentaires')
name = fields.Char('Raison Sociale', required=True, index=True)
cooperative_form_id = fields.Many2one(
'res.partner.cooperative.form',
string="Cooperative form",
on_delete='restrict')
partner_company_type_id = fields.Many2one(
comodel_name='res.partner.company.type',
string='Legal Form',
track_visibility='onchange',
on_delete='restrict')
siret = fields.Char(string='SIRET', size=14)
street = fields.Char()
street2 = fields.Char()
street3 = fields.Char()
zip = fields.Char()
zip_id = fields.Many2one('res.city.zip', 'ZIP Location')
city = fields.Char()
cedex = fields.Char()
state_id = fields.Many2one(
"res.country.state",
string='State',
ondelete='restrict',
domain="[('country_id', '=?', country_id)]")
'res.country', string='Country', ondelete='restrict')
naf_id = fields.Many2one(
'res.partner.naf',
string='Code NAF',
on_delete='restrict')
cae = fields.Boolean("CAE")
dissolution_reason_id = fields.Many2one(
'res.partner.dissolution.reason',
string="Motif Décès",
on_delete='restrict',
track_visibility='onchange')
@api.multi
def write(self, vals):
for period in self:
partner_vals = dict(vals)
partner_vals.pop('partner_id', False)
partner_vals.pop('id_riga', False)
partner_vals.pop('start', False)
partner_vals.pop('end', False)
partner_vals.pop('end_reason', False)
partner_vals.pop('comments', False)
partner_vals.pop('dissolution_reason_id', False)
period.partner_id.write(partner_vals)
return super(ScopPeriod, self).write(vals)