8000 [IMP] estate: Chapter 7 · odoo/tutorials@a5ea174 · GitHub
[go: up one dir, main page]

Skip to content

Commit a5ea174

Browse files
committed
[IMP] estate: Chapter 7
Added property models offer, type and tags
1 parent 92195f6 commit a5ea174

12 files changed

+141
-4
lines changed

estate/__manifest__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
'data': [
1515
'security/ir.model.access.csv',
1616
'views/estate_property_views.xml',
17+
'views/estate_property_type_views.xml',
18+
'views/estate_property_tags_views.xml',
19+
'views/estate_property_offer_views.xml',
1720
'data/estate_menus.xml',
1821
],
1922
}

estate/data/estate_menus.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
<?xml version="1.0"?>
22
<odoo>
33
<menuitem id="estate_property_menu_root" name="Real Estate">
4-
<menuitem id="estate_property_first_level_menu" name="Advertisements">
4+
<menuitem id="estate_property_advertisement_menu" name="Advertisements">
55
<menuitem id="estate_property_model_menu_action" action="estate_property_model_action"/>
66
</menuitem>
7+
<menuitem id="estate_property_settings_menu" name="Settings">
8+
<menuitem id="estate_property_type_model_menu_action" action="estate_property_type_model_action"/>
9+
<menuitem id="estate_property_tags_model_menu_action" action="estate_property_tags_model_action"/>
10+
</menuitem>
711
</menuitem>
812
</odoo>

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_tags
4+
from . import estate_property_offer

estate/models/estate_property.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,8 @@ class EstateModel(models.Model):
2727
copy=False,
2828
default='new',
2929
selection=[('new', 'New'), ('offer_received', 'Offer Received'), ('offer_accepted', 'Offer Accepted'), ('sold', 'Sold'), ('cancelled', 'Cancelled')])
30+
property_type_id = fields.Many2one("estate.property.type", string="Property Type")
31+
salesman_id = fields.Many2one("res.users", string="Salesman", default=lambda self: self.env.user)
32+
buyer_id = fields.Many2one("res.partner", string="Buyer", copy=False)
33+
tag_ids = fields.Many2many("estate.property.tags", string="Tags")
34+
offer_ids = fields.One2many("estate.property.offer", "property_id", string="Offers")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from odoo import fields, models
2+
3+
4+
class EstateOfferModel(models.Model):
5+
_name = 'estate.property.offer'
6+
_description = 'Estate property offer'
7+
8+
price = fields.Float()
9+
status = fields.Selection(
10+
selection=[('accepted', 'Accepted'), ('refused', 'Refused')],
11+
copy=False,)
12+
partner_id = fields.Many2one("res.partner", string="Partner", required=True)
13+
property_id = fields.Many2one("estate.property", string="Offer", required=True)

estate/models/estate_property_tags.py

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 EstateTagsModel(models.Model):
5+
_name = 'estate.property.tags'
6+
_description = 'Estate property tags'
7+
8+
name = fields.Char('Title', required=True, translate=True)

estate/models/estate_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 fields, models
2+
3+
4+
class EstateTypeModel(models.Model):
5+
_name = 'estate.property.type'
6+
_description = 'Estate property type'
7+
8+
name = fields.Char('Title', required=True, translate=True)

estate/security/ir.model.access.csv

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_tags,access_estate_property_tags,model_estate_property_tags,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
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
<record id="estate_property_offer_list_view" 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="Channel" editable="bottom">
8+
<field name="price"/>
9+
<field name="partner_id"/>
10+
<field name="status"/>
11+
</list>
12+
</field>
13+
</record>
14+
15+
<record id="estate_property_offer_form_view" 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 Offer">
20+
<sheet>
21+
<group>
22+
<field name="price"/>
23+
<field name="partner_id"/>
24+
<field name="status"/>
25+
</group>
26+
</sheet>
27+
</form>
28+
</field>
29+
</record>
30+
</odoo>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
<record id="estate_property_tags_model_action" model="ir.actions.act_window">
4+
<field name="name">Property Tags</field>
5+
<field name="res_model">estate.property.tags</field>
6+
<field name="view_mode">form</field>
7+
</record>
8+
9+
<record id="estate_property_tags_form_view" model="ir.ui.view">
10+
<field name="name">estate.property.tags.form</field>
11+
<field name="model">estate.property.tags</field>
12+
<field name="arch" type="xml">
13+
<form string="Property Tags">
14+
<sheet>
15+
<group>
16+
<field name="name"/>
17+
</group>
18+
</sheet>
19+
</form>
20+
</field>
21+
</record>
22+
</odoo>

0 commit comments

Comments
 (0)
0