Skip to content

Commit f9b9613

Browse files
committed
[IMP] estate: End of tutorial chapter 14
1 parent 0a9c115 commit f9b9613

File tree

3 files changed

+35
-7
lines changed

3 files changed

+35
-7
lines changed

estate/models/estate_property.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class EstateProperty(models.Model):
1212
name = fields.Char('Title', required=True, translate=True)
1313
description = fields.Text('Description')
1414
postcode = fields.Char('Postcode')
15-
date_availability = fields.Date('Date Available', copy=False, default=lambda self: self._get_day_in_3_months())
15+
date_availability = fields.Date('Date Available', copy=False, default=fields.Date.add(fields.Date.today(), months=3))
1616
expected_price = fields.Float('Expected Price', required=True)
1717
selling_price = fields.Float("Selling Price", readonly=True, copy=False)
1818
bedrooms = fields.Integer('Bedrooms', default=2)
@@ -90,6 +90,3 @@ def action_cancel_sell_property(self):
9090
else:
9191
record.state = "cancelled"
9292
return True
93-
94-
def _get_day_in_3_months(self):
95-
return fields.Date.add(fields.Date.today(), months=3)

estate/views/estate_property_views.xml

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<record id="estate_action" model="ir.actions.act_window">
44
<field name="name">Advertisements</field>
55
<field name="res_model">estate.property</field>
6-
<field name="view_mode">list,form</field>
6+
<field name="view_mode">list,form,kanban</field>
77
<field name="context">{'search_default_state': True, 'search_default_current': True}</field>
88
</record>
99

@@ -82,6 +82,36 @@
8282
</form>
8383
</field>
8484
</record>
85+
<record id="estate_property_kanban" model="ir.ui.view">
86+
<field name="name">estate.property.view.kanban</field>
87+
<field name="model">estate.property</field>
88+
<field name="arch" type="xml">
89+
<kanban records_draggable="False" default_group_by="property_type_id">
90+
<field name="state"/>
91+
<templates>
92+
<t t-name="kanban-box">
93+
<div>
94+
<div>
95+
<field name="name"/>
96+
</div>
97+
<div>
98+
Expected Price: <field name="expected_price"/>
99+
</div>
100+
<div t-if="record.state.raw_value == 'offer_received'">
101+
Best Offer: <field name="best_offer"/>
102+
</div>
103+
<div t-if="record.state.raw_value == 'offer_accepted' or record.state.raw_value == 'sold'">
104+
Selling Price: <field name="selling_price"/>
105+
</div>
106+
<div>
107+
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
108+
</div>
109+
</div>
110+
</t>
111+
</templates>
112+
</kanban>
113+
</field>
114+
</record>
85115
<record id="estate_property_view_search" model="ir.ui.view">
86116
<field name="name">estate.property.view.search</field>
87117
<field name="model">estate.property</field>
@@ -93,9 +123,10 @@
93123
<field name="bedrooms"/>
94124
<field name="living_area" filter_domain="[('living_area', '>=', self)]"/>
95125
<field name="facades"/>
96-
<filter string="Available" name="state" domain="['|',('state', '=', 'New'),('state', '=', 'Offer Received')]"/>
126+
<filter string="Available" name="state" domain="['|',('state', '=', 'new'),('state', '=', 'offer_received')]"/>
97127
<group expand="1" string="Group By">
98128
<filter string="Postcode" name="postcode" context="{'group_by':'postcode'}"/>
129+
<filter string="House Type" name="property_type_id" context="{'group_by':'property_type_id'}"/>
99130
</group>
100131
</search>
101132
</field>

estate_account/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from . import models
1+
from . import models

0 commit comments

Comments
 (0)