From 4da5a7b7f154631db114800b4b58a0c6743f0ac7 Mon Sep 17 00:00:00 2001 From: hapat-odoo Date: Fri, 31 Oct 2025 11:32:49 +0530 Subject: [PATCH 1/2] [ADD] estate: Added a New Module estate_property Added a new module for estate property and completed tasks 1, 2, and 3. I added a models folder and learned to push data into PostgreSQL using ORM. --- Estate/__init__.py | 1 + Estate/__manifest__.py | 8 ++++++++ Estate/models/__init__.py | 1 + Estate/models/estate_property.py | 35 ++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 Estate/__init__.py create mode 100644 Estate/__manifest__.py 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 new file mode 100644 index 00000000000..9a7e03eded3 --- /dev/null +++ b/Estate/__init__.py @@ -0,0 +1 @@ +from . import models \ No newline at end of file diff --git a/Estate/__manifest__.py b/Estate/__manifest__.py new file mode 100644 index 00000000000..63ced7ca137 --- /dev/null +++ b/Estate/__manifest__.py @@ -0,0 +1,8 @@ +{ + 'name' :'estate', + 'depends':['base'], + 'application': True, + 'installable': True, + 'category': 'Tutorials', + 'license': 'AGPL-3' +} 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..796e4d2903f --- /dev/null +++ b/Estate/models/estate_property.py @@ -0,0 +1,35 @@ +#always check for odoo import from venv due to which errors in psql might arise +#structure module name + +#Models +# init +# module property - this consist of all files u wanna add and substract +#init +#manifest + + + +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'), + ]) From 755bcae89e61f72008b2f3c986cab4174bc49ffc Mon Sep 17 00:00:00 2001 From: hapat-odoo Date: Fri, 31 Oct 2025 15:15:00 +0530 Subject: [PATCH 2/2] [IMP] estate: Implemented the Security Logic Enhanced the Security Logic for improved protection. Added the access control rights for the estate_property.py file --- Estate/__init__.py | 3 ++- Estate/__manifest__.py | 5 ++++- Estate/models/__init__.py | 1 + Estate/models/estate_property.py | 11 +---------- Estate/security/ir.model.access.csv | 2 ++ 5 files changed, 10 insertions(+), 12 deletions(-) create mode 100644 Estate/security/ir.model.access.csv diff --git a/Estate/__init__.py b/Estate/__init__.py index 9a7e03eded3..899bcc97f0f 100644 --- a/Estate/__init__.py +++ b/Estate/__init__.py @@ -1 +1,2 @@ -from . import models \ No newline at end of file +from . import models + diff --git a/Estate/__manifest__.py b/Estate/__manifest__.py index 63ced7ca137..78ce967d603 100644 --- a/Estate/__manifest__.py +++ b/Estate/__manifest__.py @@ -4,5 +4,8 @@ 'application': True, 'installable': True, 'category': 'Tutorials', - 'license': 'AGPL-3' + 'license': 'AGPL-3', + 'data': [ + 'security/ir.model.access.csv' + ] } diff --git a/Estate/models/__init__.py b/Estate/models/__init__.py index 5e1963c9d2f..c5006b18cf8 100644 --- a/Estate/models/__init__.py +++ b/Estate/models/__init__.py @@ -1 +1,2 @@ from . import estate_property + diff --git a/Estate/models/estate_property.py b/Estate/models/estate_property.py index 796e4d2903f..f58ac118a9d 100644 --- a/Estate/models/estate_property.py +++ b/Estate/models/estate_property.py @@ -1,16 +1,7 @@ -#always check for odoo import from venv due to which errors in psql might arise -#structure module name - -#Models -# init -# module property - this consist of all files u wanna add and substract -#init -#manifest - - from odoo import models, fields + class EstateProperty(models.Model): _name = "estate.property" _description = "Real Estate Property" diff --git a/Estate/security/ir.model.access.csv b/Estate/security/ir.model.access.csv new file mode 100644 index 00000000000..3b6948e942e --- /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 +estate.access_estate_property,access_estate_property,model_estate_property,base.group_user,1,1,1,1