from trytond.model import ModelSQL, ModelView, fields from datetime import date from .selections.interest import Interest from .selections.call_types import CallTypes from .selections.call_results import CallResults class Call(ModelSQL, ModelView): 'Llamada' __name__ = 'sale.call' _states = {'readonly': True} date = fields.Date('Date', states=_states) description = fields.Text('Description', strip=True) prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace') interest = fields.Selection( Interest.get_interest_levels(), 'Interest', required=True) call_type = fields.Selection( CallTypes.get_call_types(), 'Call type', states=_states) call_result = fields.Selection( CallResults.get_call_results(), 'Call result', states=_states) @classmethod def default_date(cls): return date.today() @fields.depends('interest', 'call_result') def on_change_interest(self): if self.interest: if self.interest == '0': self.call_result = 'missed_call' else: self.call_result = 'answered_call'