feat: Se hace posible filtrar llamadas por operario que realizó dicha llamada
	
		
			
	
		
	
	
		
	
		
			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:
		
							
								
								
									
										3
									
								
								call.py
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								call.py
									
									
									
									
									
								
							@@ -21,6 +21,7 @@ class Call(ModelSQL, ModelView):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    interest = fields.Selection(
 | 
					    interest = fields.Selection(
 | 
				
			||||||
        Interest.get_interest_levels(), 'Interest', required=True)
 | 
					        Interest.get_interest_levels(), 'Interest', required=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    call_type = fields.Selection(
 | 
					    call_type = fields.Selection(
 | 
				
			||||||
        CallTypes.get_call_types(), 'Call type', states=_states)
 | 
					        CallTypes.get_call_types(), 'Call type', states=_states)
 | 
				
			||||||
    call_result = fields.Selection(
 | 
					    call_result = fields.Selection(
 | 
				
			||||||
@@ -32,6 +33,8 @@ class Call(ModelSQL, ModelView):
 | 
				
			|||||||
         ('equipment', 'Equipment')],
 | 
					         ('equipment', 'Equipment')],
 | 
				
			||||||
        'Business unit'
 | 
					        'Business unit'
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					    call_assigned_operator = fields.Many2One(
 | 
				
			||||||
 | 
					        'res.user', "Assigned operator", states=_states)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def __setup__(cls):
 | 
					    def __setup__(cls):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,14 +22,15 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
 | 
				
			|||||||
         ('equipment', 'Equipment')],
 | 
					         ('equipment', 'Equipment')],
 | 
				
			||||||
        'Business unit', states=_states
 | 
					        'Business unit', states=_states
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					 | 
				
			||||||
    prospect_contacts = fields.One2Many(
 | 
					    prospect_contacts = fields.One2Many(
 | 
				
			||||||
        'prospect.contact_method', 'prospect_trace', 'Prospect contacts',
 | 
					        'prospect.contact_method', 'prospect_trace', 'Prospect contacts',
 | 
				
			||||||
        states=_states)
 | 
					        states=_states)
 | 
				
			||||||
 | 
					 | 
				
			||||||
    prospect_city = fields.Many2One('sale.city', 'City',
 | 
					    prospect_city = fields.Many2One('sale.city', 'City',
 | 
				
			||||||
                                    states=_states)
 | 
					                                    states=_states)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    prospect_assigned_operator = fields.Many2One(
 | 
				
			||||||
 | 
					        'res.user', "Assigned operator", states=_states)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    calls = fields.One2Many(
 | 
					    calls = fields.One2Many(
 | 
				
			||||||
        'sale.call', 'prospect_trace', 'Calls', states=_states)
 | 
					        'sale.call', 'prospect_trace', 'Calls', states=_states)
 | 
				
			||||||
    pending_call = fields.Many2One(
 | 
					    pending_call = fields.Many2One(
 | 
				
			||||||
@@ -82,6 +83,7 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        self.prospect_city = self.prospect.city
 | 
					        self.prospect_city = self.prospect.city
 | 
				
			||||||
        self.prospect_business_unit = self.prospect.business_unit
 | 
					        self.prospect_business_unit = self.prospect.business_unit
 | 
				
			||||||
 | 
					        self.prospect_assigned_operator = self.prospect.assigned_operator
 | 
				
			||||||
        self.prospect_contacts = tuple(self._get_prospect_contacts())
 | 
					        self.prospect_contacts = tuple(self._get_prospect_contacts())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_rec_name(self, name):
 | 
					    def get_rec_name(self, name):
 | 
				
			||||||
@@ -167,6 +169,7 @@ class MakeCall(Wizard):
 | 
				
			|||||||
        call.interest = self.start.interest
 | 
					        call.interest = self.start.interest
 | 
				
			||||||
        call.prospect_trace = self.record
 | 
					        call.prospect_trace = self.record
 | 
				
			||||||
        call.call_business_unit = self.record.prospect_business_unit
 | 
					        call.call_business_unit = self.record.prospect_business_unit
 | 
				
			||||||
 | 
					        call.call_assigned_operator = self.record.prospect_assigned_operator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if call.interest == '0':
 | 
					        if call.interest == '0':
 | 
				
			||||||
            call.call_result = 'missed_call'
 | 
					            call.call_result = 'missed_call'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -190,6 +190,8 @@ Crear seguimiento de prospecto::
 | 
				
			|||||||
    'brigade'
 | 
					    'brigade'
 | 
				
			||||||
    >>> prospect_trace.prospect_city.name
 | 
					    >>> prospect_trace.prospect_city.name
 | 
				
			||||||
    'Medellín'
 | 
					    'Medellín'
 | 
				
			||||||
 | 
					    >>> prospect_trace.prospect_assigned_operator.name
 | 
				
			||||||
 | 
					    'Administrator'
 | 
				
			||||||
    >>> prospect_trace.prospect_contacts
 | 
					    >>> prospect_trace.prospect_contacts
 | 
				
			||||||
    [proteus.Model.get('prospect.contact_method')(1), proteus.Model.get('prospect.contact_method')(2), proteus.Model.get('prospect.contact_method')(3)]
 | 
					    [proteus.Model.get('prospect.contact_method')(1), proteus.Model.get('prospect.contact_method')(2), proteus.Model.get('prospect.contact_method')(3)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -219,7 +221,8 @@ Verificar estado final del seguimiento del prospecto y sus llamadas
 | 
				
			|||||||
    True
 | 
					    True
 | 
				
			||||||
    >>> prospect_trace.calls[0].call_business_unit
 | 
					    >>> prospect_trace.calls[0].call_business_unit
 | 
				
			||||||
    'brigade'
 | 
					    'brigade'
 | 
				
			||||||
 | 
					    >>> prospect_trace.calls[0].call_assigned_operator.name
 | 
				
			||||||
 | 
					    'Administrator'
 | 
				
			||||||
    >>> prospect_trace.calls[1].call_result
 | 
					    >>> prospect_trace.calls[1].call_result
 | 
				
			||||||
    'answered_call'
 | 
					    'answered_call'
 | 
				
			||||||
    >>> prospect_trace.calls[1].call_type
 | 
					    >>> prospect_trace.calls[1].call_type
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,4 +9,5 @@ this repository contains the full copyright notices and license terms. -->
 | 
				
			|||||||
    <field name="prospect_trace" expand="1"/>
 | 
					    <field name="prospect_trace" expand="1"/>
 | 
				
			||||||
    <field name="description" expand="1"/>
 | 
					    <field name="description" expand="1"/>
 | 
				
			||||||
    <field name="call_business_unit" expand="1"/>
 | 
					    <field name="call_business_unit" expand="1"/>
 | 
				
			||||||
 | 
					    <field name="call_assigned_operator" expand="1"/>
 | 
				
			||||||
</tree>
 | 
					</tree>
 | 
				
			||||||
@@ -8,4 +8,5 @@ this repository contains the full copyright notices and license terms. -->
 | 
				
			|||||||
    <field name="current_interest" expand="1"/>
 | 
					    <field name="current_interest" expand="1"/>
 | 
				
			||||||
    <field name="calls" expand="1"/>
 | 
					    <field name="calls" expand="1"/>
 | 
				
			||||||
    <field name="pending_call" expand="1"/>
 | 
					    <field name="pending_call" expand="1"/>
 | 
				
			||||||
 | 
					    <field name="prospect_assigned_operator" expand="1"/>
 | 
				
			||||||
</tree>
 | 
					</tree>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user