|
4 | 4 | <field name="name">estate.property.search</field> |
5 | 5 | <field name="model">estate.property</field> |
6 | 6 | <field name="arch" type="xml"> |
7 | | - <search string="Apartments"> |
| 7 | + <search string="Properties"> |
8 | 8 | <field name="name" string="Title"/> |
9 | 9 | <field name="postcode"/> |
10 | 10 | <field name="expected_price"/> |
11 | 11 | <field name="bedrooms"/> |
12 | | - <field name="living_area" string="Living Area (sqm)"/> |
| 12 | + <field name="living_area" string="Living Area (sqm)" filter_domain="[('living_area', '>=', self)]"/> |
13 | 13 | <field name="facades"/> |
14 | 14 | <separator/> |
15 | 15 | <filter string="Available" name="state" domain="[('state', 'in', ['new', 'offer-received'])]"/> |
|
26 | 26 | <field name="arch" type="xml"> |
27 | 27 | <form string="Listing"> |
28 | 28 | <header> |
29 | | - <button name="action_property_cancel" string="Cancel" type="object" class="oe_highlight"/> |
30 | | - <button name="action_property_sold" string="Sold" type="object" class="oe_highlight"/> |
| 29 | + <button name="action_property_sold" string="Sold" type="object" invisible="state == 'sold'"/> |
| 30 | + <button name="action_property_cancel" string="Cancel" type="object" invisible="state == 'sold'"/> |
| 31 | + <field name="state" widget="statusbar" statusbar_visible="new,offer-received,offer-accepted,sold"/> |
31 | 32 | </header> |
32 | 33 | <sheet> |
33 | 34 | <h1> |
34 | 35 | <field name="name"/> |
35 | 36 | </h1> |
36 | | - <field name="tag_ids" widget="many2many_tags"/> |
| 37 | + <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/> |
37 | 38 | <group> |
38 | 39 | <group> |
39 | | - <field name="state" string="Status"/> |
40 | | - <field name="property_type_id"/> |
| 40 | + <field name="property_type_id" options="{'no_create': true}"/> |
41 | 41 | <field name="postcode"/> |
42 | 42 | <field name="date_availability" string="Available From"/> |
43 | 43 | </group> |
|
56 | 56 | <field name="facades"/> |
57 | 57 | <field name="garage"/> |
58 | 58 | <field name="garden"/> |
59 | | - <field name="garden_area" string="Garden Area (sqm)"/> |
60 | | - <field name="garden_orientation"/> |
| 59 | + <field name="garden_area" string="Garden Area (sqm)" invisible="not garden"/> |
| 60 | + <field name="garden_orientation" invisible="not garden"/> |
61 | 61 | <field name="total_area" string="Total Area (sqm)"/> |
62 | 62 | </group> |
63 | 63 | </page> |
64 | 64 | <page string="Offers"> |
65 | | - <field name = "offers_ids"/> |
| 65 | + <field name = "offers_ids" readonly="state in ['offer-accepted', 'sold', 'cancelled']"/> |
66 | 66 | </page> |
67 | 67 | <page string="Other info"> |
68 | 68 | <group> |
|
80 | 80 | <field name="name">estate.property.list</field> |
81 | 81 | <field name="model">estate.property</field> |
82 | 82 | <field name="arch" type="xml"> |
83 | | - <list string="Listings"> |
| 83 | + <list string="Listings" decoration-success="state in ('offer-received', 'offer-accepted')" decoration-bf="state == 'offer-accepted'" decoration-muted="state == 'sold'"> |
84 | 84 | <field name="name" string="Title"/> |
85 | 85 | <field name="postcode"/> |
86 | 86 | <field name="bedrooms"/> |
87 | 87 | <field name="living_area" string="Living Area (sqm)"/> |
88 | 88 | <field name="expected_price"/> |
89 | 89 | <field name="selling_price"/> |
90 | | - <field name="date_availability" string="Available From"/> |
| 90 | + <field name="date_availability" string="Available From" optional="hidden"/> |
91 | 91 | </list> |
92 | 92 | </field> |
93 | 93 | </record> |
|
96 | 96 | <field name="name">Properties</field> |
97 | 97 | <field name="res_model">estate.property</field> |
98 | 98 | <field name="view_mode">list,form</field> |
| 99 | + <field name="context">{'search_default_state': True}</field> |
99 | 100 | </record> |
100 | 101 | </odoo> |
0 commit comments