Draft
Conversation
Added a new estate module, enabled it as an application, and configured it to be installable.
Add estate property model with necessary fields and attribute definitions, referencing crm_recurring_plan
Add estate property model with necessary fields and attribute definitions, referencing crm_recurring_plan
Added id.model.access.csv added to security folder in estate module. Given read, write, update and unlink option.
Added security to module by given read, write, update and unlink permission on given module
Added simple window action estate view in views folder with proper model and structure
Added root menu, first level menu and action menus in estate module
Improved by adding state and active field which set the record visibility and with no duplication of state.
In estate property module list view added using estate_property_view xml file by using list tags
In estate property module form view added using estate_property_view xml file by using sheet and pages tags. It also contains HTML tags
bit-odoo
reviewed
Apr 8, 2026
| @@ -0,0 +1,9 @@ | |||
| <odoo> | |||
| <!-- Here id = unique id in DB, name = "what will be shown on screen" --> | |||
There was a problem hiding this comment.
Writing a comment is good, but no need to write a comment here. It's only required when there is complex computation, etc.
| garden_area = fields.Integer(string="Garden_area") | ||
| garden_orientation = fields.Selection(string="Garden Orientation", selection=[("north", "North"), ("east", "East"), ("west", "West"), ("south", "South")]) | ||
|
|
||
| # If it is false then newly created record won't be appear. but record is created when active is set true record will appear. |
There was a problem hiding this comment.
Writing a comment is good, but no need to write a comment here. It's only required when there is complex computation, etc.
|
|
||
| # If it is false then newly created record won't be appear. but record is created when active is set true record will appear. | ||
| active = fields.Boolean("Active", default=True) | ||
| # State can get selected and as copy is set False in duplicate it cannot get copied |
There was a problem hiding this comment.
Writing a comment is good, but no need to write a comment here. It's only required when there is a complex computation, etc.
estate/models/estate_property.py
Outdated
| # If it is false then newly created record won't be appear. but record is created when active is set true record will appear. | ||
| active = fields.Boolean("Active", default=True) | ||
| # State can get selected and as copy is set False in duplicate it cannot get copied | ||
| state = fields.Selection(string="state", selection=[("new", "New"), ("offer received", "Offer Received"), ("accepted", "Accepted"), ("sold", "Sold"), ("cancelled", "Cancelled")], default="new", copy=False) |
| 'application': True, | ||
| 'data': [ | ||
| 'security/ir.model.access.csv', | ||
|
|
Added filter for state wise filtering and also added group by for postcode. chapter 6 : Basic Views
Linked 2 models estate_property and estate_property_type using Many2one function on property_id connected with estate.property.type, linked buyer with res.partner and sales person with res.user.
Model linked to get more clarity while using both models and share linked data. Chapter 7: Relation between model
Model linked to get more clarity while using both models and share linked data. Chapter 7: Relation between model
Added property tags (Many2Many) to enhance property classification and flexibility. Enables users to quickly filter and identify properties based on features like cozy, renovated, etc.Improves searchability and overall user experience. Chapter 7: Relations between model : Many2many
Added property tags (Many2Many) to enhance property classification and flexibility. Enables users to quickly filter and identify properties based on features like cozy, renovated, etc.Improves searchability and overall user experience. Chapter 7: Relations between model : Many2many
Allows users to view and manage all buyer offers in one place, making it easier to compare prices and track offer status. Improves decision-making and overall property management experience. Chapter 7: Relations between model : One2many
Enables users to access and use estate management features directly within the system. Simplifies setup so users can quickly start managing property-related tasks without additional configuration. Chapter 1: Architecture Overview
Allows users to store and manage detailed property information in a structured way. Improves tracking of property-related activities by linking them with recurring plans, making workflows more organized and efficient. Chapter 2: A NEW MODEL
Enables users to maintain structured property records with all necessary details in one place. Improves workflow efficiency by connecting properties with suggestion from recurring plans for better tracking and management. Chapter 3: Model and some basic fields
Ensures users have appropriate access to estate data based on their roles. Improves data security and prevents unauthorized actions while allowing smooth and controlled interactions with the system. Chapter 4: Security : A brief introduction
Provides users with controlled access to perform necessary actions like viewing, editing, and deleting data. Ensures a secure and reliable experience by preventing unauthorized operations while maintaining usability. Chapter 4: Security : A brief
Allows users to easily access and navigate estate data through a dedicated interface. Improves usability by providing a clear and structured view for managing records. Chapter 5: Finally some UI to play with.
Added root menu, first level menu and action menus in estate module
Improved by adding state and active field which set the record visibility and with no duplication of state.
In estate property module list view added using estate_property_view xml file by using list tags
In estate property module form view added using estate_property_view xml file by using sheet and pages tags. It also contains HTML tags
Added filter for state wise filtering and also added group by for postcode. chapter 6 : Basic Views
Linked 2 models estate_property and estate_property_type using Many2one function on property_id connected with estate.property.type, linked buyer with res.partner and sales person with res.user.
Model linked to get more clarity while using both models and share linked data. Chapter 7: Relation between model
Model linked to get more clarity while using both models and share linked data. Chapter 7: Relation between model
Added property tags (Many2Many) to enhance property classification and flexibility. Enables users to quickly filter and identify properties based on features like cozy, renovated, etc.Improves searchability and overall user experience. Chapter 7: Relations between model : Many2many
Added property tags (Many2Many) to enhance property classification and flexibility. Enables users to quickly filter and identify properties based on features like cozy, renovated, etc.Improves searchability and overall user experience. Chapter 7: Relations between model : Many2many
Allows users to view and manage all buyer offers in one place, making it easier to compare prices and track offer status. Improves decision-making and overall property management experience. Chapter 7: Relations between model : One2many
Added computed field for total area by summing garden and living space, giving users a quick and accurate view of overall property size. Chapter 8: Computed fields and onChanges
Added computed field for total area by summing garden and living space, giving users a quick and accurate view of overall property size. Chapter 8: Computed fields and onChanges
Add function to surface the best (highest) price prominently in the header. Improves user experience by making optimal pricing instantly visible without extra effort. Chapter 8: Computed fields and onChanges
Add function to surface the best (highest) price prominently in the header. Improves user experience by making optimal pricing instantly visible without extra effort. Chapter 8: Computed fields and onChanges
Auto-updates garden area and orientation based on garden selection, reducing manual input and preventing user errors.Clears dependent fields when disabled, ensuring data consistency and a cleaner user experience. Chapter : 8 Computed fields and onChanges
Auto-updates garden area and orientation based on garden selection, reducing manual input and preventing user errors.Clears dependent fields when disabled, ensuring data consistency and a cleaner user experience. Chapter : 8 Computed fields and onChanges
Auto-updates garden area and orientation based on garden selection, reducing manual input and preventing user errors.Clears dependent fields when disabled, ensuring data consistency and a cleaner user experience. Chapter : 8 Computed fields and onChanges
Add computed validity & deadline fields with inverse sync for seamless updates that ensures accurate offer timelines and reduces manual date calculations for users. Chapter : 8 Computed fields and onChanges
Add computed validity & deadline fields with inverse sync for seamless updates that ensures accurate offer timelines and reduces manual date calculations for users. Chapter : 8 Computed fields and onChanges
Helps users efficiently manage offers while automatically assigning buyer and final price to the property. Chapter 9 : Ready For Some Action?
Improves data integrity by restricting invalid transitions saved offers cannot be cancelled and cancelled offers cannot be saved. Chapter 9 : Ready For Some Action?
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.

Created the estate.property model with required fields and attributes, with the reference of crm_recurring_plan.
Chapters 1 to 3 completed, and the Estate module has been created with the estate_property model.
Changes