Skip to content

Commit b6990b9

Browse files
committed
[IMP] Estate: add the property types
1 parent cdc392e commit b6990b9

File tree

9 files changed

+100
-8
lines changed

9 files changed

+100
-8
lines changed

estate/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#Untracked files
2+
pyproject.toml

estate/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
'data': [
1212
'security/ir.model.access.csv',
1313
'view/estate_property_views.xml',
14+
'view/estate_property_type_views.xml',
1415
'view/estate_menus.xml',
1516
],
1617
'license': 'LGPL-3',

estate/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from . import estate_property
1+
from . import estate_property, estate_property_type

estate/models/estate_property.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class Estate(models.Model):
77
_description = 'It allows to manage your properties'
88

99
name = fields.Char(required=True, default='Unknown')
10+
property_type_id = fields.Many2one('estate.property.type')
1011
last_seen = fields.Datetime('Last Seen', default=fields.Datetime.now)
1112
description = fields.Char(required=True)
1213
postcode = fields.Char()

estate/models/estate_property_type.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from dateutil.relativedelta import relativedelta
2+
from odoo import fields, models
3+
4+
5+
class EstateType(models.Model):
6+
_name = 'estate.property.type'
7+
_description = 'It allows to create a new property type'
8+
9+
name = fields.Char(required=True)

estate/security/ir.model.access.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
22
access_estate_property,access_estate_property,model_estate_property,base.group_user,1,1,1,1
3+
estate.access_estate_property_type,access_estate_property_type,estate.model_estate_property_type,base.group_user,1,1,1,1

estate/view/estate_menus.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,8 @@
33
<menuitem id='test_first_level_menu' name='First Level'>
44
<menuitem id='test_model_menu_action' action='action_test_action'/>
55
</menuitem>
6+
<menuitem id='property_type_menu' name='Property'>
7+
<menuitem id='property_type_menu_action' action='estate_property_type_action'/>
8+
</menuitem>
69
</menuitem>
710
</odoo>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<odoo>
2+
<record id="estate_type_list_view_tree" model="ir.ui.view">
3+
<field name="name">estate.type.main.list</field>
4+
<field name="model">estate.property.type</field>
5+
<field name="arch" type="xml">
6+
<list string="Channel" editable="top">
7+
<field name="name"/>
8+
</list>
9+
</field>
10+
</record>
11+
12+
<record id='estate_property_type_action' model='ir.actions.act_window'>
13+
<field name='name'>property_type_action</field>
14+
<field name='res_model'>estate.property.type</field>
15+
<field name='view_mode'>list</field>
16+
</record>
17+
</odoo>

estate/view/estate_property_views.xml

Lines changed: 65 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
21
<odoo>
3-
<record id='action_test_action' model='ir.actions.act_window'>
4-
<field name='name'>action_test_action</field>
5-
<field name='res_model'>estate.property</field>
6-
<field name='view_mode'>list,form</field>
7-
</record>
8-
92
<record id="estate_list_view_tree" model="ir.ui.view">
103
<field name="name">estate.main.list</field>
114
<field name="model">estate.property</field>
@@ -21,4 +14,69 @@
2114
</list>
2215
</field>
2316
</record>
17+
18+
<record id="estate_view_form" model="ir.ui.view">
19+
<field name="name">estate.form</field>
20+
<field name="model">estate.property</field>
21+
<field name="arch" type="xml">
22+
<form string="Estate">
23+
<sheet>
24+
<h1 class="oe_title">
25+
<field name="name" class="mb16"/>
26+
</h1>
27+
<div class="row">
28+
<div class="col-6">
29+
<group>
30+
<field name="postcode"/>
31+
<field name="date_availability"/>
32+
</group>
33+
</div>
34+
<div class="col-6">
35+
<group>
36+
<field name="expected_price"/>
37+
<field name="selling_price"/>
38+
</group>
39+
</div>
40+
</div>
41+
<notebook>
42+
<page string="Description">
43+
<group>
44+
<field name="description"/>
45+
<field name="bedrooms"/>
46+
<field name="living_area"/>
47+
<field name="facades"/>
48+
<field name="garage"/>
49+
<field name="garden"/>
50+
<field name="garden_area"/>
51+
<field name="garden_orientation"/>
52+
<field name="property_type_id"/>
53+
</group>
54+
</page>
55+
</notebook>
56+
</sheet>
57+
</form>
58+
</field>
59+
</record>
60+
61+
<record id='estate_view_search' model="ir.ui.view">
62+
<field name="name">estate.view.search</field>
63+
<field name="model">estate.property</field>
64+
<field name="arch" type="xml">
65+
<search string="Search Estates">
66+
<field name="name"/>
67+
<filter string="Available" name="available" domain="[('state', '!=', 'sold' ), ('state', '!=', 'cancelled'), ('state', '!=', 'offer_accepted')]"/>
68+
<filter string="Garage" name="garage" domain="[('garage', '!=', True )]"/>
69+
<group expand="True" string="Group By">
70+
<filter string="Poscode" name="postcode" context="{'group_by':'postcode'}"/>
71+
</group>
72+
</search>
73+
</field>
74+
</record>
75+
76+
77+
<record id='action_test_action' model='ir.actions.act_window'>
78+
<field name='name'>property_action</field>
79+
<field name='res_model'>estate.property</field>
80+
<field name='view_mode'>list,form</field>
81+
</record>
2482
</odoo>

0 commit comments

Comments
 (0)