Skip to content

Commit cdc392e

Browse files
committed
[ADD] base: create a new module for real estate management
1 parent fbf9ee9 commit cdc392e

File tree

7 files changed

+92
-0
lines changed

7 files changed

+92
-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: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
'name': 'Real estate',
3+
'version': '0.1',
4+
'depends': ['base'],
5+
'author': 'odoo SA',
6+
'category': 'Finance',
7+
'description': """
8+
Empty real estate app for tutorial purposes
9+
""",
10+
'application': 'True',
11+
'data': [
12+
'security/ir.model.access.csv',
13+
'view/estate_property_views.xml',
14+
'view/estate_menus.xml',
15+
],
16+
'license': 'LGPL-3',
17+
}

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: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from dateutil.relativedelta import relativedelta
2+
from odoo import fields, models
3+
4+
5+
class Estate(models.Model):
6+
_name = 'estate.property'
7+
_description = 'It allows to manage your properties'
8+
9+
name = fields.Char(required=True, default='Unknown')
10+
last_seen = fields.Datetime('Last Seen', default=fields.Datetime.now)
11+
description = fields.Char(required=True)
12+
postcode = fields.Char()
13+
date_availability = fields.Date(
14+
default=fields.Date.today() + relativedelta(months=3), copy=False
15+
)
16+
active = fields.Boolean(default=True)
17+
expected_price = fields.Float(required=True)
18+
selling_price = fields.Float(readonly=True, copy=False)
19+
bedrooms = fields.Integer(default=2)
20+
living_area = fields.Integer()
21+
facades = fields.Integer()
22+
garage = fields.Boolean()
23+
garden = fields.Boolean()
24+
garden_area = fields.Integer()
25+
garden_orientation = fields.Selection(
26+
string='Orientation',
27+
selection=[('north', 'North'), ('south', 'South'), ('east', 'East'), ('west', 'West')],
28+
)
29+
state = fields.Selection(
30+
string='State',
31+
selection=[
32+
('new', 'New'),
33+
('offer received', 'Offer Received'),
34+
('offer accepted', 'Offer Accepted'),
35+
('sold', 'Sold'),
36+
('cancelled', 'Cancelled'),
37+
],
38+
default='new',
39+
readonly=True,
40+
)

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,access_estate_property,model_estate_property,base.group_user,1,1,1,1

estate/view/estate_menus.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<odoo>
2+
<menuitem id='test_menu_root' name='Estate'>
3+
<menuitem id='test_first_level_menu' name='First Level'>
4+
<menuitem id='test_model_menu_action' action='action_test_action'/>
5+
</menuitem>
6+
</menuitem>
7+
</odoo>

estate/view/estate_property_views.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
<odoo>
3+
<record id='action_test_action' model='ir.actions.act_window'>
4+
<field name='name'>action_test_action</field>
5+
<field name='res_model'>estate.property</field>
6+
<field name='view_mode'>list,form</field>
7+
</record>
8+
9+
<record id="estate_list_view_tree" model="ir.ui.view">
10+
<field name="name">estate.main.list</field>
11+
<field name="model">estate.property</field>
12+
<field name="arch" type="xml">
13+
<list string="Channel">
14+
<field name="name"/>
15+
<field name="last_seen"/>
16+
<field name="bedrooms"/>
17+
<field name="living_area"/>
18+
<field name="expected_price"/>
19+
<field name="selling_price"/>
20+
<field name="date_availability"/>
21+
</list>
22+
</field>
23+
</record>
24+
</odoo>

0 commit comments

Comments
 (0)