Skip to content
Extraits de code Groupes Projets
res_partner.py 6,35 ko
Newer Older
  • Learn to ignore specific revisions
  • Juliana's avatar
    Juliana a validé
    # -*- 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')