Skip to content

Commit 09fa8b4

Browse files
committed
[IMP] estate: improve form, list and search views for estate property models
Framework 101: chapter 6
1 parent 63f1fb1 commit 09fa8b4

File tree

3 files changed

+79
-6
lines changed

3 files changed

+79
-6
lines changed

estate/models/estate_property.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ class EstateProperty(models.Model):
55
_name = "estate.property"
66
_description = "Estate property"
77

8-
name = fields.Char(required=True)
8+
name = fields.Char(string='Title', required=True)
99
description = fields.Text()
1010
postcode = fields.Char()
11-
date_availability = fields.Date(default=fields.Date.today() + relativedelta(months=3), copy=False)
11+
date_availability = fields.Date(string='Available From', default=fields.Date.today() + relativedelta(months=3), copy=False)
1212
expected_price = fields.Float(required=True)
1313
selling_price = fields.Float(readonly=True, copy=False)
1414
bedrooms = fields.Integer(default=2)
15-
living_area = fields.Integer()
15+
living_area = fields.Integer(string='Living Area (sqm)')
1616
facades = fields.Integer()
1717
garage = fields.Boolean()
1818
garden = fields.Boolean()
19-
garden_area = fields.Integer()
19+
garden_area = fields.Integer(string='Garden Area (sqm)')
2020
garden_orientation = fields.Selection(
2121
selection=[('north', 'North'), ('south', 'South'), ('east', 'East'), ('west', 'West')]
2222
)

estate/views/estate_menus.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0"?>
22
<odoo>
33
<menuitem id="estate_menu_root" name="Real Estate">
4-
<menuitem id="estate_first_level_menu" name="First Level">
4+
<menuitem id="estate_first_level_menu" name="Properties">
55
<menuitem id="estate_create_estate_property_menu" action="estate_create_estate_property"/>
66
</menuitem>
77
</menuitem>

estate/views/estate_property_views.xml

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,80 @@
11
<?xml version="1.0"?>
22
<odoo>
3+
<record id="estate_property_list_view" model="ir.ui.view">
4+
<field name="name">estate.property.list</field>
5+
<field name="model">estate.property</field>
6+
<field name="arch" type="xml">
7+
<list>
8+
<field name="name"/>
9+
<field name="postcode"/>
10+
<field name="bedrooms"/>
11+
<field name="living_area"/>
12+
<field name="expected_price"/>
13+
<field name="selling_price"/>
14+
<field name="date_availability"/>
15+
</list>
16+
</field>
17+
</record>
18+
19+
<record id="estate_property_form_view" model="ir.ui.view">
20+
<field name="name">estate.property.form</field>
21+
<field name="model">estate.property</field>
22+
<field name="arch" type="xml">
23+
<form>
24+
<sheet>
25+
<h1>
26+
<field name="name"/>
27+
</h1>
28+
29+
<group>
30+
<group>
31+
<field name="postcode"/>
32+
<field name="date_availability"/>
33+
</group>
34+
<group>
35+
<field name="expected_price"/>
36+
<field name="selling_price"/>
37+
</group>
38+
</group>
39+
40+
<notebook>
41+
<page string="Description">
42+
<group>
43+
<field name="description"/>
44+
<field name="bedrooms"/>
45+
<field name="living_area"/>
46+
<field name="garage"/>
47+
<field name="garden"/>
48+
<field name="garden_area"/>
49+
<field name="garden_orientation"/>
50+
</group>
51+
</page>
52+
</notebook>
53+
</sheet>
54+
</form>
55+
</field>
56+
</record>
57+
58+
<record id="estate_property_search_view" model="ir.ui.view">
59+
<field name="name">estate.property.search</field>
60+
<field name="model">estate.property</field>
61+
<field name="arch" type="xml">
62+
<search>
63+
<field name="name"/>
64+
<field name="postcode"/>
65+
<field name="expected_price"/>
66+
<field name="bedrooms"/>
67+
<field name="living_area"/>
68+
<field name="facades"/>
69+
70+
<filter name="available" string="Available" domain="[('state', 'in', ['new', 'offer_received'])]"/>
71+
<filter name="groupby_postcode" string="Postcode" context="{'group_by': 'postcode'}"/>
72+
</search>
73+
</field>
74+
</record>
75+
376
<record id="estate_create_estate_property" model="ir.actions.act_window">
4-
<field name="name">Create</field>
77+
<field name="name">Properties</field>
578
<field name="res_model">estate.property</field>
679
<field name="view_mode">list,form</field>
780
</record>

0 commit comments

Comments
 (0)