Skip to content

[ADD] estate_gasa,*: Implemented Real Estate with Accounting using Account Module #843

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 9 commits into
base: 18.0
Choose a base branch
from

Conversation

gasa-odoo
Copy link

@gasa-odoo gasa-odoo commented Jul 9, 2025

*=estate_account

This pull request includes the development of two connected modules: Real Estate and Estate Account.

The Real Estate module allows creating properties with types, tags, buyers, sellers, and offers. Business logic is added to accept or reject offers, ensure valid selling conditions, and manage property states like sold or cancelled.

The Real Estate module handles properties, property types, tags, buyers, and sellers. in this ,It includes functionality to create and manage offers with price validations and deadlines. which can be accepted and rejected. property has expected price which should be less than or equal to offer price. Business rules ensure that only properties with accepted offers (meeting the expected price) can be marked as sold, and once sold, a property can't be cancelled—and vice versa. Another I have also create new module name Estate account which contain the invoices of those property which has been sold. I linked two modules for creating invoices. Account module is linked to Real Estate to automatically generate invoices when a property is sold.

From All of this I learned how to structure custom modules and Understood and applied inheritance and business logic constraints in models and views, and define views in XML, Learned to link two modules together using dependencies.

gasa-odoo added 7 commits July 3, 2025 12:44
From this Tutorial We learn How to create our application in odoo.
In this Tutorial we create manifest.py file where stored app name and we define
version, and also create init.py file where import will be stored.

When we create our app then it will show in apps module in odoo localhost server.
from apps we can download the app which we create.
Active developer mode is must be required.
In this chapter,first we add security access rules for the basic model to manage
 user permissions.

next we learn to give UI to our Application which we  create in our
first tutorial.

we add some basic views and and form in our application, also we add custmize
search in model.
In this tutorial we add four new models and create four-five pages like
properties, tags, property type and so on..
also we learn how to manage UI for buttons and how to implement conditions
using if-else statement.
At the end we learn :
How to implement business logic with condition checks and method decorators.
How to create custom models and link them via
relations (Many2one, One2many, Many2many).
…ty models

In this tutorial we learn constrain and How to add sprinkles

Constraints:
This update adds SQL constraints for unique names on property types
and tags, and a valid range check for color index. Python constraints
enforce key business rules.

UI Enhancements:
This update introduces a computed field  on property types and
adds a stat button to view related offers using a domain filter. Form views
are enhanced with notebooks and inline editing to improve user
experience, and the navigation menu is updated to include access to
property type and tag settings.
In this tutorial, we learn how to link two different modules,
Python inheritance and view extensions in Odoo. It included customizing
CRUD behavior (e.g., preventing deletion of non-new/cancelled properties)
and adding fields to existing models like res.users, displaying them in
views using XML xpath
focuses on creating a link module named estate_account that depends on
the estate and account modules. This module adds the functionality to
automatically generate an invoice when a property is marked as ‘Sold’.
in this tutorial i get the error which related to odoo formate,
like no space, extra  blank space, also include unused files imported.
I remove this types of errors from files...
in this tutorial I get error related to space so i fix that error.
@robodoo
Copy link

robodoo commented Jul 9, 2025

Pull request status dashboard

@gasa-odoo gasa-odoo marked this pull request as ready for review July 9, 2025 09:29
@gasa-odoo gasa-odoo force-pushed the 18.0-training-gasa branch 2 times, most recently from f30155d to bd51e15 Compare July 10, 2025 05:26
In this tutorial,
Renamed model and view files to follow standard Odoo naming (<main_model>.py,
<model>_views.xml, etc.).
Updated class names to use CamelCase as per convention.
Adjusted method names to match Odoo patterns e.g., _compute_, _check_, action_).
Ensured XML IDs and view names follow Odoo's structured naming scheme.
Cleaned up import orders and variable names for readability and consistency.
@gasa-odoo gasa-odoo force-pushed the 18.0-training-gasa branch from bd51e15 to baf7908 Compare July 10, 2025 05:30
Copy link

@maad-odoo maad-odoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass ... 🚀 ,

This diff contains a lot of unwanted space /lines which is not required.
Please remove it.

Also, the PR title is not appropriate.

@gasa-odoo gasa-odoo marked this pull request as draft July 11, 2025 06:02
@gasa-odoo gasa-odoo changed the title [ADD] real_estate: create two module real estate and account [ADD] estate_gasa,*: create two module real estate and account Jul 11, 2025
@gasa-odoo gasa-odoo changed the title [ADD] estate_gasa,*: create two module real estate and account [ADD] estate_gasa,*: Implemented Real Estate with Accounting using Account Module Jul 11, 2025
This tutorial helped implement strong security in the Real Estate module.
We learned to restrict access using user groups, access rights, and record rules.
Real estate agents can only manage their own properties, not others’.
Invoices can be created safely by bypassing access with proper checks.
Multi-company rules and visibility settings improve data privacy and user
experience.
This tutorial explained how to define and load different types of data in an
Odoo module.
We learned the difference between master data (essential for the module to work)
and demo data (useful for testing and demonstration).
Data can be added using CSV for simple entries and XML for more complex
or dynamic records.
We used eval, ref, search, and function to assign computed values, link existing
records, and run logic on data load.
We also learned to use X2many fields, how to extend data, and how to securely
access and reference records programmatically.
@gasa-odoo gasa-odoo force-pushed the 18.0-training-gasa branch from 63322ee to e93d96c Compare July 11, 2025 12:11
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.

3 participants