diff --git a/call.py b/call.py index 57e2d0a..0a5a984 100644 --- a/call.py +++ b/call.py @@ -11,6 +11,16 @@ class Call(ModelSQL, ModelView): prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect track') + interest_types = [ + ('0', '0 - No contestó'), + ('1', '1 - total desinterés'), + ('2', '2 - Interés intermedio'), + ('3', '3 - Interés alto, generar venta') + ] + + interest = fields.Selection(interest_types, 'Interest') + + @classmethod def default_date(cls): return date.today() \ No newline at end of file diff --git a/prospect_trace.py b/prospect_trace.py index 19ae1fc..f0a91f5 100644 --- a/prospect_trace.py +++ b/prospect_trace.py @@ -12,11 +12,23 @@ class ProspectTrace(ModelSQL, ModelView): prospect_contact = fields.Many2One('prospect.contact_method', 'Contact method') prospect_city = fields.Char('City') - calls = fields.One2Many('sale.call', 'prospect_trace', "Calls") + calls = fields.One2Many('sale.call', 'prospect_trace', "Calls") + interest_types = [ + ('0', '0 - No contestó'), + ('1', '1 - total desinterés'), + ('2', '2 - Interés intermedio'), + ('3', '3 - Interés alto, generar venta') + ] + + current_interest = fields.Function(fields.Selection(interest_types, 'Interest'), '_get_current_interest') + @fields.depends('prospect') def on_change_prospect(self): if self.prospect: self.prospect_name = self.prospect.name - # self.prospect_contact = self.prospect.contact_methods.index('contact_type 'mobile') self.prospect_city = self.prospect.city + + def _get_current_interest(self, name): + return self.calls[-1].interest + diff --git a/tests/scenario_sale_opportunity_management.rst b/tests/scenario_sale_opportunity_management.rst index efdf81b..aef6d08 100644 --- a/tests/scenario_sale_opportunity_management.rst +++ b/tests/scenario_sale_opportunity_management.rst @@ -128,6 +128,7 @@ Crear llamada a un seguimiento de prospecto:: >>> call.description = 'Descripción u observaciones de la llamada' >>> call.prospect_trace = prospect_trace + >>> call.interest = '1' >>> call.save() >>> call.prospect_trace.prospect_name @@ -141,6 +142,7 @@ Crear otra llamada al mismo seguimiento de prospecto:: >>> call.description = 'Segunda llamada al mismo seguimiento' >>> call.prospect_trace = prospect_trace + >>> call.interest = '2' >>> call.save() >>> call.prospect_trace.prospect_name @@ -149,8 +151,11 @@ Crear otra llamada al mismo seguimiento de prospecto:: 'Bogotá' >>> call.date == date.today() True + >>> len(prospect_trace.calls) == 2 True + >>> prospect_trace.current_interest + '2' -------- Reportes