|
8 | 8 | Create a new property |
9 | 9 | </p> |
10 | 10 | </field> |
| 11 | + <field name="context">{'search_default_available_properties': 1}</field> |
11 | 12 | </record> |
12 | 13 |
|
13 | 14 | <record id="estate_property_view_list" model="ir.ui.view"> |
14 | 15 | <field name="name">estate.property.view.list</field> |
15 | 16 | <field name="model">estate.property</field> |
16 | 17 | <field name="arch" type="xml"> |
17 | | - <list string="lists"> |
| 18 | + <list string="lists" |
| 19 | + decoration-success="state == 'offer_received' or state == 'offer_accepted'" |
| 20 | + decoration-bf="state == 'offer_accepted'" |
| 21 | + decoration-muted="state == 'sold'"> |
18 | 22 | <field name="name" /> |
19 | 23 | <field name="postcode" /> |
20 | 24 | <field name="bedrooms" /> |
21 | 25 | <field name="living_area" /> |
22 | 26 | <field name="expected_price" /> |
23 | 27 | <field name="selling_price" /> |
24 | | - <field name="date_availability" /> |
| 28 | + <field name="date_availability" optional="hide" /> |
25 | 29 | <field name="property_type_id" /> |
26 | | - <field name="tag_ids" widget="many2many_tags" /> |
| 30 | + <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}" /> |
27 | 31 | </list> |
28 | 32 | </field> |
29 | 33 | </record> |
|
34 | 38 | <field name="arch" type="xml"> |
35 | 39 | <form string="form"> |
36 | 40 | <header> |
37 | | - <button name="action_sold" type="object" string="Sold" /> |
38 | | - <button name="action_cancel" type="object" string="Cancel" /> |
| 41 | + <button name="action_sold" type="object" string="Sold" |
| 42 | + invisible="state in ['sold', 'canceled']" /> |
| 43 | + <button name="action_cancel" type="object" string="Cancel" |
| 44 | + invisible="state in ['sold', 'canceled']" /> |
| 45 | + <field name="state" widget="statusbar" |
| 46 | + statusbar_visible="new,offer_received,offer_accepted,sold,cancelled" /> |
39 | 47 | </header> |
40 | 48 | <sheet> |
41 | 49 | <group> |
42 | 50 | <group> |
43 | 51 | <field name="name" /> |
44 | 52 | <field name="postcode" /> |
45 | 53 | <field name="date_availability" /> |
46 | | - <field name="property_type_id" /> |
| 54 | + <field name="property_type_id" |
| 55 | + options="{'no_create': true, 'no_edit': true}" /> |
47 | 56 | <field name="state" /> |
48 | | - <field name="tag_ids" widget="many2many_tags" /> |
| 57 | + <field name="tag_ids" widget="many2many_tags" |
| 58 | + options="{'color_field': 'color'}" /> |
49 | 59 | <field name="best_price" /> |
50 | 60 | </group> |
51 | 61 | <group> |
|
56 | 66 | <field name="facades" /> |
57 | 67 | <field name="garage" /> |
58 | 68 | <field name="garden" /> |
59 | | - <field name="garden_area" /> |
60 | | - <field name="garden_orientation" /> |
| 69 | + <field name="garden_area" invisible="not garden" /> |
| 70 | + <field name="garden_orientation" invisible="not garden" /> |
61 | 71 | <field name="total_area" /> |
62 | 72 | </group> |
63 | 73 | </group> |
|
67 | 77 | </page> |
68 | 78 |
|
69 | 79 | <page string="Offers"> |
70 | | - <field name="offer_ids"> |
| 80 | + <field name="offer_ids" |
| 81 | + readonly="state in ['offer_accepted', 'sold', 'canceled']"> |
71 | 82 | </field> |
72 | 83 | </page> |
73 | 84 |
|
|
91 | 102 | <field name="name" /> |
92 | 103 | <field name="postcode" /> |
93 | 104 | <field name="expected_price" /> |
94 | | - <field name="property_type_id" /> |
| 105 | + <field |
| 106 | + name="property_type_id" /> |
95 | 107 | <filter |
96 | 108 | string="Available" |
97 | 109 | name="available_properties" |
98 | | - domain="['|', ('state', '=', 'New'), ('state', '=', 'Offer Received')]" /> |
99 | | - <filter string="Postcode" name="group_by_postcode" |
| 110 | + domain="['|', ('state', '=', 'new'), ('state', '=', 'offer_received')]" /> |
| 111 | + <filter |
| 112 | + string="Postcode" name="group_by_postcode" |
100 | 113 | context="{'group_by': 'postcode'}" /> |
| 114 | + <field name="living_area" |
| 115 | + filter_domain="[('living_area', '>=', self)]" /> |
101 | 116 | </search> |
102 | 117 | </field> |
103 | 118 | </record> |
|
0 commit comments