feat: Se crea asistente para creación de llamadas a seguimiento, closed #39
	
		
			
	
		
	
	
		
	
		
			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:
		@@ -21,7 +21,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
 | 
				
			|||||||
    prospect_city = fields.Many2One('sale.city', 'City',
 | 
					    prospect_city = fields.Many2One('sale.city', 'City',
 | 
				
			||||||
                                    states=_states)
 | 
					                                    states=_states)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    calls = fields.One2Many('sale.call', 'prospect_trace', 'Calls')
 | 
					    calls = fields.One2Many(
 | 
				
			||||||
 | 
					        'sale.call', 'prospect_trace', 'Calls', states=_states)
 | 
				
			||||||
    pending_call = fields.Many2One(
 | 
					    pending_call = fields.Many2One(
 | 
				
			||||||
        'sale.pending_call', 'Pending call', states=_states)
 | 
					        'sale.pending_call', 'Pending call', states=_states)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -43,7 +44,8 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
 | 
				
			|||||||
        cls._buttons.update({
 | 
					        cls._buttons.update({
 | 
				
			||||||
            'wizard_schedule': {
 | 
					            'wizard_schedule': {
 | 
				
			||||||
                'invisible': Eval('state') == 'with_pending_calls',
 | 
					                'invisible': Eval('state') == 'with_pending_calls',
 | 
				
			||||||
                }
 | 
					                },
 | 
				
			||||||
 | 
					            'wizard_make_call': {}
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
@@ -56,6 +58,12 @@ class ProspectTrace(DeactivableMixin, ModelSQL, ModelView):
 | 
				
			|||||||
    def wizard_schedule(cls, prospect_traces):
 | 
					    def wizard_schedule(cls, prospect_traces):
 | 
				
			||||||
        pass
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @classmethod
 | 
				
			||||||
 | 
					    @ModelView.button_action(
 | 
				
			||||||
 | 
					        'sale_opportunity_management.make_call_wizard')
 | 
				
			||||||
 | 
					    def wizard_make_call(cls, prospect_traces):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @fields.depends('prospect', 'prospect_city', 'prospect_contact')
 | 
					    @fields.depends('prospect', 'prospect_city', 'prospect_contact')
 | 
				
			||||||
    def on_change_prospect(self):
 | 
					    def on_change_prospect(self):
 | 
				
			||||||
        if not self.prospect:
 | 
					        if not self.prospect:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,6 +78,10 @@ this repository contains the full copyright notices and license terms. -->
 | 
				
			|||||||
            <field name="type">form</field>
 | 
					            <field name="type">form</field>
 | 
				
			||||||
            <field name="name">make_call_start_form</field>
 | 
					            <field name="name">make_call_start_form</field>
 | 
				
			||||||
        </record>
 | 
					        </record>
 | 
				
			||||||
 | 
					        <record model="ir.model.button" id="make_call_wizard_button">
 | 
				
			||||||
 | 
					            <field name="name">wizard_make_call</field>
 | 
				
			||||||
 | 
					            <field name="string">Make call</field>
 | 
				
			||||||
 | 
					            <field name="model" search="[('model', '=', 'sale.prospect_trace')]"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
</tryton>
 | 
					</tryton>
 | 
				
			||||||
@@ -2,5 +2,9 @@
 | 
				
			|||||||
<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 | 
					<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 | 
				
			||||||
this repository contains the full copyright notices and license terms. -->
 | 
					this repository contains the full copyright notices and license terms. -->
 | 
				
			||||||
<form>
 | 
					<form>
 | 
				
			||||||
 | 
					    <label name="description"/>
 | 
				
			||||||
 | 
					    <field name="description"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <label name="interest"/>
 | 
				
			||||||
 | 
					    <field name="interest"/>
 | 
				
			||||||
</form>
 | 
					</form>
 | 
				
			||||||
@@ -26,6 +26,7 @@ this repository contains the full copyright notices and license terms. -->
 | 
				
			|||||||
    </notebook>
 | 
					    </notebook>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <group col="-1" colspan="6" id="buttons">
 | 
					    <group col="-1" colspan="6" id="buttons">
 | 
				
			||||||
 | 
						    <button name="wizard_make_call" icon="tryton-forward"/>
 | 
				
			||||||
	    <button name="wizard_schedule" icon="tryton-calendar"/>
 | 
						    <button name="wizard_schedule" icon="tryton-calendar"/>
 | 
				
			||||||
    </group> 
 | 
					    </group> 
 | 
				
			||||||
    <label name="pending_call"/>
 | 
					    <label name="pending_call"/>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user