Skip to content

Commit 9bc2427

Browse files
committed
[IMP] Chapter-6-estate: Added form, search, filters, groups views
1 parent 6bf602a commit 9bc2427

File tree

2 files changed

+77
-1
lines changed

2 files changed

+77
-1
lines changed

estate/models/estate_property.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ class EstateProperty(models.Model):
88
name = fields.Char(required=True)
99
description = fields.Text()
1010
postcode = fields.Char()
11-
date_availability = fields.Date(default=fields.Date.add(fields.Date.today(), month=3), copy=False)
11+
date_availability = fields.Date(
12+
default=lambda self: fields.Date.add(fields.Date.today(), months=3),
13+
copy=False
14+
)
1215
expected_price = fields.Float(required=True)
1316
selling_price = fields.Float(readonly=True, copy=False)
1417
bedrooms = fields.Integer(default=2)

estate/views/estate_property_views.xml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,77 @@
11
<odoo>
2+
<record id="estate_property_form_view" model="ir.ui.view">
3+
<field name="name">estate_property_form</field>
4+
<field name="model">estate_property</field>
5+
<field name="arch" type="xml">
6+
<form string="Description">
7+
<sheet>
8+
<h1>
9+
<field name="name" nolabel="True" />
10+
</h1>
11+
<group>
12+
<group>
13+
<field name="postcode" />
14+
<field name="date_availability" string="Available From" />
15+
</group>
16+
<group>
17+
<field name="expected_price" />
18+
<field name="selling_price" />
19+
</group>
20+
</group>
21+
<notebook>
22+
<page string="Description">
23+
<group>
24+
<field name="description" />
25+
<field name="bedrooms" />
26+
<field name="living_area" string="Living Area (sqm)" />
27+
<field name="facades" />
28+
<field name="garage" />
29+
<field name="garden" />
30+
<field name="garden_area" string="Garden Area (sqm)" />
31+
<field name="garden_orientation" />
32+
<field name="state" />
33+
</group>
34+
</page>
35+
</notebook>
36+
</sheet>
37+
</form>
38+
</field>
39+
</record>
40+
41+
<record id="estate_property_list_view" model="ir.ui.view">
42+
<field name="name">Properties List</field>
43+
<field name="model">estate_property</field>
44+
<field name="arch" type="xml">
45+
<list string="Properties">
46+
<field name="name" string="Title" />
47+
<field name="postcode" />
48+
<field name="bedrooms" />
49+
<field name="living_area" string="Living Area (sqm)" />
50+
<field name="expected_price" />
51+
<field name="selling_price" />
52+
<field name="date_availability" string="Available From" />
53+
</list>
54+
</field>
55+
</record>
56+
57+
<record id="estate_property_search_options_view" model="ir.ui.view">
58+
<field name="name">Properties Search</field>
59+
<field name="model">estate_property</field>
60+
<field name="arch" type="xml">
61+
<search string="Property Search">
62+
<field name="name" string="Title" />
63+
<field name="postcode" />
64+
<field name="expected_price" />
65+
<field name="bedrooms" />
66+
<field name="living_area" string="Living Area (sqm)" />
67+
<field name="facades" />
68+
<filter name="available" string="Available"
69+
domain="['|', ('state', '=', 'new'), ('state', '=', 'offer_received')]" />
70+
<filter name="group_by_postcode" string="Postcode" context="{'group_by':'postcode'}" />
71+
</search>
72+
</field>
73+
</record>
74+
275
<record id="estate_property_action" model="ir.actions.act_window">
376
<field name="name">Properties</field>
477
<field name="res_model">estate_property</field>

0 commit comments

Comments
 (0)