Skip to content

Commit 415ee0e

Browse files
committed
[ADD] estate: create an estate app
Created an estate application for Odoo Added models with basic fields Implemented security rules for models Configured menus and basic views (Form and List) Introduced application structure and architecture overview
1 parent 4c650f3 commit 415ee0e

File tree

7 files changed

+77
-0
lines changed

7 files changed

+77
-0
lines changed

estate/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models

estate/__manifest__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
'name': 'Estate',
3+
'version': '1.0',
4+
'depends': ['base'],
5+
'author': 'Shiv Bhadaniya',
6+
'application': True,
7+
'auto_install': True,
8+
'license': 'LGPL-3',
9+
'data': [
10+
'security/ir.model.access.csv',
11+
'views/estate_property_views.xml',
12+
'views/estate_menus.xml'
13+
]
14+
}

estate/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import estate_property

estate/models/estate_property.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from odoo import fields, models
2+
3+
class EstateProperties(models.Model):
4+
_name = "estate.property"
5+
_description = "Estate Property Model"
6+
7+
name = fields.Char(required=True)
8+
description = fields.Text()
9+
postcode = fields.Char()
10+
date_availability = fields.Date(copy=False,default= fields.Date.add(fields.Date.today(), months=+3))
11+
expected_price = fields.Float(required=True)
12+
selling_price = fields.Float(readonly=True, copy=False)
13+
bedrooms = fields.Integer(default=2)
14+
living_area = fields.Integer()
15+
facades = fields.Integer()
16+
garage = fields.Boolean()
17+
garden = fields.Boolean()
18+
garden_area = fields.Integer()
19+
garden_orientation = fields.Selection([
20+
('north', 'North'),
21+
('south', 'South'),
22+
('east', 'East'),
23+
('west', 'West'),
24+
])
25+
active = fields.Boolean(default=False)
26+
state = fields.Selection([
27+
('new', 'New'),
28+
('offer_received', 'Offer Received'),
29+
('offer_accepted', 'Offer Accepted'),
30+
('sold', 'Sold'),
31+
], copy=False, default='new', required=True,)

estate/security/ir.model.access.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_estate_property_user,access_estate_property_user,estate.model_estate_property,base.group_user,1,1,1,1

estate/views/estate_menus.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
4+
<!-- Top menu item -->
5+
<menuitem
6+
id="menu_estate_root"
7+
name="Estate"
8+
>
9+
<!-- Advertisement Submenu -->
10+
<menuitem id="menu_advertisement"
11+
name="Advertisement"
12+
>
13+
<menuitem
14+
id="menu_advertisement_property"
15+
name="Properties"
16+
action="action_estate_property"
17+
/>
18+
</menuitem>
19+
</menuitem>
20+
</odoo>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
<record id='action_estate_property' model='ir.actions.act_window'>
4+
<field name="name">Estate</field>
5+
<field name="res_model">estate.property</field>
6+
<field name="view_mode">list,form</field>
7+
</record>
8+
</odoo>

0 commit comments

Comments
 (0)