Skip to content

Commit 88c49fd

Browse files
committed
[IMP] estate: add relational fields about property Type, Tags and Offers
1 parent 8e8fc10 commit 88c49fd

12 files changed

+200
-3
lines changed

estate/__manifest__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
'base'
55
],
66
'data': [
7+
'views/estate_property_type_views.xml',
8+
'views/estate_property_tag_views.xml',
79
'views/estate_property_views.xml',
810
'views/estate_menus.xml',
911
'security/ir.model.access.csv',

estate/models/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
1+
from . import estate_property_type
2+
from . import estate_property_tag
3+
from . import estate_property_offer
24
from . import estate_properties

estate/models/estate_properties.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,8 @@ class Properties(models.Model):
3636
required=True,
3737
copy=False,
3838
default="new")
39+
property_type_id = fields.Many2one("estate.property.type")
40+
buyer = fields.Many2one("res.partner", copy=False)
41+
salesperson = fields.Many2one("res.users", default=lambda self: self.env.user)
42+
tag_ids = fields.Many2many("estate.property.tag")
43+
offer_ids = fields.One2many("estate.property.offer", inverse_name="property_id")
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from odoo import fields, models
2+
3+
class PropertyOffer(models.Model):
4+
_name = "estate.property.offer"
5+
_description = "Offre d'achat"
6+
7+
price = fields.Float("price")
8+
status = fields.Selection(copy=False, selection=[('accepted', 'Accepted'), ('refused', 'Refused')])
9+
partner_id = fields.Many2one("res.partner", required=True)
10+
property_id = fields.Many2one("estate_property", required=True)

estate/models/estate_property_tag.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from odoo import fields, models
2+
3+
class PropertyTags(models.Model):
4+
_name = "estate.property.tag"
5+
_description = "Tags used to describe a property"
6+
7+
name = fields.Char("name", required=True)

estate/models/estate_property_type.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from odoo import models, fields
2+
3+
class PropertyType(models.Model):
4+
_name = "estate.property.type"
5+
_description = "the type of an estate"
6+
7+
name = fields.Char("Type", required=True)

estate/security/ir.model.access.csv

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2-
estate.access_estate_property,access_estate_property,estate.model_estate_property,base.group_user,1,1,1,1
2+
estate.access_estate_property,access_estate_property,estate.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
4+
estate.access_estate_property_tag,access_estate_property_tag,estate.model_estate_property_tag,base.group_user,1,1,1,1
5+
estate.access_estate_property_offer,access_estate_property_offer,estate.model_estate_property_offer,base.group_user,1,1,1,1

estate/views/estate_menus.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,9 @@
44
<menuitem id="estate_first_level_menu" name="First Level">
55
<menuitem id="estate_menu_action" action="estate_property_action"/>
66
</menuitem>
7+
<menuitem id="estate_type_first_level_menu" name="Estate Types">
8+
<menuitem id="estate_type_menu_action" action="estate_property_type_action"/>
9+
<menuitem id="estate_tag_menu_action" action="estate_property_tag_action"/>
10+
</menuitem>
711
</menuitem>
812
</odoo>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
4+
<record id="estate_property_offer_view_search" model="ir.ui.view">
5+
<field name="name">estate.property.offer.view.search</field>
6+
<field name="model">estate_property</field>
7+
<field name="arch" type="xml">
8+
<search string="Search Property">
9+
<field string="Title" name="name"/>
10+
</search>
11+
</field>
12+
</record>
13+
14+
<record id="estate_property_offer_action" model="ir.actions.act_window">
15+
<field name="name">Show estate property offer</field>
16+
<field name="res_model">estate.property.offer</field>
17+
<field name="view_mode">list,form</field>
18+
</record>
19+
20+
<!-- list view -->
21+
<record id="estate_property_tag_view_tree" model="ir.ui.view">
22+
<field name="name">estate.property.offer.list</field>
23+
<field name="model">estate.property.offer</field>
24+
<field name="arch" type="xml">
25+
<list string="Channel">
26+
<field name="price"/>
27+
<field name="partner_id"/>
28+
<field name="property_id"/>
29+
<field name="status"/>
30+
</list>
31+
</field>
32+
</record>
33+
34+
<!-- Form view -->
35+
<record id="estate_property_tag_view_form" model="ir.ui.view">
36+
<field name="name">estate.property.offer.form</field>
37+
<field name="model">estate.property.offer</field>
38+
<field name="arch" type="xml">
39+
<form string="Property">
40+
<sheet>
41+
<field name="status"/>
42+
<field name="partner_id"/>
43+
<field name="property_id"/>
44+
<field name="price"/>
45+
</sheet>
46+
</form>
47+
</field>
48+
</record>
49+
50+
</odoo>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
4+
<record id="estate_property_tag_view_search" model="ir.ui.view">
5+
<field name="name">estate.property.tag.view.search</field>
6+
<field name="model">estate_property</field>
7+
<field name="arch" type="xml">
8+
<search string="Search Property">
9+
<field string="Title" name="name"/>
10+
</search>
11+
</field>
12+
</record>
13+
14+
<record id="estate_property_tag_action" model="ir.actions.act_window">
15+
<field name="name">Property Tag</field>
16+
<field name="res_model">estate.property.tag</field>
17+
<field name="view_mode">list,form</field>
18+
</record>
19+
20+
<!-- list view -->
21+
<record id="estate_property_tag_view_tree" model="ir.ui.view">
22+
<field name="name">estate.property.tag.list</field>
23+
<field name="model">estate.property.tag</field>
24+
<field name="arch" type="xml">
25+
<list string="Channel">
26+
<field name="name"/>
27+
</list>
28+
</field>
29+
</record>
30+
31+
<!-- Form view -->
32+
<record id="estate_property_tag_view_form" model="ir.ui.view">
33+
<field name="name">estate.property.tag.form</field>
34+
<field name="model">estate.property.tag</field>
35+
<field name="arch" type="xml">
36+
<form string="Property">
37+
<sheet>
38+
<h1><field name="name"/></h1>
39+
</sheet>
40+
</form>
41+
</field>
42+
</record>
43+
44+
</odoo>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
4+
<record id="estate_property_type_view_search" model="ir.ui.view">
5+
<field name="name">estate.property.view.search</field>
6+
<field name="model">estate_property</field>
7+
<field name="arch" type="xml">
8+
<search string="Search Property">
9+
<field string="Title" name="name"/>
10+
</search>
11+
</field>
12+
</record>
13+
14+
<record id="estate_property_type_action" model="ir.actions.act_window">
15+
<field name="name">Property Type</field>
16+
<field name="res_model">estate.property.type</field>
17+
<field name="view_mode">list,form</field>
18+
</record>
19+
20+
<!-- list view -->
21+
<record id="estate_property_type_view_tree" model="ir.ui.view">
22+
<field name="name">estate.property.type.list</field>
23+
<field name="model">estate.property.type</field>
24+
<field name="arch" type="xml">
25+
<list string="Channel">
26+
<field name="name"/>
27+
</list>
28+
</field>
29+
</record>
30+
31+
<!-- Form view -->
32+
<record id="estate_property_type_view_form" model="ir.ui.view">
33+
<field name="name">estate.property.type.form</field>
34+
<field name="model">estate.property.type</field>
35+
<field name="arch" type="xml">
36+
<form string="Property">
37+
<sheet>
38+
<h1><field name="name"/></h1>
39+
</sheet>
40+
</form>
41+
</field>
42+
</record>
43+
44+
</odoo>

estate/views/estate_property_views.xml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
</record>
2424

2525
<record id="estate_property_action" model="ir.actions.act_window">
26-
<field name="name">Show estate property</field>
26+
<field name="name">Estate property</field>
2727
<field name="res_model">estate_property</field>
2828
<field name="view_mode">list,form</field>
2929
</record>
@@ -41,6 +41,8 @@
4141
<field name="expected_price"/>
4242
<field name="selling_price"/>
4343
<field name="date_availability"/>
44+
<field name="property_type_id"/>
45+
<field name="tag_ids"/>
4446
</list>
4547
</field>
4648
</record>
@@ -53,6 +55,7 @@
5355
<form string="Property">
5456
<sheet>
5557
<h1><field name="name"/></h1>
58+
<field name="tag_ids" widget="many2many_tags"/>
5659
<group>
5760
<group>
5861
<field name="postcode"/>
@@ -75,6 +78,22 @@
7578
<field name="garden_area"/>
7679
<field name="garden_orientation"/>
7780
<field name="state"/>
81+
<field name="property_type_id"/>
82+
</group>
83+
</page>
84+
<page string="Offers">
85+
<field name="offer_ids">
86+
<list string="Offers">
87+
<field name="price"/>
88+
<field name="partner_id"/>
89+
<field name="status"/>
90+
</list>
91+
</field>
92+
</page>
93+
<page string="Others Info">
94+
<group>
95+
<field name="buyer"/>
96+
<field name="salesperson"/>
7897
</group>
7998
</page>
8099
</notebook>

0 commit comments

Comments
 (0)