odoo/tutorials#889

Created by Aaryan Jitendrakumar Parpyani (aarp)

Blocked

label
odoo-dev:18.0-tutorials-aarp
head
0f74440b3deec130fae915b098c3fab3b0305d48
odoo/tutorials
18.0 #889 missing r+
master

[ADD] estate: Real Estate Property Management Module

This PR introduces significant updates and improvements to the Estate module, designed to manage properties, offers, property types, property tags, and invoices.

Features

  • Property Management
    Enables adding, editing, and listing of properties with enhanced state management, including new buttons for Cancel, Sold, and statusbar improvements.

  • Property Types and Tags
    Allows defining property types and tags with support for unique naming, color coding, sequence ordering, and inline views to improve usability.

  • Offer Management
    Manages offers received for properties, including Accept and Refuse actions. Accepted offers automatically update the property’s buyer and selling price.

  • Invoice Management
    Introduces a new module estate_account that extends estate.property by overriding the action_mark_sold method to automatically create invoice upon sale of a property.

  • Business Logic Improvements
    Enforces data integrity with SQL and Python constraints (e.g., positive expected price, selling price limits, uniqueness constraints, and offer price validations).
    Also prevents deletion of properties that are not in allowable states.

  • UI/UX Improvements
    Improved default ordering across models, added default filters, status widgets, and stat buttons to improve navigation and data visibility.

Technical Features

  • Code Quality and Maintenance

    • Reformatted code according to Odoo coding guidelines.
    • Added docstring for easy understanding of what method's functionality.
    • Replaced deprecated @api.model with @api.model_create_multi in create method.
  • Manifest Improvements

    • Added license field to __manifest__.py files in both estate and estate_account modules to avoid warnings.
  • Views and XML files

    • Resolved XML ID error during build by correctly the writing the id for and name for res_users_views.xml