# -*- coding: utf-8 -*- # © 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 ScopPartner(models.Model): _inherit = "res.partner" # Infos générales name = fields.Char(index=True, string="Objet social") # Informations organisme # A garder? unique_id_si_ur = fields.Char("Identifiant unique SI UR", required=True) unique_id_si_cg = fields.Char("Identifiant unique SI CG", required=True) ur = fields.Selection([ ('hdf', 'Hauts de France'), ('ge', 'Grand Est'), ('idf', 'Ile de France - Centre - Val de Loire - DOM - TOM'), ('go', 'Grand Ouest'), ('bfc', 'Bourgogne - Franche Comté'), ('pc', 'Poitou Charentes'), ('lim', 'Limousin'), ('arh', 'Auvergne - Rhône Alpes'), ('pacac', 'PACA - Corse'), ('lr', 'Languedoc Roussillon'), ('mp', 'Midi Pyrénées'), ('aq', 'Aquitaine')], string='Union Régionale', default='mp') siren = fields.Char(string='SIREN', default='xxx') registration_date = fields.Date( string="Date d'immatriculation RCS", default="2019-01-01") dissolution_date = fields.Date('Date de Décès') dissolution_reason = fields.Many2one( 'dissolution.reason', string="Motif Décés") type_organization = fields.Many2one( 'type.organization', string="Type d'organisme") sigle = fields.Char('Sigle') logo = fields.Binary('Logo') admin_email = fields.Char('eMail administratif') # Informations coopératives creation_origin = fields.Selection( [('nihil', 'Ex-nihilo'), ('transformation', 'Transformation'), ('transmission', 'Transmission'), ('reprise', 'reprise')], string='Origine création en coop') project_status = fields.Selection([ ('information', 'Phase dinformation'), ('pre-diagnostic', 'Phase de pré-diagnostic'), ('accompagnement', 'Phase d accompagnement'), ('adhesion', 'Phase d adhésion'), ('suivi', 'Phase de suivi'), ('abandoonne', 'Projet abandonné')], string='Statut projet') creation_delegate = fields.Many2one( 'res.partner', string='Délégué de création', domain=[('user_ids', '>', 0)]) followup_delegate = fields.Many2one( 'res.partner', string='Délégué de suivi', domain=[('user_ids', '>', 0)]) revision_delegate = fields.Many2one( 'res.partner', string='Délégué de révision', domain=[('user_ids', '>', 0)]) direccte = fields.Many2one( 'res.partner', string='DIRECCTE rattachée', domain=[('is_company', '=', True)]) date_1st_sign = fields.Date( 'Date 1er signature coop', default='2019-01-01') last_update_status = fields.Date('Dernière mise à jour des statuts') coord_cac = fields.Many2one( 'res.partner', string='Coord. CAC', domain=[('is_company', '=', True)]) coord_expert_compt = fields.Many2one( 'res.partner', string='Coord. Expert-Comptable', domain=[('is_company', '=', True)]) # Informations fiscales/financières first_closeout = fields.Date( 'Date clôture 1er bilan', default='2019-01-01') month_closeout = fields.Selection( [(1, 'Janvier'), (2, 'Février'), (3, 'Mars'), (4, 'Avril'), (5, 'Mai'), (6, 'Juin'), (7, 'Juillet'), (8, 'Août'), (9, 'Septembre'), (10, 'Octobre'), (11, 'Novembre'), (12, 'Décembre')], string='Mois clôture exercices', default=12) # Infos par période partner_infos = fields.One2many( comodel_name='partner.info', inverse_name='partner_id', string='Informations générales variables') # Autres Informations # Période d'adhésion membership_period_ids = fields.One2many( comodel_name='membership.period', inverse_name='partner_id', string='Périodes d adhésion') # Cotisation contribution_ids = fields.One2many( comodel_name='contribution', inverse_name='partner_id', string='Cotisations') # Liste Ministère ministry_list_ids = fields.One2many( comodel_name='ministry.list', inverse_name='partner_id', string='Liste Ministère') # Questionnaire questionnaire_ids = fields.One2many( comodel_name='questionnaire', inverse_name='partner_id', string='Questionnaire') # Liasse fiscale liasse_fiscale_ids = fields.One2many( comodel_name='liasse.fiscale', inverse_name='partner_id', string='Liasses fiscales') # Effectifs effectif_ids = fields.One2many( comodel_name='effectif', inverse_name='partner_id', string='Effectifs') # Révisions revision_ids = fields.One2many( comodel_name='revision', inverse_name='partner_id', string='Liste des Révisions') # Evènements juridiques legal_event_ids = fields.One2many( comodel_name='legal.event', inverse_name='partner_id', string='Evènements juridiques') # Outils financiers financial_tools_ids = fields.One2many( comodel_name='financial.tools', inverse_name='partner_id', string='Outils financiers') # Contacts # contacts_list = fields.One2many( # comodel_name='res.partner', # string='Liste des contacts') # Champs pour contacts year_birthday = fields.Integer("Année de naissance") level_study = fields.Selection([ ('licence', 'Licence'), ('master', 'Master')], "Niveau d'étude") field_study = fields.Selection([ ('science', 'Science')], "Domaine d'étude") subscription = fields.Many2one( 'subscription', string="Abonnements") origin_contact = fields.Many2one( 'origin', string="Origine du contact") legality_contact = fields.Char("Licéité du contact") class Subscription(models.Model): _name = "subscription" _description = "Subscription" name = fields.Char('Subscription') class Origin(models.Model): _name = "origin" _description = "Origin" name = fields.Char('Origin')