feat: Se crea modelo pending_call y se asignan sus relaciones
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				ci/woodpecker/push/woodpecker Pipeline was successful
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	ci/woodpecker/push/woodpecker Pipeline was successful
				
			This commit is contained in:
		@@ -2,6 +2,7 @@ from trytond.pool import Pool
 | 
				
			|||||||
from . import prospect
 | 
					from . import prospect
 | 
				
			||||||
from . import prospect_trace
 | 
					from . import prospect_trace
 | 
				
			||||||
from . import call
 | 
					from . import call
 | 
				
			||||||
 | 
					from . import pending_call
 | 
				
			||||||
from .locations import city
 | 
					from .locations import city
 | 
				
			||||||
from .locations import department
 | 
					from .locations import department
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -10,6 +11,7 @@ __all__ = ['register']
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
def register():
 | 
					def register():
 | 
				
			||||||
    Pool.register(
 | 
					    Pool.register(
 | 
				
			||||||
 | 
					        pending_call.PendingCall,
 | 
				
			||||||
        call.Call,
 | 
					        call.Call,
 | 
				
			||||||
        department.Department,
 | 
					        department.Department,
 | 
				
			||||||
        city.City,
 | 
					        city.City,
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								pending_call.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								pending_call.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					# This file is part of Tryton.  The COPYRIGHT file at the top level of
 | 
				
			||||||
 | 
					# this repository contains the full copyright notices and license terms.
 | 
				
			||||||
 | 
					from trytond.model import ModelSQL, ModelView, fields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PendingCall(ModelSQL, ModelView):
 | 
				
			||||||
 | 
					    'Llamada pendiente a un prospecto'
 | 
				
			||||||
 | 
					    __name__ = "sale.pending_call"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    date = fields.Date('Date')
 | 
				
			||||||
 | 
					    prospect_trace = fields.Many2One('sale.prospect_trace', 'Prospect trace')
 | 
				
			||||||
@@ -14,7 +14,9 @@ class ProspectTrace(ModelSQL, ModelView):
 | 
				
			|||||||
        'prospect.contact_method', 'Contact method')
 | 
					        'prospect.contact_method', 'Contact method')
 | 
				
			||||||
    prospect_city = fields.Many2One('sale.city', 'City')
 | 
					    prospect_city = fields.Many2One('sale.city', 'City')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    calls = fields.One2Many('sale.call', 'prospect_trace', "Calls")
 | 
					    calls = fields.One2Many('sale.call', 'prospect_trace', 'Calls')
 | 
				
			||||||
 | 
					    pending_calls = fields.One2Many(
 | 
				
			||||||
 | 
					        'sale.pending_call', 'prospect_trace', 'Pending calls')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _interest_field_type = fields.Selection(
 | 
					    _interest_field_type = fields.Selection(
 | 
				
			||||||
        Interest.get_interest_levels(), 'Current interest')
 | 
					        Interest.get_interest_levels(), 'Current interest')
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ Imports::
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    >>> from proteus import Model, Wizard
 | 
					    >>> from proteus import Model, Wizard
 | 
				
			||||||
    >>> from trytond.tests.tools import activate_modules
 | 
					    >>> from trytond.tests.tools import activate_modules
 | 
				
			||||||
    >>> from datetime import date
 | 
					    >>> from datetime import date, timedelta
 | 
				
			||||||
    >>> import xml.etree.ElementTree as ET
 | 
					    >>> import xml.etree.ElementTree as ET
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Activate modules::
 | 
					Activate modules::
 | 
				
			||||||
@@ -80,6 +80,7 @@ Seguimiento de llamadas
 | 
				
			|||||||
-----------------------
 | 
					-----------------------
 | 
				
			||||||
**Como operador quiero poder crear un seguimiento de prospecto para luego hacer una llamada**
 | 
					**Como operador quiero poder crear un seguimiento de prospecto para luego hacer una llamada**
 | 
				
			||||||
**Como operador quiero registrar una llamada para luego generar reportes**
 | 
					**Como operador quiero registrar una llamada para luego generar reportes**
 | 
				
			||||||
 | 
					**Como operador quiero programar una llamada para luego obtener un reporte de trabajo pendiente**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
["Crear Campo para registro de la fecha de la llamada"]
 | 
					["Crear Campo para registro de la fecha de la llamada"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -177,9 +178,23 @@ Crear otra llamada al mismo seguimiento de prospecto::
 | 
				
			|||||||
    >>> call2.call_result 
 | 
					    >>> call2.call_result 
 | 
				
			||||||
    'answered_call'
 | 
					    'answered_call'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Programar una próxima llamada al seguimiento de prospecto::
 | 
				
			||||||
 | 
					    >>> PendingCall = Model.get('sale.pending_call')
 | 
				
			||||||
 | 
					    >>> pending_call = PendingCall()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    >>> pending_call.prospect_trace = prospect_trace
 | 
				
			||||||
 | 
					    >>> pending_call.date = date.today() + timedelta(days=7)
 | 
				
			||||||
 | 
					    >>> pending_call.save()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    >>> pending_call.prospect_trace.prospect.name
 | 
				
			||||||
 | 
					    'guchito S.A.S'
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
Verificar estado final del seguimiento de prospecto::
 | 
					Verificar estado final del seguimiento de prospecto::
 | 
				
			||||||
    >>> len(prospect_trace.calls) == 2
 | 
					    >>> prospect_trace.calls
 | 
				
			||||||
    True
 | 
					    [proteus.Model.get('sale.call')(1), proteus.Model.get('sale.call')(2)]
 | 
				
			||||||
 | 
					    >>> prospect_trace.pending_calls
 | 
				
			||||||
 | 
					    [proteus.Model.get('sale.pending_call')(1)]
 | 
				
			||||||
    >>> prospect_trace.current_interest
 | 
					    >>> prospect_trace.current_interest
 | 
				
			||||||
    '2'
 | 
					    '2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user