|
3 | 3 | <field name="name">Properties</field>
|
4 | 4 | <field name="res_model">estate.property</field>
|
5 | 5 | <field name="view_mode">list,form</field>
|
| 6 | + <field name="context">{'search_default_available': True}</field> |
6 | 7 | </record>
|
7 | 8 |
|
8 | 9 | <record id="estate_property_view_list" model="ir.ui.view">
|
9 | 10 | <field name="name">properties.view.list</field>
|
10 | 11 | <field name="model">estate.property</field>
|
11 | 12 | <field name="arch" type="xml">
|
12 |
| - <list string="properties list"> |
| 13 | + <list string="properties list" decoration-success="offer_ids" decoration-bf="state=='offer_accepted'" decoration-muted="state=='sold'"> |
13 | 14 | <field name="name"/>
|
14 | 15 | <field name="postcode"/>
|
| 16 | + <field name="property_type_id"/> |
| 17 | + <field name="tag_ids" widget="many2many_tags" options="{'color_field':'color'}"/> |
| 18 | + <field name="state"/> |
15 | 19 | <field name="bedrooms"/>
|
16 | 20 | <field name="living_area"/>
|
17 | 21 | <field name="expected_price"/>
|
18 | 22 | <field name="selling_price"/>
|
19 |
| - <field name="availability_date"/> |
| 23 | + <field name="availability_date" optional="hide"/> |
20 | 24 | </list>
|
21 | 25 | </field>
|
22 | 26 | </record>
|
|
27 | 31 | <field name="arch" type="xml">
|
28 | 32 | <form string="properties from">
|
29 | 33 | <header>
|
30 |
| - <button name="action_sell" type="object" string="Mark as Sold"/> |
31 |
| - <button name="action_cancel" type="object" string="Cancel"/> |
| 34 | + <button name="action_sell" type="object" string="Mark as Sold" invisible="state in ['sold', 'cancelled']"/> |
| 35 | + <button name="action_cancel" type="object" string="Cancel" invisible="state in ['sold', 'cancelled']"/> |
| 36 | + <field name="state" widget="statusbar" statusbar_visible="new,offer_received,offer_accepted,sold"/> |
32 | 37 | </header>
|
33 | 38 | <sheet>
|
34 | 39 | <h1>
|
35 | 40 | <field name="name"/>
|
36 | 41 | </h1>
|
37 |
| - <field name="tag_ids" widget="many2many_tags"/> |
| 42 | + <field name="tag_ids" widget="many2many_tags" options="{'color_field':'color'}"/> |
38 | 43 | <group>
|
39 | 44 | <group>
|
40 |
| - <field name="property_type_id"/> |
| 45 | + <field name="property_type_id" options="{'no_create':true}"/> |
41 | 46 | <field name="postcode"/>
|
42 | 47 | <field name="availability_date"/>
|
43 | 48 | </group>
|
|
56 | 61 | <field name="facades"/>
|
57 | 62 | <field name="garage"/>
|
58 | 63 | <field name="garden"/>
|
59 |
| - <field name="garden_area"/> |
60 |
| - <field name="garden_orientation"/> |
61 |
| - <field name="state"/> |
| 64 | + <field name="garden_area" invisible="not garden"/> |
| 65 | + <field name="garden_orientation" invisible="not garden"/> |
62 | 66 | <field name="total_area"/>
|
63 | 67 | </group>
|
64 | 68 | </page>
|
65 | 69 | <page string="Offers">
|
66 |
| - <field name="offer_ids"/> |
| 70 | + <field name="offer_ids" readonly="state in ['offer_accepted', 'sold', 'cancelled']"/> |
67 | 71 | </page>
|
68 | 72 | <page string="Other Info">
|
69 | 73 | <group>
|
|
85 | 89 | <field name="name"/>
|
86 | 90 | <field name="postcode"/>
|
87 | 91 | <field name="bedrooms"/>
|
88 |
| - <field name="living_area"/> |
| 92 | + <field name="living_area" filter_domain="[('living_area', '>=', self)]"/> |
89 | 93 | <field name="expected_price"/>
|
90 | 94 | <field name="selling_price"/>
|
91 | 95 | <field name="availability_date"/>
|
92 |
| - <filter string="Available" name="state" domain="[('state','in',['new', 'offer_received'])]"/> |
| 96 | + <filter string="Available" name="available" domain="[('state', 'in', ['new', 'offer_received'])]"/> |
93 | 97 | <group expand="1" string="Group By">
|
94 | 98 | <filter string="Postcode" name="postcode" context="{'group_by':'postcode'}"/>
|
95 | 99 | </group>
|
|
0 commit comments