Skip to content

Commit 37b90b6

Browse files
committed
[ADD] estate: Added property tags and offers page
1 parent 0ec901f commit 37b90b6

12 files changed

+115
-5
lines changed

.idea/workspace.xml

Lines changed: 6 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

estate/__manifest__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
'views/estate_property_views.xml',
1010
'views/estate_menus.xml',
1111
'views/estate_property_types_views.xml',
12+
'views/estate_property_tag_views.xml',
13+
'views/estate_property_offer_views.xml',
1214
],
1315
'license': "LGPL-3",
1416
# data files containing optionally loaded demonstration data

estate/models/__init__.py

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

estate/models/estate_property.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class EstateProperty(models.Model):
3636
property_type_id = fields.Many2one('estate.property.types', string="Property Type")
3737
salesman_id = fields.Many2one('res.users', string="Salesman", default=lambda self: self.env.user)
3838
buyer_id = fields.Many2one('res.partner', string="Buyer")
39+
tag_ids = fields.Many2many('estate.property.tag', string="Property Tags")
40+
offer_ids = fields.One2many('estate.property.offer', 'property_id', string="Offers")
3941

4042
def action_cancel(self):
4143
state = self.state
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from odoo import fields, models
2+
3+
4+
class EstatePropertyOffer(models.Model):
5+
_name = 'estate.property.offer'
6+
_description = 'Model representing the offers from partners to a specific property'
7+
8+
price = fields.Float(string="Price")
9+
status = fields.Selection(
10+
string="Status",
11+
copy=False,
12+
selection=[
13+
('accepted', "Accepted"),
14+
('refused', "Refused")
15+
]
16+
)
17+
partner_id = fields.Many2one('res.partner', string="Partner", required=True)
18+
property_id = fields.Many2one('estate.property', string="Property", required=True)

estate/models/estate_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 fields, models
2+
3+
4+
class EstatePropertyType(models.Model):
5+
_name = 'estate.property.tag'
6+
_description = 'Model representing the tags of each estate property'
7+
8+
name = fields.Char(string="Name", required=True)

estate/security/ir.model.access.csv

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
22
estate.access_estate_property,access_estate_property,estate.model_estate_property,base.group_user,1,1,1,0
3-
estate.access_estate_property_types,access_estate_property_types,estate.model_estate_property_types,base.group_user,1,1,1,0
3+
estate.access_estate_property_types,access_estate_property_types,estate.model_estate_property_types,base.group_user,1,1,1,0
4+
estate.access_estate_property_tag,access_estate_property_tag,estate.model_estate_property_tag,base.group_user,1,1,1,0
5+
estate.access_estate_property_offer,access_estate_property_offer,estate.model_estate_property_offer,base.group_user,1,1,1,0

estate/views/estate_menus.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
</menuitem>
77
<menuitem id='settings_menu' name="Settings">
88
<menuitem id='property_types_menu_action' action="property_types_action"/>
9+
<menuitem id='property_tag_menu_action' action="property_tag_action"/>
910
</menuitem>
1011
</menuitem>
1112
</odoo>
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="property_offer_view_list" model="ir.ui.view">
4+
<field name="name">List View</field>
5+
<field name="model">estate.property.offer</field>
6+
<field name="arch" type="xml">
7+
<list string="Properties">
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_view_form" model="ir.ui.view">
16+
<field name="name">Estate Property Offers Form</field>
17+
<field name="model">estate.property.offer</field>
18+
<field name="arch" type="xml">
19+
<form string="View Form">
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: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
<record id="property_tag_action" model="ir.actions.act_window">
4+
<field name="name">Property Tags</field>
5+
<field name="res_model">estate.property.tag</field>
6+
<field name="view_mode">list,form</field>
7+
</record>
8+
9+
<record id="property_tag_view_list" model="ir.ui.view">
10+
<field name="name">List View</field>
11+
<field name="model">estate.property.tag</field>
12+
<field name="arch" type="xml">
13+
<list string="Properties">
14+
<field name="name"/>
15+
</list>
16+
</field>
17+
</record>
18+
19+
<record id="estate_property_tag_view_form" model="ir.ui.view">
20+
<field name="name">Estate Property Tags Form</field>
21+
<field name="model">estate.property.tag</field>
22+
<field name="arch" type="xml">
23+
<form string="View Form">
24+
<sheet>
25+
<group>
26+
<h1><field name="name"/></h1>
27+
</group>
28+
</sheet>
29+
</form>
30+
</field>
31+
</record>
32+
</odoo>

0 commit comments

Comments
 (0)