From 076ed513607ac55a6a9e9c7d7f8576ddf5a2a167 Mon Sep 17 00:00:00 2001 From: ancha-odoo Date: Thu, 2 Jul 2026 18:31:13 +0530 Subject: [PATCH 1/5] [ADD] estate: initial module setup Add the basic structure for the estate module as part of the Odoo Server Framework 101 training. --- estate/__init__.py | 0 estate/__manifest__.py | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 estate/__init__.py create mode 100644 estate/__manifest__.py diff --git a/estate/__init__.py b/estate/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/estate/__manifest__.py b/estate/__manifest__.py new file mode 100644 index 00000000000..a3085249a3b --- /dev/null +++ b/estate/__manifest__.py @@ -0,0 +1,8 @@ +{ + "name":"estate", + "category":"", + "depends":[ + "base", + ], + "application":True, +} \ No newline at end of file From d23e87109d8b8d6d3f989dc13891508c3d49bfef Mon Sep 17 00:00:00 2001 From: ancha-odoo Date: Fri, 3 Jul 2026 10:24:53 +0530 Subject: [PATCH 2/5] [LINT] Fix Code Formatting --- .gitignore | 1 + estate/__manifest__.py | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index b6e47617de1..c7aef879c48 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ share/python-wheels/ .installed.cfg *.egg MANIFEST +*.xml # PyInstaller # Usually these files are written by a python script from a template diff --git a/estate/__manifest__.py b/estate/__manifest__.py index a3085249a3b..ee0b7ba579d 100644 --- a/estate/__manifest__.py +++ b/estate/__manifest__.py @@ -1,8 +1,8 @@ { - "name":"estate", - "category":"", - "depends":[ - "base", + "name": "estate", + "category": "", + "depends": [ + "base", ], - "application":True, -} \ No newline at end of file + "application": True, +} From b48be1316e1f35ebf57ae448557aa9f39711f8ab Mon Sep 17 00:00:00 2001 From: ancha-odoo Date: Fri, 3 Jul 2026 11:01:11 +0530 Subject: [PATCH 3/5] [IMP] estate: add missing author and license to manifest --- estate/__manifest__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/estate/__manifest__.py b/estate/__manifest__.py index ee0b7ba579d..252e94ab51d 100644 --- a/estate/__manifest__.py +++ b/estate/__manifest__.py @@ -5,4 +5,6 @@ "base", ], "application": True, + "author": "Ansh Chamriya", + "license": "LGPL-3", } From e27c9fc32495d742887214b480f09d91530c8df6 Mon Sep 17 00:00:00 2001 From: ancha-odoo Date: Fri, 3 Jul 2026 14:48:16 +0530 Subject: [PATCH 4/5] [ADD] estate: create estate_property model and configure initial fields Setup and authenticated DB to have the estate_property table created schema with initial fields for the same --- estate/__init__.py | 1 + estate/models/__init__.py | 1 + estate/models/estate_property.py | 28 ++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 estate/models/__init__.py create mode 100644 estate/models/estate_property.py diff --git a/estate/__init__.py b/estate/__init__.py index e69de29bb2d..0650744f6bc 100644 --- a/estate/__init__.py +++ b/estate/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/estate/models/__init__.py b/estate/models/__init__.py new file mode 100644 index 00000000000..5e1963c9d2f --- /dev/null +++ b/estate/models/__init__.py @@ -0,0 +1 @@ +from . import estate_property diff --git a/estate/models/estate_property.py b/estate/models/estate_property.py new file mode 100644 index 00000000000..4014cf64104 --- /dev/null +++ b/estate/models/estate_property.py @@ -0,0 +1,28 @@ +from odoo import models, fields + + +class EstateProperty(models.Model): + _name = "estate.property" + _description = "Real Estate Property" + + name = fields.Char(required=True) + description = fields.Text() + postcode = fields.Char() + date_availability = fields.Date() + expected_price = fields.Float(required=True) + selling_price = fields.Float() + bedrooms = fields.Integer() + living_area = fields.Integer() + facades = fields.Integer() + garage = fields.Boolean() + garden = fields.Boolean() + garden_area = fields.Integer() + garden_orientation = fields.Selection( + [ + ("north", "North"), + ("south", "South"), + ("east", "East"), + ("west", "West"), + ], + string="Garden Orientation", + ) From 13997f0f4b34ab70233088303783a6df2fadb5b3 Mon Sep 17 00:00:00 2001 From: ancha-odoo Date: Fri, 3 Jul 2026 15:19:08 +0530 Subject: [PATCH 5/5] [IMP] estate: load access control rules to manifest this would configure the access of the estate property table and more. We can add the rule row in the csv file --- estate/__manifest__.py | 3 +++ estate/security/ir.model.access.csv | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 estate/security/ir.model.access.csv diff --git a/estate/__manifest__.py b/estate/__manifest__.py index 252e94ab51d..04f54516079 100644 --- a/estate/__manifest__.py +++ b/estate/__manifest__.py @@ -7,4 +7,7 @@ "application": True, "author": "Ansh Chamriya", "license": "LGPL-3", + "data": [ + "security/ir.model.access.csv", + ], } diff --git a/estate/security/ir.model.access.csv b/estate/security/ir.model.access.csv new file mode 100644 index 00000000000..32389642d4f --- /dev/null +++ b/estate/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_estate_property,access_estate_property,model_estate_property,base.group_user,1,1,1,1