Skip to content

Commit 8012ccd

Browse files
committed
[IMP] estate: Implementation of chapter 7
Chapter 7 about dependencies has been implemented.
1 parent 204b4bc commit 8012ccd

13 files changed

+193
-6
lines changed

estate/__init__.py

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

estate/__manifest__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
'data': [
99
'security/ir.model.access.csv',
1010

11+
'views/estate_property_type_views.xml',
12+
'views/estate_property_tag_views.xml',
13+
'views/estate_property_offer_views.xml',
1114
'views/estate_property_views.xml',
1215
'views/estate_menu_views.xml'
1316
],
1417
'installable': True,
1518
'application': True,
16-
'auto_install': False
19+
'auto_install': False,
20+
'license': 'AGPL-3'
1721
}

estate/models/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
from . import property
1+
from . import property
2+
from . import property_offer
3+
from . import property_tag
4+
from . import property_type

estate/models/property.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from dateutil.relativedelta import relativedelta
2+
23
from odoo import models, fields
34

45

5-
class TestModel(models.Model):
6+
class Property(models.Model):
67
_name = 'estate.property'
78
_description = 'Property'
89

@@ -31,4 +32,9 @@ class TestModel(models.Model):
3132
('offer_accepted', 'Offer Accepted'),
3233
('sold', 'Sold'),
3334
('cancelled', 'Cancelled')
34-
])
35+
])
36+
property_type_id = fields.Many2one('estate.property.type', string='Property Type', required=True)
37+
buyer_id = fields.Many2one('res.partner', string='Buyer', copy=False)
38+
salesperson_id = fields.Many2one('res.users', string='Sales Person', default=lambda self: self.env.user)
39+
tag_ids = fields.Many2many('estate.property.tag', string='Tags')
40+
offer_ids = fields.One2many('estate.property.offer', 'property_id', string='Offers')

estate/models/property_offer.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from odoo import models, fields
2+
3+
4+
class PropertyOffer(models.Model):
5+
_name = 'estate.property.offer'
6+
_description = 'Property Offer'
7+
8+
state = fields.Selection([
9+
('received', 'Received'),
10+
('accepted', 'Accepted'),
11+
('refused', 'Refused')
12+
], default='received', required=True)
13+
partner_id = fields.Many2one('res.partner', string='Partner', required=True)
14+
price = fields.Float()
15+
property_id = fields.Many2one('estate.property', string='Property', required=True)

estate/models/property_tag.py

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 PropertyTag(models.Model):
5+
_name = 'estate.property.tag'
6+
_description = 'Property Tag'
7+
8+
name = fields.Char(string='Tag', required=True)

estate/models/property_type.py

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 PropertyType(models.Model):
5+
_name = 'estate.property.type'
6+
_description = 'Property Type'
7+
8+
name = fields.Char(string='Title', 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
2+
access_estate_property_type,access_estate_property_type,model_estate_property_type,base.group_user,1,1,1,1
3+
access_estate_property_tag,access_estate_property_tag,model_estate_property_tag,base.group_user,1,1,1,1
4+
access_estate_property_offer,access_estate_property_offer,model_estate_property_offer,base.group_user,1,1,1,1
25
access_estate_property,access_estate_property,model_estate_property,base.group_user,1,1,1,1

estate/views/estate_menu_views.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,9 @@
44
<menuitem id="estate_advertisements_menu" name="Advertisements">
55
<menuitem id="estate_properties_menu" action="estate_property_action"/>
66
</menuitem>
7+
<menuitem id="estate_settings_menu" name="Settings">
8+
<menuitem id="estate_property_type_menu" action="estate_property_type_action"/>
9+
<menuitem id="estate_property_tag_menu" action="estate_property_tag_action"/>
10+
</menuitem>
711
</menuitem>
812
</odoo>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<odoo>
3+
<record id="estate_property_offer_view_list" model="ir.ui.view">
4+
<field name="name">estate.property.offer.list</field>
5+
<field name="model">estate.property.offer</field>
6+
<field name="arch" type="xml">
7+
<list string="Property offers">
8+
<field name="price"/>
9+
<field name="partner_id"/>
10+
<field name="state"/>
11+
</list>
12+
</field>
13+
</record>
14+
15+
<record id="estate_property_offer_view_form" model="ir.ui.view">
16+
<field name="name">estate.property.offer.form</field>
17+
<field name="model">estate.property.offer</field>
18+
<field name="arch" type="xml">
19+
<form string="Property offers">
20+
<sheet>
21+
<group>
22+
<field name="price"/>
23+
<field name="partner_id"/>
24+
<field name="state"/>
25+
</group>
26+
</sheet>
27+
</form>
28+
</field>
29+
</record>
30+
</odoo>

0 commit comments

Comments
 (0)