feat: Se añade estados al prospecto
This commit is contained in:
		
							
								
								
									
										15
									
								
								prospect.py
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								prospect.py
									
									
									
									
									
								
							@@ -20,11 +20,26 @@ class Prospect(ModelSQL, ModelView):
 | 
				
			|||||||
                           domain=[If(Eval('department'),
 | 
					                           domain=[If(Eval('department'),
 | 
				
			||||||
                                    ('parent', '=', Eval('department')))])
 | 
					                                    ('parent', '=', Eval('department')))])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    assigned_operator = fields.Many2One('res.user', "Assigned operator")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    state = fields.Selection([
 | 
				
			||||||
 | 
					        ('unassigned', 'Unsassigned'),
 | 
				
			||||||
 | 
					        ('assigned', 'Assigned')], "State", readonly=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @classmethod
 | 
				
			||||||
 | 
					    def default_state(cls):
 | 
				
			||||||
 | 
					        return 'unassigned'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @fields.depends('city', 'department')
 | 
					    @fields.depends('city', 'department')
 | 
				
			||||||
    def on_change_city(self):
 | 
					    def on_change_city(self):
 | 
				
			||||||
        if self.city:
 | 
					        if self.city:
 | 
				
			||||||
            self.department = self.city.parent
 | 
					            self.department = self.city.parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @fields.depends('assigned_operator', 'state')
 | 
				
			||||||
 | 
					    def on_change_assigned_operator(self):
 | 
				
			||||||
 | 
					        if self.assigned_operator:
 | 
				
			||||||
 | 
					            self.state = 'assigned'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ContactMethod(ModelSQL, ModelView):
 | 
					class ContactMethod(ModelSQL, ModelView):
 | 
				
			||||||
    'Mecanismo de contacto'
 | 
					    'Mecanismo de contacto'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										67
									
								
								prospect.xml
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								prospect.xml
									
									
									
									
									
								
							@@ -36,6 +36,73 @@ this repository contains the full copyright notices and license terms. -->
 | 
				
			|||||||
            id="menu_prospects_tree"
 | 
					            id="menu_prospects_tree"
 | 
				
			||||||
            action="act_prospect_tree"/>
 | 
					            action="act_prospect_tree"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<record model="ir.action.act_window" id="act_prospect_unassigned_tree">
 | 
				
			||||||
 | 
					            <field name="name">Unassigned</field> 
 | 
				
			||||||
 | 
					            <field name="res_model">sale.prospect</field>
 | 
				
			||||||
 | 
						    <field name="domain" eval="[('state', '=', 'unassigned')]" pyson="1"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <record model="ir.ui.view" id="prospect_unassigned_view_tree">
 | 
				
			||||||
 | 
					            <field name="model">sale.prospect</field> 
 | 
				
			||||||
 | 
					            <field name="type">tree</field>
 | 
				
			||||||
 | 
					            <field name="name">prospect_tree</field>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					        <record model="ir.ui.view" id="prospect_unassigned_view_form">
 | 
				
			||||||
 | 
					            <field name="model">sale.prospect</field> 
 | 
				
			||||||
 | 
					            <field name="type">form</field>
 | 
				
			||||||
 | 
					            <field name="name">prospect_form</field>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <record model="ir.action.act_window.view" id="act_prospect_unassigned_tree_view1">
 | 
				
			||||||
 | 
					            <field name="sequence" eval="10"/>
 | 
				
			||||||
 | 
					            <field name="view" ref="prospect_unassigned_view_tree"/>
 | 
				
			||||||
 | 
					            <field name="act_window" ref="act_prospect_unassigned_tree"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					        <record model="ir.action.act_window.view" id="act_prospect_unassigned_form_view1">
 | 
				
			||||||
 | 
					            <field name="sequence" eval="20"/>
 | 
				
			||||||
 | 
					            <field name="view" ref="prospect_view_form"/>
 | 
				
			||||||
 | 
					            <field name="act_window" ref="act_prospect_unassigned_tree"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<menuitem
 | 
				
			||||||
 | 
					            parent="menu_prospects_tree"
 | 
				
			||||||
 | 
					            sequence="10"
 | 
				
			||||||
 | 
					            id="menu_prospects_unassigned_tree"
 | 
				
			||||||
 | 
					            action="act_prospect_unassigned_tree"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<record model="ir.action.act_window" id="act_prospect_assigned_tree">
 | 
				
			||||||
 | 
					            <field name="name">Assigned</field> 
 | 
				
			||||||
 | 
					            <field name="res_model">sale.prospect</field>
 | 
				
			||||||
 | 
						    <field name="domain" eval="[('state', '=', 'assigned')]" pyson="1"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <record model="ir.ui.view" id="prospect_assigned_view_tree">
 | 
				
			||||||
 | 
					            <field name="model">sale.prospect</field> 
 | 
				
			||||||
 | 
					            <field name="type">tree</field>
 | 
				
			||||||
 | 
					            <field name="name">prospect_tree</field>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					        <record model="ir.ui.view" id="prospect_assigned_view_form">
 | 
				
			||||||
 | 
					            <field name="model">sale.prospect</field> 
 | 
				
			||||||
 | 
					            <field name="type">form</field>
 | 
				
			||||||
 | 
					            <field name="name">prospect_form</field>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <record model="ir.action.act_window.view" id="act_prospect_assigned_tree_view1">
 | 
				
			||||||
 | 
					            <field name="sequence" eval="10"/>
 | 
				
			||||||
 | 
					            <field name="view" ref="prospect_assigned_view_tree"/>
 | 
				
			||||||
 | 
					            <field name="act_window" ref="act_prospect_assigned_tree"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					        <record model="ir.action.act_window.view" id="act_prospect_assigned_form_view1">
 | 
				
			||||||
 | 
					            <field name="sequence" eval="20"/>
 | 
				
			||||||
 | 
					            <field name="view" ref="prospect_view_form"/>
 | 
				
			||||||
 | 
					            <field name="act_window" ref="act_prospect_assigned_tree"/>
 | 
				
			||||||
 | 
					        </record>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<menuitem
 | 
				
			||||||
 | 
					            parent="menu_prospects_tree"
 | 
				
			||||||
 | 
					            sequence="10"
 | 
				
			||||||
 | 
					            id="menu_prospects_assigned_tree"
 | 
				
			||||||
 | 
					            action="act_prospect_assigned_tree"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <record model="ir.action.act_window" id="act_contact_method_tree">
 | 
					        <record model="ir.action.act_window" id="act_contact_method_tree">
 | 
				
			||||||
            <field name="name">Contact method</field> 
 | 
					            <field name="name">Contact method</field> 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,10 +74,18 @@ Verificar estado final de creación de prospecto::
 | 
				
			|||||||
    'CO-05001'
 | 
					    'CO-05001'
 | 
				
			||||||
    >>> prospect.department.code
 | 
					    >>> prospect.department.code
 | 
				
			||||||
    'CO-05'
 | 
					    'CO-05'
 | 
				
			||||||
 | 
					    >>> prospect.state
 | 
				
			||||||
 | 
					    'unassigned'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Asignar operario a un prospecto::
 | 
				
			||||||
 | 
					    >>> User = Model.get('res.user')
 | 
				
			||||||
 | 
					    >>> user,  = User.find([('name', '=', 'Administrator')])
 | 
				
			||||||
 | 
					    >>> prospect.assigned_operator = user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    >>> prospect.assigned_operator.name
 | 
				
			||||||
 | 
					    'Administrator'
 | 
				
			||||||
 | 
					    >>> prospect.state
 | 
				
			||||||
 | 
					    'assigned'
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
------------------------------------
 | 
					------------------------------------
 | 
				
			||||||
Asignación de prospectos a operarios
 | 
					Asignación de prospectos a operarios
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user