Skip to content

Commit 357411f

Browse files
committed
[IMP] Estate: Chapter 7- Completed
Solved Exercise 1 & 2 Created New Model Estate Property Type Added New Fields in Models, Views, Menus
1 parent dcf4d0c commit 357411f

8 files changed

Lines changed: 87 additions & 12 deletions

File tree

estate/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
'data': [
1515
'security/ir.model.access.csv',
1616
'views/estate_property_views.xml',
17+
'views/estate_property_type_views.xml',
1718
'views/estate_menus.xml',
1819
],
1920

estate/models/__init__.py

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

estate/models/estate_property.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ class EstateProperty(models.Model):
3939
],
4040
string="Status", required=True, copy=False, default="new")
4141
swimming_pool = fields.Boolean(string="Swimming Pool") # extra fields
42-
property_type = fields.Selection(
43-
[
44-
('house', "House"),
45-
('apartment', "Apartment"),
46-
('villa', "Villa"),
47-
('land', "Land")
48-
],
49-
string="Property Type"
50-
)
42+
# property_type = fields.Selection(
43+
# [
44+
# ('house', "House"),
45+
# ('apartment', "Apartment"),
46+
# ('villa', "Villa"),
47+
# ('land', "Land")
48+
# ],
49+
# string="Property Type"
50+
# )
5151
property_age = fields.Integer(string="Property Age")
52+
property_type_id = fields.Many2one("estate.property.type", string="Property Type")
53+
buyer_id = fields.Many2one("res.partner", string="Buyer", copy=False)
54+
salesperson_id = fields.Many2one("res.users", string="Salesperson", default=lambda self: self.env.user)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from odoo import models, fields
2+
3+
4+
class EstatePropertyType(models.Model):
5+
_name = 'estate.property.type'
6+
_description = 'Real Estate Property Types'
7+
8+
name = fields.Char(string="Type Name", required=True)
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+
access_estate_property_type,access_estate_property_type,model_estate_property_type,base.group_user,1,1,1,1

estate/views/estate_menus.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
name="Real Estate"
77
sequence="1"/>
88

9-
<!-- First Level Menu -->
9+
<!-- First Level Menu Advertisement -->
1010
<menuitem
1111
id="menu_real_estate_advertisements"
1212
name="Advertisements"
@@ -21,4 +21,18 @@
2121
action="action_estate_property"
2222
sequence="1"/>
2323

24+
<!-- First Level Menu Settings -->
25+
<menuitem
26+
id="menu_real_estate_settings"
27+
name="Setttings"
28+
parent="menu_real_estate_root"
29+
sequence="2"/>
30+
31+
<menuitem
32+
id="menu_real_estate_property_types"
33+
name="Property Types"
34+
parent="menu_real_estate_settings"
35+
action="action_estate_property_type"
36+
sequence="1"/>
37+
2438
</odoo>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<odoo>
2+
3+
<record id="action_estate_property_type" model="ir.actions.act_window">
4+
<field name="name">Porperty Types</field>
5+
<field name="res_model">estate.property.type</field>
6+
<field name='view_mode'>list,form</field>
7+
</record>
8+
9+
<record id="view_estate_property_type_list" model="ir.ui.view">
10+
<field name="name">estate.property.type.list</field>
11+
<field name="model">estate.property.type</field>
12+
<field name="arch" type="xml">
13+
<list string="Property types">
14+
15+
<field name="name" />
16+
</list>
17+
</field>
18+
</record>
19+
20+
<record id="view_estate_property_types_form" model="ir.ui.view">
21+
<field name="name">estate.property.type.form</field>
22+
<field name="model">estate.property.type</field>
23+
<field name="arch" type="xml">
24+
<form string="Property Types">
25+
<sheet>
26+
<group>
27+
<field name="name"/>
28+
</group>
29+
</sheet>
30+
</form>
31+
</field>
32+
</record>
33+
</odoo>

estate/views/estate_property_views.xml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<field name="expected_price"/>
2020
<field name="selling_price"/>
2121
<field name="date_availability"/>
22-
<field name="property_type"/>
22+
<field name="property_type_id"/>
2323

2424
</list>
2525
</field>
@@ -38,6 +38,7 @@
3838
<field name="date_availability"/>
3939
</group>
4040
<group>
41+
<field name="property_type_id"/>
4142
<field name="expected_price"/>
4243
<field name="selling_price"/>
4344
</group>
@@ -66,14 +67,23 @@
6667
<group>
6768
<field name="state"/>
6869
<field name="property_age"/>
69-
<field name="property_type"/>
7070
</group>
7171
<group>
7272
<field name="swimming_pool"/>
7373
<field name="active"/>
7474
</group>
7575
</group>
7676
</page>
77+
<page string="Other Info">
78+
<group>
79+
<group>
80+
<field name="buyer_id"/>
81+
</group>
82+
<group>
83+
<field name="salesperson_id"/>
84+
</group>
85+
</group>
86+
</page>
7787
</notebook>
7888
</sheet>
7989
</form>
@@ -124,6 +134,10 @@
124134
Status:
125135
<field name="state"/>
126136
</div>
137+
<div>
138+
Property Type:
139+
<field name="property_type_id"/>
140+
</div>
127141
</div>
128142
</t>
129143
</templates>

0 commit comments

Comments
 (0)