31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from odoo import models, fields, api
|
|
|
|
class ContactSource(models.Model):
|
|
_name = 'contact.source'
|
|
_description = 'Contact Source'
|
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
|
_order = 'name'
|
|
_parent_store = True
|
|
|
|
name = fields.Char(string='Name', required=True, translate=True, tracking=True)
|
|
description = fields.Text(string='Description', tracking=True)
|
|
active = fields.Boolean(string='Active', default=True, tracking=True)
|
|
parent_id = fields.Many2one('contact.source', string='Parent Source', ondelete='cascade', index=True, tracking=True)
|
|
parent_path = fields.Char(index=True, unaccent=False)
|
|
|
|
# Стандартные статусы согласно требованиям
|
|
state = fields.Selection([
|
|
('draft', 'Draft'),
|
|
('active', 'Active')
|
|
], string='State', default='draft', required=True, tracking=True)
|
|
color = fields.Integer(string='Color', default=0)
|
|
|
|
def action_activate(self):
|
|
"""Активировать источник"""
|
|
self.write({'state': 'active'})
|
|
|
|
def action_draft(self):
|
|
"""Вернуть в черновик"""
|
|
self.write({'state': 'draft'}) |