Skip to content

[ADD] estate: implement core real estate property management module #758

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: 18.0
Choose a base branch
from

Conversation

shib-odoo
Copy link

Core Functionality:

  • Created base models for property listings with fields for pricing, descriptions , and status tracking
  • Implemented property type categorization (House, Apartment etc.)
  • Added tagging system for property characteristics (Cozy, Renovated etc.)
  • Developed offer management system to track buyer proposals

Technical Implementation:

  1. Models:

    • estate.property (main listing model)
    • estate.property.type (categorization)
    • estate.property.tag (characteristics)
    • estate.property.offer (purchase offers)
  2. Relationships:

    • Many2one: Property → Type, Buyer, Salesperson
    • Many2many: Property ↔ Tags
    • One2many: Property → Offers
  3. Security:

    • Configured access rights for all models
    • Set appropriate permissions for CRUD operations
  4. UI/UX:

    • Custom list view with key property attributes
    • Detailed form view with tabbed interface
    • Advanced search with filters and grouping
    • Intuitive menu structure
  5. Business Logic:

    • Default values (salesperson = current user)
    • Field constraints (read-only selling price)
    • Non-copyable fields (availability date)

task-001 (Chapter 1–7 Odoo 18 Developer Tutorial)

Core Functionality:
- Created base models for property listings with fields for pricing, descriptions
 , and status tracking
- Implemented property type categorization (House, Apartment etc.)
- Added tagging system for property characteristics (Cozy, Renovated etc.)
- Developed offer management system to track buyer proposals

Technical Implementation:
1. Models:
   - estate.property (main listing model)
   - estate.property.type (categorization)
   - estate.property.tag (characteristics)
   - estate.property.offer (purchase offers)

2. Relationships:
   - Many2one: Property → Type, Buyer, Salesperson
   - Many2many: Property ↔ Tags
   - One2many: Property → Offers

3. Security:
   - Configured access rights for all models
   - Set appropriate permissions for CRUD operations

4. UI/UX:
   - Custom list view with key property attributes
   - Detailed form view with tabbed interface
   - Advanced search with filters and grouping
   - Intuitive menu structure

5. Business Logic:
   - Default values (salesperson = current user)
   - Field constraints (read-only selling price)
   - Non-copyable fields (availability date)

task-001 (Chapter 1–7 Odoo 18 Developer Tutorial)
@robodoo
Copy link

robodoo commented May 7, 2025

Pull request status dashboard

…arameter

SQL Constraints:

- Add CHECK(expected_price > 0) to ensure strictly positive expected prices.

- Add CHECK(selling_price >= 0) for non-negative selling prices.

-  Ensure price > 0 for offers via SQL constraint.

- Enforce unique names for property tags and types with UNIQUE(name).

Python Constraint:

- Add @api.constrains to validate selling price ≥ 90% of expected price.

Fixes:

- Correct typo in selling_price field parameter (readOnly → readonly).

- Cleanup existing invalid data (e.g., non-positive prices) to apply constraints.
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