[ADD] estate: add new module - #1359
Conversation
2a7ba86 to
d48797d
Compare
Provide the required manifest metadata so the module can be recognized and installed correctly by Odoo. The metadata also ensures the module is properly categorized and ready for future development.
af95eea to
47f6c97
Compare
Add the remaining manifest metadata required for the module. Include the module version, base dependency, and application settings so the module can be installed and recognized as an Odoo application.
524e1bc to
cad5780
Compare
Introduce the property model to allow the Estate module to store and manage information about real estate properties. The model defines the essential details of a property, such as its name, description, expected and selling prices, availability, living space, and additional features like a garage or garden. This provides the core data structure required for property management within the module. task-completed chapter 3
85dfd4f to
b9c8bca
Compare
Allow internal users to access and manage estate property records. Add an access control rule that grants users in the Internal User group permission to read, create, update, and delete property records. This enables users to work with the Estate module while ensuring access is managed through Odoo's security framework. Task : "Chapter 4 completed"
b9c8bca to
1a3164e
Compare
Complete the basic configuration of the estate property model to make it ready for use in the Estate module. Add menus and a window action so users can access property records from the interface. Configure field defaults and attributes to simplify data entry and prevent unwanted changes. Introduce active and state fields to support property management throughout its lifecycle. Task: Completed Chapter 5
Create custom list, form, and search views for the estate property model. Add filters for available properties and support grouping by postcode to make property records easier to find and manage. Task: Completed Chapter 6
Expand the Estate module to store more information about properties and the people involved in them. Properties can now be organized by type and tags, assigned to a salesperson, linked to a buyer, and receive offers from interested customers. These additions make it easier to categorize properties, track ownership and responsibility, and manage the buying process from a single place. Task: Completed Chapter 7
3cd7c20 to
71b0a79
Compare
Improve the Estate module by automatically calculating property and offer information. Properties now display their total area and highest offer without requiring manual updates. Offers automatically calculate their deadline based on the validity period while still allowing users to change either value. Default garden details are also filled in automatically to reduce manual data entry and keep records consistent. Task: Completed Chapter 8
| selection=[ | ||
| ("north", "North"), | ||
| ("south", "South"), | ||
| ("east", "East"), | ||
| ("west", "West"), | ||
| ] |
There was a problem hiding this comment.
| selection=[ | |
| ("north", "North"), | |
| ("south", "South"), | |
| ("east", "East"), | |
| ("west", "West"), | |
| ] | |
| selection=[ | |
| ('north', "North"), | |
| ('south', "South"), | |
| ('east', "East"), | |
| ('west', "West"), | |
| ] |
Try to keep the key i.e the technical strings in single quotes and the values which are to be displayed to the user in double quotes
| ], | ||
| required=True, | ||
| copy=False, | ||
| default="new", |
There was a problem hiding this comment.
What if we don't add a default value?
There was a problem hiding this comment.
Without a default value, the state field would be empty when creating a new record until the user explicitly selects a value.
There was a problem hiding this comment.
And what if the required field is also readonly?
| inverse="_inverse_date_deadline", | ||
| ) | ||
|
|
||
| @api.depends("create_date", "validity") |
There was a problem hiding this comment.
Where does this create_date field come from? 🤔
You haven't added it while creating your model.
There was a problem hiding this comment.
create_date is a built-in magical field automatically added by models.Model, so it is available on this model without being explicitly declared.
There was a problem hiding this comment.
Are you aware of how magic fields are declared when creating a table?
| @@ -0,0 +1,36 @@ | |||
| <?xml version="1.0"?> | |||
There was a problem hiding this comment.
It's the XML declaration that identifies the file as an XML 1.0 document. It's the standard way to start an XML file.
Improve the Estate module by applying the review comments received during code review. Update the code style to follow Odoo's coding conventions, improve formatting and indentation for better readability, remove unnecessary metadata, and make the implementation more consistent with the project's standards. These changes improve code quality and maintainability without changing the module's behavior.
1de3297 to
3a5ae91
Compare
Add actions to manage the status of properties and their offers. Properties can now be marked as sold or cancelled, with checks to prevent invalid status changes. Offers can be accepted or refused, and accepting an offer automatically updates the property's buyer and selling price. Task: Completed Chapter 9

No description provided.