Skip to content

Commit 7eb4493

Browse files
committed
[IMP] estate: add list/form/search views with group by in Real Estate
Created list, form, and search views, and added group by functionality in the Real Estate.
1 parent 9b7596f commit 7eb4493

File tree

3 files changed

+82
-12
lines changed

3 files changed

+82
-12
lines changed

estate/models/estate_property.py

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

4+
45
class estateproperty(models.Model):
56
_name = "estate.property"
67
_description = "Real Estate Property"
78

89
name = fields.Char(required=True)
9-
description = fields.Text(string="Description")
10-
postcode = fields.Char(string="Postcode")
11-
date_availability = fields.Date(string="Availability Date", default=fields.Date.today()+relativedelta(months=3))
12-
expected_price = fields.Float(string="Expected Price", required=True)
13-
selling_price = fields.Float(string="Selling Price", readonly=True)
14-
bedrooms = fields.Integer(string="Bedrooms", default=2)
15-
living_area = fields.Integer(string="Living Area (sqm)")
16-
facades = fields.Integer(string="Facades")
17-
garage = fields.Boolean(string="Garage")
18-
garden = fields.Boolean(string="Garden")
19-
garden_area = fields.Integer(string="Garden Area (sqm)")
10+
description = fields.Text("Description")
11+
postcode = fields.Char("Postcode")
12+
date_availability = fields.Date("Availability Date", default=fields.Date.today()+relativedelta(months=3))
13+
expected_price = fields.Float("Expected Price", required=True)
14+
selling_price = fields.Float("Selling Price", readonly=True)
15+
bedrooms = fields.Integer("Bedrooms", default=2)
16+
living_area = fields.Integer("Living Area (sqm)")
17+
facades = fields.Integer("Facades")
18+
garage = fields.Boolean("Garage")
19+
garden = fields.Boolean("Garden")
20+
garden_area = fields.Integer("Garden Area (sqm)")
2021
garden_orientation = fields.Selection(
2122
selection=[
2223
("north", "North"),
@@ -40,4 +41,5 @@ class estateproperty(models.Model):
4041
default="new",
4142
)
4243
active = fields.Boolean(string="Active", default=True)
44+
4345

estate/views/estate_menus.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
<menuitem id="menu_estate_property_action" action="action_estate_property" />
55
</menuitem>
66
</menuitem>
7-
</odoo>
7+
</odoo>

estate/views/estate_property_views.xml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,72 @@
99
</p>
1010
</field>
1111
</record>
12+
13+
<record id="estate_property_view_list" model="ir.ui.view">
14+
<field name="name">estate.property.view.list</field>
15+
<field name="model">estate.property</field>
16+
<field name="arch" type="xml">
17+
<list string="lists">
18+
<field name="name" />
19+
<field name="postcode" />
20+
<field name="bedrooms" />
21+
<field name="living_area" />
22+
<field name="expected_price" />
23+
<field name="selling_price" />
24+
<field name="date_availability" />
25+
</list>
26+
</field>
27+
</record>
28+
29+
<record id="view_estate_property_view_form" model="ir.ui.view">
30+
<field name="name">estate.property.view.form</field>
31+
<field name="model">estate.property</field>
32+
<field name="arch" type="xml">
33+
<form string="form">
34+
<sheet>
35+
<group>
36+
<group>
37+
<field name="name" />
38+
<field name="postcode" />
39+
<field name="date_availability" />
40+
</group>
41+
<group>
42+
<field name="expected_price" />
43+
<field name="selling_price" />
44+
<field name="bedrooms" />
45+
<field name="living_area" />
46+
<field name="facades" />
47+
<field name="garage" />
48+
<field name="garden" />
49+
<field name="garden_area" />
50+
<field name="garden_orientation" />
51+
</group>
52+
</group>
53+
<notebook>
54+
<page string="Discription">
55+
<field name="description"></field>
56+
</page>
57+
</notebook>
58+
</sheet>
59+
</form>
60+
</field>
61+
</record>
62+
63+
<record id="estate_property_view_search" model="ir.ui.view">
64+
<field name="name">estate.property.view.search</field>
65+
<field name="model">estate.property</field>
66+
<field name="arch" type="xml">
67+
<search string="search">
68+
<field name="name" />
69+
<field name="postcode" />
70+
<field name="expected_price" />
71+
<filter
72+
string="Available"
73+
name="available_properties"
74+
domain="['|', ('state', '=', 'New'), ('state', '=', 'Offer Received')]" />
75+
<filter string="Postcode" name="group_by_postcode"
76+
context="{'group_by': 'postcode'}" />
77+
</search>
78+
</field>
79+
</record>
1280
</odoo>

0 commit comments

Comments
 (0)