103 lines
3.3 KiB
Python
103 lines
3.3 KiB
Python
from odoo import models, fields
|
|
|
|
class ResPartner(models.Model):
|
|
_inherit = 'res.partner'
|
|
|
|
is_favorite_contact = fields.Boolean(
|
|
string="Contatto Preferito",
|
|
help="Spunta questa casella se è un contatto prioritario per questa azienda."
|
|
)
|
|
|
|
percent_provvigioni = fields.Float(
|
|
string="% Provvigioni",
|
|
digits=(5, 2),
|
|
help="Inserisci la percentuale"
|
|
)
|
|
|
|
cliente_fornitore_tipo = fields.Selection([
|
|
('cliente', 'Cliente'),
|
|
('fornitore', 'Fornitore'),
|
|
('entrambi', 'Entrambi')
|
|
], string='Cliente/Fornitore')
|
|
|
|
|
|
agente_id = fields.Many2one(
|
|
'res.partner',
|
|
string="Agente",
|
|
domain="[('is_company', '=', False)]", # Filtra per i contatti che sono persone
|
|
help="Seleziona l'agente di riferimento"
|
|
)
|
|
|
|
|
|
ceo_name = fields.Char(string="CEO Name")
|
|
data_inizio_attivita = fields.Date(string="Data inizio attività")
|
|
|
|
fatturato_annuo = fields.Monetary(string="Fatturato annuo / Ricavi", currency_field='currency_id')
|
|
currency_id = fields.Many2one(
|
|
'res.currency',
|
|
string='Valuta',
|
|
default=lambda self: self.env.company.currency_id.id,
|
|
)
|
|
|
|
# Sezione "FORM Contatto"
|
|
settori = fields.Many2many('res.partner.sector', string="Settori")
|
|
|
|
origine_contatto = fields.Selection([
|
|
('motore_ricerca', 'Motore di ricerca'),
|
|
('linkedin_social', 'LinkedIn / Altri social media'),
|
|
('stampa_media', 'Financial Times / Altri media'),
|
|
('passaparola', 'Passaparola'),
|
|
('email', 'E-mail'),
|
|
('sitointernet', 'Sito Internet'),
|
|
('organico', 'Organico')
|
|
], string="Origine Contatto")
|
|
|
|
identita_cliente = fields.Selection([
|
|
('grossista_commerciante', 'Grossista - Commerciante'),
|
|
('distributore', 'Distributore'),
|
|
('e_commerce', 'E-commerce'),
|
|
('catena_negozi', 'Catena di negozi'),
|
|
('centro_commerciale_outlet', 'Centro Commerciale - Outlet'),
|
|
('agente', 'Agente'),
|
|
], string="Identità Cliente")
|
|
|
|
acquisti_da_italia = fields.Selection([
|
|
('si', 'Sì'),
|
|
('no', 'No')
|
|
], string="State acquistando dall'Italia?")
|
|
|
|
|
|
fornitori_attuali_ids = fields.Many2many(
|
|
'fornitore.attuale.option',
|
|
string="Fornitori Attuali dei Clienti"
|
|
)
|
|
|
|
# Campo per identificare se è un agente
|
|
is_agent = fields.Boolean(
|
|
string="È un Agente",
|
|
help="Spunta questa casella se questo contatto è un agente"
|
|
)
|
|
|
|
# Campo Email 2
|
|
email2 = fields.Char(
|
|
string="E-mail 2" ,
|
|
help="Indirizzo email secondario"
|
|
)
|
|
|
|
# Campo Note Logistiche (simile alle note interne)
|
|
note_logistiche = fields.Html(
|
|
string="Note Logistiche",
|
|
help="Note logistiche interne con editor ricco"
|
|
)
|
|
|
|
class ResPartnerSector(models.Model):
|
|
_name = 'res.partner.sector' # Nome tecnico corretto
|
|
_description = 'Settore Partner'
|
|
|
|
name = fields.Char(string="Nome Settore")
|
|
|
|
class FornitoreAttualeOption(models.Model):
|
|
_name = 'fornitore.attuale.option'
|
|
_description = 'Opzioni Fornitore Attuale'
|
|
|
|
name = fields.Char(string="Tipo di Fornitore", required=True) |