Skip to content

Commit 405330c

Browse files
[IMP] estate: created menus, actions and customized model fields
1 parent 86659eb commit 405330c

File tree

5 files changed

+35
-7
lines changed

5 files changed

+35
-7
lines changed

estate/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
from . import models
1+
from . import models
2+
from . import views

estate/__manifest__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
'depends': ['base'],
66
'category': 'Real Estate',
77
'summary': 'A basic real estate module',
8-
'data': ['security/ir.model.access.csv'],
8+
'data': [
9+
'security/ir.model.access.csv',
10+
'views/estate_property_views.xml',
11+
'views/estate_menus.xml'
12+
],
913
'application': True,
1014
'author': 'Mohamed (moaln)',
1115
'license': 'LGPL-3',

estate/models/estate_property.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
from odoo import models, fields
2+
from dateutil.relativedelta import relativedelta
23

34
class EstateProperty(models.Model):
45
_name = "estate.property"
56
_description = "estate property model"
67

7-
name = fields.Char(required = True)
8+
name = fields.Char(required=True)
89
description = fields.Text()
910
postcode = fields.Char()
10-
date_availability = fields.Date()
11-
expected_price = fields.Float(required = True)
12-
selling_price = fields.Float()
13-
bedrooms = fields.Integer()
11+
date_availability = fields.Date(copy=False, default=fields.Date.today() + relativedelta(months =+ 3))
12+
expected_price = fields.Float(required=True)
13+
selling_price = fields.Float(readonly=True, copy=False)
14+
bedrooms = fields.Integer(default=2)
1415
living_area = fields.Integer()
1516
facades = fields.Integer()
1617
garage = fields.Boolean()
@@ -19,3 +20,10 @@ class EstateProperty(models.Model):
1920
garden_orientation = fields.Selection(
2021
selection=[('north', 'North'), ('south', 'South'), ('east', 'East'), ('west', 'West')]
2122
)
23+
active = fields.Boolean(default=True)
24+
state = fields.Selection(
25+
selection=[('new', 'New'), ('offer_received', 'Offer Received'), ('offer_accepted', 'Offer Accepted'), ('sold', 'Sold'), ('cancelled', 'Cancelled')],
26+
required=True,
27+
copy=False,
28+
default='new'
29+
)

estate/views/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="estate_property_root_menu" name="Real Estate">
3+
<menuitem id="estate_property_first_level_menu" name="Advertisements">
4+
<menuitem id="estate_property_menu_action" name="Properties" action="estate_property_action" />
5+
</menuitem>
6+
</menuitem>
7+
</odoo>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
<record id="estate_property_action" model="ir.actions.act_window">
4+
<field name="name">Properties</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)