odoo/tutorials#852

Created by Dhanesh Trivedi (dhtr)

Blocked

label
odoo-dev:18.0-training-tutorials-dhtr
head
6139abc8ccddbdb3461edd42d4cddf03c25918d9
odoo/tutorials
18.0 #852 missing r+
master

[ADD] estate, awesome_dashboard, awesome_owl: tutorial chapters

This pull request includes work done across three modules , estate, awesome_dashboard, and awesome_owl

estate module
- Set up One2many and Many2one relationships between properties and offers
- Added computed fields like best offer and total area
- Implemented onchange behavior for garden logic
- Added action buttons to accept/refuse offers and mark properties as sold or cancelled
- Added SQL and Python constraints:
- Price validations
- Selling price must be at least 90% of expected price
- Buyer and selling price are now auto-assigned when an offer is accepted
- Offers are displayed with clickable accept/refuse icons in list view

awesome_dashboard module
- Created a PieChart component using OWL
- Used OWL lifecycle hooks like onMounted, useRef, and loadJS
- Component is designed to be modular and clean
- Followed the service pattern to handle dialog-based interactions

awesome_owl module
- TodoList + TodoItem components with:
- Add/Delete/Toggle task
- Auto-focus with useRef, onMounted