Skip to content

19.0 tutorial yacha - #1408

Draft
yacha-odoo wants to merge 16 commits into
odoo:19.0from
odoo-dev:19.0-tutorial-yacha
Draft

19.0 tutorial yacha#1408
yacha-odoo wants to merge 16 commits into
odoo:19.0from
odoo-dev:19.0-tutorial-yacha

Conversation

@yacha-odoo

Copy link
Copy Markdown

No description provided.

yacha-odoo added 16 commits July 3, 2026 17:00
Chapter 2: Create the initial Real Estate module for the Server Framework 101 tutorial.

This introduces the base module structure with the manifest and package initialization files required for further development.
Chapter 2: Create the initial property model for the real estate module.

Add the basic property information needed to manage properties,
including the property name, description, postcode, availability date,
expected and selling prices, bedrooms, living area, facades, garage,
garden details, and property state.

Set appropriate defaults and field behavior for the initial property
data structure.
Implemented Chapter 5 of the Odoo Server Framework tutorial.

- Added window action for estate.property
- Split XML into estate_property_views.xml and estate_menus.xml
- Added three-level menu hierarchy
- Added readonly and copy attributes
- Added default values for bedrooms and availability date
- Added reserved fields active and state
Introduce explicit list and form views for the estate.property model.

The autogenerated views are sufficient for basic testing but do not
provide a structured user interface. Adding custom XML views prepares
the module for subsequent tutorial chapters, where the form and list
views will be extended with notebooks, search views, widgets, and
additional UI customizations.
Add the active field to support record archiving.
Help users find properties more efficiently by providing
search shortcuts, a quick filter for available properties,
and the ability to group records by postcode.

This makes day-to-day property management faster as users
can locate relevant records without manually browsing
through the entire list.
Add the ability to classify properties by their type and keep
track of the buyer and the responsible salesperson. This makes
property records more complete, easier to manage, and prepares
the system for the complete property sales process.
Introduce property tags to classify and organize estate records
using many-to-many relationships. This improves property
categorization, enables flexible tagging of listings, and lays
the foundation for advanced search, filtering, and future
business features.
Introduce a dedicated Property Offer model to record offers
submitted by potential buyers for properties. Each offer stores
the offered price, buyer, and current offer status, and is
linked to a single property through relational fields. Display
all related offers within the property form, enabling multiple
offers to be managed from one place and preparing the estate
module for the complete property selling workflow.
Chapter 8: Address review feedback on the Real Estate tutorial implementation.

Reformat the affected Python and XML files, fix import and attribute
ordering, remove unnecessary field strings and XML declarations, and
clean up the model and view definitions.

These changes align the implementation with Odoo coding guidelines
and improve the consistency and readability of the tutorial code.
Chapter 8: Add computed fields for total area and best offer price.

Implement offer deadline computation based on creation date and validity,
including an inverse method to update validity when the deadline is changed.

Add an onchange on the garden field to automatically set or clear the
garden area and orientation values.

Update the estate property and offer views to display the new fields.
Add a standalone Yash Travels module to demonstrate the practical
behavior of Odoo TransientModel.

The module defines a transient travel model with list and form views,
access rights, and menu/action configuration. It also allows testing
transient record creation, database persistence, and automatic cleanup
through the transient vacuum mechanism.
Chapter - 9
- Added Sold and Cancel actions for properties with state validation.
- Added Accept and Refuse actions for property offers.
- Updated property buyer and selling price when an offer is accepted.
- Added a confirmation wizard to handle offer acceptance.
- Added Keep Previous and Accept New options for replacing an accepted offer.
- Updated related views, menus, security access, and action configuration.
- Chapter 10:
- Add positive value constraints for property expected and selling prices
- Add positive value constraint for offer price
- Enforce unique property tag names
- Enforce unique property type names
@robodoo

robodoo commented Sep 9, 2026

Copy link
Copy Markdown

Pull request status dashboard

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.

2 participants