[ADD] Estate: Created new estate module#1191
Draft
adpaw-odoo wants to merge 20 commits intoodoo:19.0from
Draft
Conversation
Initial setup completed for creating a new estate module. Created the base estate module and installed it. Initialized model and model fields which generates tables using odoo ORM.
80ed6b6 to
c168b5b
Compare
Fixed issues and errors raised by the first push. Defined access rights by creating security/ir.model.access.csv file in estate. Defined the csv file in manifest.
c168b5b to
09c816f
Compare
Added actions and menus in the module. Created estate_property_views.xml for the window action. Added estate_property_menus.xml to define the 3-level menu structure. Registered new XML files in the manifest data list.
Implemented fields, attributes and views. Configure field attributes: 'readonly' for selling_price and 'copy=False' where needed. set default value for bedrooms and dynamic default for availability date. Implement reserved fields: 'active' and 'state'
Fixed issues in the previous commit.
7b006d7 to
3b2951c
Compare
3b2951c to
5b1412b
Compare
mash-odoo
requested changes
Mar 17, 2026
mash-odoo
left a comment
There was a problem hiding this comment.
Hello!
Great start on the app..
Here are a few comments..mostly nits..
Also please update the PR title
Created new model called estate_property_type.py. Added actions and menus. Implemented list, form and search views in estate_property_types.xml
ad43920 to
a7fc97b
Compare
Implemented Many2many and One2many relations. Added estate.property.tag model with Many2many relation to estate.property Added offer_ids One2many field to display offers on property form Created corresponding views, menus, actions and access to above models and files
b3fe6f7 to
68e69b0
Compare
7267343 to
84f9abd
Compare
Understood the concept of computed and relational fields. Imported api from odoo to supports depends decorator. Calculated total area by adding living area and garden area. And best price by selecting the highest offer price using mapped method.
84f9abd to
8e1e942
Compare
Implemented inverse function on validity_date to compute deadline from date_availability and vice versa. Added @api.onchange on garden field to auto-set area (10) and orientation (North) when enabled. When garden is disabled, garden area and orientation are cleared automatically.
5d1e49f to
a6d7c9c
Compare
Implement action_sold and action_cancel logic with UserError guards Add Accept/Refuse buttons to property offers using fa-icons Link offer acceptance to property selling_price and buyer_id Update UI with statusbar widget and button visibility rules
69d88cf to
6d7d356
Compare
Enforce strictly positive expected and offer prices via SQL constraints Set non-negative selling price constraint Added UNIQUE constraints on property type and property tag names. Added Python constraint using float_compare to prevent selling price from being lower than 90% of expected price
Added inline list view for properties within property types Implemented statusbar widget for property state management Set deterministic model ordering for properties, offers, and tags Enable manual reordering for property types using sequence handle
a35d70b to
d56fc04
Compare
d56fc04 to
1142151
Compare
3bebb00 to
4291512
Compare
Add ondelete constraint to prevent deletion of non-new/cancelled properties Set property state to 'offer_received' on offer creation and blocked offers lower than existing best offer Add property_ids field to res.users via model inheritance Add Real Estate Properties tab to user form view via view inheritance
4291512 to
cef3ce1
Compare
4ebece1 to
7159ec2
Compare
Added estate_property_issues so we can report any issues in the property Added computed SLA deadline and overdue logic based on issue priority. Implemented restriction in action_sold to prevent selling properties with unresolved high-priority issues.
6ba9907 to
39aea92
Compare
Completed ch 13. Created a new module called estate_account that depends on estate and account. Inherited estate.property to override action_sold. Used the inherited model to create customer invoice as a property gets sold.
Implemented kanban view Added additional fields and attributes to improve the view. Added default group by so the properties are grouped in kanban view according to their property type.
Polished the code according to coding guidelines. Improved the readability of the code.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Initial setup completed for creating a new estate module. Created the base estate module and installed it.
Initialized model and model fields which generates tables using odoo ORM.