|
8 | 8 | <field name="name"/> |
9 | 9 | <field name="postcode"/> |
10 | 10 | <field name="expected_price"/> |
11 | | - <field name="living_area"/> |
| 11 | + <field name="living_area" string="Living area from" filter_domain="[('living_area', '>=', self)]"/> |
12 | 12 | <field name="facades"/> |
13 | 13 | <field name="bedrooms"/> |
14 | 14 | <field name="property_type_id"/> |
15 | | - <filter string="Available" name="available" domain="[('date_availability', '<=', today)]"/> |
| 15 | + <filter string="Available" name="filter_available" domain="[('date_availability', '<=', today)]"/> |
16 | 16 | <separator/> |
17 | 17 | <filter string="New" name="new_state" domain="[('state', '=', 'new')]"/> |
18 | 18 | <filter string="Offer Received" name="offer_received_state" |
|
32 | 32 | <field name="arch" type="xml"> |
33 | 33 | <form string="Estate Property"> |
34 | 34 | <header> |
35 | | - <button name="property_sold" type="object" string="Sold"/> |
36 | | - <button name="property_cancelled" type="object" string="Cancel"/> |
| 35 | + <button name="property_sold" type="object" string="Sold" invisible="state in ('cancelled','sold')"/> |
| 36 | + <button name="property_cancelled" type="object" string="Cancel" |
| 37 | + invisible="state in ('cancelled','sold')"/> |
| 38 | + <field name="state" widget="statusbar" statusbar_visible="new,offer_received,offer_accepted,sold"/> |
37 | 39 | </header> |
38 | 40 | <sheet> |
39 | 41 | <div class="oe_title"> |
40 | 42 | <h1> |
41 | 43 | <field name="name"/> |
42 | 44 | </h1> |
43 | | - <field name="property_tag_ids" widget="many2many_tags" class="mb16"/> |
| 45 | + <field name="property_tag_ids" widget="many2many_tags" class="mb16" |
| 46 | + options="{'color_field': 'color'}"/> |
44 | 47 | </div> |
45 | 48 | <group> |
46 | 49 | <group> |
47 | | - <field name="state"/> |
48 | | - <field name="property_type_id"/> |
| 50 | + <field name="property_type_id" options="{'no_create_edit': True, 'no_create': True}"/> |
49 | 51 | <field name="postcode"/> |
50 | 52 | <field name="date_availability"/> |
51 | 53 | </group> |
|
64 | 66 | <field name="facades"/> |
65 | 67 | <field name="garage"/> |
66 | 68 | <field name="garden"/> |
67 | | - <field name="garden_area"/> |
68 | | - <field name="garden_orientation"/> |
| 69 | + <field name="garden_area" invisible="not garden"/> |
| 70 | + <field name="garden_orientation" invisible="not garden"/> |
69 | 71 | <field name="total_area"/> |
70 | 72 | </group> |
71 | 73 | </page> |
72 | 74 | <page string="Offers"> |
73 | | - <field name="offer_ids"/> |
| 75 | + <field name="offer_ids" readonly="state in ('offer_accepted','sold','cancelled')"/> |
74 | 76 | </page> |
75 | 77 | <page string="Other Info"> |
76 | 78 | <group> |
|
88 | 90 | <field name="name">estate.property.view.list</field> |
89 | 91 | <field name="model">estate.property</field> |
90 | 92 | <field name="arch" type="xml"> |
91 | | - <list string="Estate Property"> |
| 93 | + <list string="Estate Property" |
| 94 | + decoration-success="state in ('offer_received','offer_accepted')" |
| 95 | + decoration-bf="state=='offer_accepted'" |
| 96 | + decoration-muted="state=='cancelled'" |
| 97 | + > |
92 | 98 | <field name="name" width="140px"/> |
93 | 99 | <field name="postcode" width="100px"/> |
94 | 100 | <field name="property_type_id" width="150px"/> |
95 | 101 | <field name="bedrooms" width="100px"/> |
96 | 102 | <field name="living_area"/> |
97 | 103 | <field name="expected_price"/> |
98 | 104 | <field name="selling_price"/> |
99 | | - <field name="date_availability"/> |
| 105 | + <field name="date_availability" optional="hide"/> |
100 | 106 | </list> |
101 | 107 | </field> |
102 | 108 | </record> |
|
106 | 112 | <field name="res_model">estate.property</field> |
107 | 113 | <field name="view_mode">list,form</field> |
108 | 114 | <field name="search_view_id" ref="estate_property_view_search"/> |
| 115 | + <field name="context">{'search_default_filter_available':1}</field> |
109 | 116 | </record> |
110 | 117 |
|
111 | 118 | </odoo> |
0 commit comments