|
11 | 11 | <field name="postcode" /> |
12 | 12 | <field name="expected_price" /> |
13 | 13 | <field name="bedrooms" /> |
14 | | - <field name="living_area" /> |
| 14 | + <field name="living_area" filter_domain="[('living_area', '>=', self)]" /> |
15 | 15 | <field name="facades" /> |
16 | | - <filter string="Available" name="state" |
| 16 | + <filter name="state" string="Available" |
17 | 17 | domain="[('state', 'in', ('new', 'offer_received'))]" /> |
18 | 18 | <filter string="Postcode" name="postcode" context="{'group_by':'postcode'}" /> |
19 | 19 | </search> |
|
26 | 26 | <field name="arch" type="xml"> |
27 | 27 | <form string="Property"> |
28 | 28 | <header> |
29 | | - <button name='action_set_property_as_sold' type='object' string='Sold' /> |
30 | | - <button name='action_set_property_as_canceled' type='object' string='Cancel' /> |
| 29 | + <button name='action_set_property_as_sold' type='object' string='Sold' |
| 30 | + invisible='state in ("canceled", "sold")' /> |
| 31 | + <button name='action_set_property_as_canceled' type='object' string='Cancel' |
| 32 | + invisible='state in ("canceled", "sold")' /> |
| 33 | + <field name='state' widget='statusbar' /> |
31 | 34 | </header> |
32 | 35 | <sheet> |
33 | 36 | <div class="oe_title mb-4"> |
34 | 37 | <h1> |
35 | 38 | <field name="name" /> |
36 | 39 | </h1> |
37 | | - <field name="property_tag_ids" widget="many2many_tags" /> |
| 40 | + <field name="property_tag_ids" widget="many2many_tags" |
| 41 | + options="{'color_field': 'color'}" /> |
38 | 42 | </div> |
39 | 43 | <group> |
40 | 44 | <group> |
41 | | - <field name="property_type_id" /> |
| 45 | + <field name="property_type_id" options='{"no_create": true}' /> |
42 | 46 | <field name="postcode" /> |
43 | 47 | <field name="date_availability" /> |
44 | 48 | </group> |
|
57 | 61 | <field name="facades" /> |
58 | 62 | <field name="garage" /> |
59 | 63 | <field name="garden" /> |
60 | | - <field name="garden_area" /> |
61 | | - <field name="garden_orientation" /> |
| 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" |
| 71 | + readonly='state in ("offer_accepted", "sold", "canceled")' |
| 72 | + /> |
67 | 73 | </page> |
68 | 74 | <page string="Other info"> |
69 | 75 | <group> |
70 | | - <field name="salesperson" /> |
71 | | - <field name="buyer" /> |
| 76 | + <field name="salesperson_id" /> |
| 77 | + <field name="buyer_id" /> |
72 | 78 | </group> |
73 | 79 | </page> |
74 | 80 | </notebook> |
|
81 | 87 | <field name="name">estate.property.list</field> |
82 | 88 | <field name="model">estate.property</field> |
83 | 89 | <field name="arch" type="xml"> |
84 | | - <list string="Properties"> |
| 90 | + <list string="Properties" |
| 91 | + decoration-success="state in ('offer_received', 'offer_accepted')" |
| 92 | + decoration-bf="state == 'offer_accepted'" |
| 93 | + decoration-muted="state == 'sold'"> |
85 | 94 | <field name="name" /> |
86 | 95 | <field name="property_type_id" /> |
87 | 96 | <field name="postcode" /> |
| 97 | + <field name="property_tag_ids" widget="many2many_tags" |
| 98 | + options="{'color_field': 'color'}" |
| 99 | + /> |
88 | 100 | <field name="bedrooms" /> |
89 | 101 | <field name="living_area" /> |
90 | 102 | <field name="expected_price" /> |
91 | 103 | <field name="selling_price" /> |
92 | | - <field name="date_availability" /> |
| 104 | + <field name="date_availability" optional="hide" /> |
93 | 105 | </list> |
94 | 106 | </field> |
95 | 107 | </record> |
|
98 | 110 | <field name="name">Property</field> |
99 | 111 | <field name="res_model">estate.property</field> |
100 | 112 | <field name="view_mode">list,form</field> |
| 113 | + <field name="context">{'search_default_state': True}</field> |
101 | 114 | </record> |
102 | 115 | </odoo> |
0 commit comments