Skip to content

Conversation

@venpr-odoo
Copy link

Chapters 1–7: Estate module implementation

This PR completes Chapters 1 to 7 of the Odoo tutorial for the estate module.

Covered topics:

  • Module scaffolding and manifest configuration
  • Basic models and fields
  • Menu items, actions, and views
  • Custom list, form, and search views
  • Property types and property tags
  • Relationships between models (many2one, one2many, many2many)
  • Property offers linked to properties and integrated in property views

This PR brings the estate module to a stable state up to Chapter 7.

@robodoo
Copy link

robodoo commented Feb 10, 2026

Pull request status dashboard

@venpr-odoo venpr-odoo force-pushed the 19-technical-venpr branch 2 times, most recently from 7bd3e0f to 5afebda Compare February 11, 2026 05:02
Chapter 7: Relationships between models

- Added property types and property tags
- Implemented many2one, one2many and many2many relations
- Added property offers linked to properties
- Integrated offers in property form view
Copy link

@mash-odoo mash-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello!
Thank you for your work!
Here are some suggestions, mostly linter as of now!
Also, please update your PR title
Furthermore, please update description in your commits while pushing, regarding the chapters and topics covered.

Comment on lines 1 to 2
from datetime import timedelta
from odoo import fields, models

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


class EstateProperty(models.Model):
_name = "estate.property"
_description = "Real Estate Property"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
_description = "Real Estate Property"
_description = "Real Estate Property"

Comment on lines +25 to +28
("north", "North"),
("south", "South"),
("east", "East"),
("west", "West"),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
("north", "North"),
("south", "South"),
("east", "East"),
("west", "West"),
('north', "North"),
('south', "South"),
('east', "East"),
('west', "West"),

Try keeping key in lower case

_description = "Estate Property Offer"

price = fields.Float(string="Offer Price")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

<menuitem
id="estate_menu_root"
name="Real Estate"
sequence="10"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this sequence used for?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At first, I did not see the Real Estate app in the Odoo dashboard.
So I added sequence="10" to make sure the menu appears in proper order.

Later I understood that the real issue was not sequence —
it was because the Admin user did not belong to the Estate group.

So the problem was related to group access, not sequence ordering.

The sequence is only used to control menu position, not visibility.

Comment on lines 4 to 7
<!-- Estate User group -->
<record id="group_estate_user" model="res.groups">
<field name="name">Estate User</field>
</record>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of making groups?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initially, I used base.group_user for access control.

Later, I created custom groups named group_estate_user and group_estate_manager. I added a security XML file and linked the access rights to these new groups.

After making these changes, I could not see the Real Estate app when logged in as Admin.

Then I realized that the Admin user was not assigned to the new Estate groups. Because of that, the menu was hidden due to missing group permissions.

So the issue was not related to the menu configuration or the sequence. It was purely because the Admin user did not belong to the Estate group.

When I switched back to using base.group_user, it worked because the Admin user already belongs to that group. That is why the app became visible again.

@@ -0,0 +1,33 @@
<odoo>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

</list>
</field>
</record>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Comment on lines 10 to 11


Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Do not leave unnecessary lines in the file. Go through all the files and update the changes wherever necessary.

Comment on lines 92 to 98







Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Do not leave unnecessary lines in the file. Go through all the files and update the changes wherever necessary.

@venpr-odoo venpr-odoo changed the title 19 technical venpr venpr: estate: complete chapters 1–7 of Real Estate tutorial Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants