Skip to content

Commit 719f23a

Browse files
committed
[IMP] estate: Add perperty type / tag / offer
1 parent 2ca4042 commit 719f23a

15 files changed

+130
-3
lines changed

estate/__manifest__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,13 @@
1212
'data': [
1313
'security/ir.model.access.csv',
1414
'views/estate_property_views.xml',
15+
'views/estate_property_type_views.xml',
16+
'views/estate_property_tag_views.xml',
1517
'views/estate_menus.xml',
1618
'views/estate_property_list_views.xml',
1719
'views/estate_property_form_views.xml',
1820
'views/estate_property_search_views.xml',
21+
'views/estate_property_offer_list_views.xml',
22+
'views/estate_property_offer_form_views.xml',
1923
],
2024
}

estate/models/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
from . import estate_property
2+
from . import estate_property_type
3+
from . import estate_property_tag
4+
from . import estate_property_offer

estate/models/estate_property.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33

44
class EstateProperty(models.Model):
5-
_name = "estate.property"
6-
_description = "All properties"
5+
_name = 'estate.property'
6+
_description = 'All properties'
77

88
name = fields.Char(required=True)
99
description = fields.Text()
@@ -42,3 +42,15 @@ class EstateProperty(models.Model):
4242
('cancelled', 'Cancelled'),
4343
],
4444
)
45+
property_type_id = fields.Many2one(
46+
'estate.property.type', string='Property Type'
47+
)
48+
buyer_id = fields.Many2one(
49+
'res.partner', string='Buyer', copy=False,
50+
)
51+
salesperson_id = fields.Many2one(
52+
'res.users', string='Salesperson',
53+
default=lambda self: self.env.user,
54+
)
55+
tag_ids = fields.Many2many('estate.property.tag', string='Tags')
56+
offer_ids = fields.One2many('estate.property.offer', 'property_id', string='Offers')
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from odoo import fields, models
2+
3+
4+
class EstatePropertyOffer(models.Model):
5+
_name = 'estate.property.offer'
6+
_description = 'All offers'
7+
8+
price = fields.Float(required=True)
9+
status = fields.Selection(
10+
string='Status',
11+
selection=[
12+
('accepted', 'Accepted'),
13+
('refused', 'Refused'),
14+
],
15+
)
16+
partner_id = fields.Many2one('res.partner', string='Partner')
17+
property_id = fields.Many2one('estate.property', string='Property')
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from odoo import fields, models
2+
3+
4+
class EstatePropertyTag(models.Model):
5+
_name = 'estate.property.tag'
6+
_description = 'All property tags'
7+
8+
name = fields.Char(required=True)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from odoo import fields, models
2+
3+
4+
class EstatePropertyType(models.Model):
5+
_name = 'estate.property.type'
6+
_description = 'All property types'
7+
8+
name = fields.Char(required=True)
Lines changed: 3 additions & 0 deletions
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
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
4+
access_estate_property_tag,access_estate_property_tag,model_estate_property_tag,base.group_user,1,1,1,1
5+
access_estate_property_offer,access_estate_property_offer,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
@@ -3,5 +3,9 @@
33
<menuitem id="advertisement" name="Advertisement">
44
<menuitem id="estate_property_menu_action" action="estate_property_action"/>
55
</menuitem>
6+
<menuitem id="settings" name="Settings">
7+
<menuitem id="estate_property_type_menu_action" action="estate_property_type_action"/>
8+
<menuitem id="estate_property_tag_menu_action" action="estate_property_tag_action"/>
9+
</menuitem>
610
</menuitem>
711
</odoo>

estate/views/estate_property_form_views.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
<field name="name" class="mb16"/>
1010
</h1>
1111
<group>
12+
<field name="tag_ids" widget="many2many_tags"/>
13+
</group>
14+
<group>
15+
<group>
16+
<field name="property_type_id"/>
17+
</group>
1218
<group>
1319
<field name="postcode"/>
1420
</group>
@@ -33,7 +39,12 @@
3339
<field name="garden"/>
3440
<field name="garden_area"/>
3541
<field name="garden_orientation"/>
36-
<field name="property_type_id"/>
42+
</group>
43+
</page>
44+
<page string="Other Info">
45+
<group>
46+
<field name="buyer_id"/>
47+
<field name="salesperson_id"/>
3748
</group>
3849
</page>
3950
</notebook>

estate/views/estate_property_list_views.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
<field name="expected_price"/>
1212
<field name="selling_price"/>
1313
<field name="date_availability" string="Available from"/>
14+
<field name="property_type_id" width="120px"/>
15+
<field name="tag_ids" widget="many2many_tags" width="120px"/>
1416
</list>
1517
</field>
1618
</record>

0 commit comments

Comments
 (0)