Skip to Content
Menu
This question has been flagged

Hello, fellow odooer's.


I am editing models as a power user (no access to the terminal, unrestricted access to the GUI).

My aim is to have 'leads' (crm.lead) as child objects of 'projects' (project.project).


The relational link I have created doesn't work as anticipated.

The modules installed for this include Project and CRM from community V9.


The steps I have taken are below:


Edit the Lead/Opportunity (crm.lead) model

Settings>Technical>Database Structure>Models>crm.lead>edit

Added a field to the crm.lead model

"Add an Item">

		Field Name: 		x_project_id
		Field Label: 		Parent Project
		Field Type:		many2one
		Object Relation:	project.project
		On Delete:		Restrict
		Domain (Default):	[]
		Required (Default):	False
		Readonly (Default):	False
		Indexed:		True
		Copied (Default):	False

>Save(item)>Save(Model)


Edit the Project (project.project) model

Settings>Technical>Database Structure>Models>project.project>edit

Added a field to the project.project model

"Add an Item">

			Field Name: 		x_lead_ids
			Field Label: 		Leads / Opportunites
			Field Type:		one2many
			Object Relation:	crm.lead
			Relational Field:	x_project_id
			Domain (Default):	[]
			Required (Default):	False
			Readonly (Default):	False
			Indexed:		True
			Copied (Default):	False

>Save(item)>Save(Model)


Add the 'Parent Project' field to the 'CRM - Leads Form' form

Edit the 'CRM - Leads Form' (crm.crm_case_form_view_leads) form

Settings>Technical>User Interface>Views>CRM - Leads Form>edit

Insert the field '<field name="x_project_id"/>'

			<?xml version="1.0"?><form string="Leads Form">
			                <header>
			                    ...
			                </header>
			                <sheet>
			                    ...
			                    <group>
			                        <group>                            
			                            ...
			                            <field name="partner_name" string="Company Name"/>
			                            <field name="x_project_id"/>
			                            <label for="street" string="Address"/>
			                            ...
			                        </group>
			                        ....
			                    </group>
			                    <notebook>
			                     ....
			                    </notebook>
			                </sheet>
			                ....
            		</form>

>Save(View)


Add the 'Leads / Opportunites' field to the 'project.project.form' form

Edit the 'project.project.form' (project.edit_project) form

Settings>Technical>User Interface>Views>project.project.form>edit

Insert the field '<field name="x_lead_ids"/>'

				<?xml version="1.0"?>
				<form string="Project">
				                <header>
				                    ...
				                </header>
				                <sheet string="Project">
				                    ...
				                    <notebook>
				                       ...
				                        <page string="Details">
				                          ....
				                             <group string="Leads and Opportunities" name="Leads">
									<field name="x_lead_ids"/>
				                            </group>
				                        </page>
				                    </notebook>
				                </sheet>
				                ....
                		</form>

>Save(View)


The problem:

When opening up a Lead and changing the Parent Project. It changes the project on all leads.

Additionally, there are no leads in any of the Projects, and I can't add one.


I hope the question is comprehensive enough that anyone can follow it.

I would like to inspect the generated .py files, though I don't know how to do this from the GUI.


Any assistance with how to correctly create relationships would be of great value.



Best Regards,

James Moyle.

Avatar
Discard
Author Best Answer

I have found discovered the issue.


All that was required was a restart of the odoo service.

I am not sure how to do this from the GUI (If it is possible).


Another point. If you are only using the GUI for making relational fields. using x_name as a field name is equivalent to name. This means that you should call the default field you want to display: 'x_name'

I believe this is the same as the old rec_name field.


Best Regards,

James

Avatar
Discard
Related Posts Replies Views Activity
0
Jul 16
2992
1
Mar 23
787
0
Dec 22
1515
0
Jun 21
1843
0
Jun 20
4179