Skip to content

Commit b901a20

Browse files
committed
[IMP] estate: new models property type, property tag, offer
1 parent 3ca9175 commit b901a20

12 files changed

+97
-4
lines changed

estate/__manifest__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
'depends': ['base'],
44
'data': ['security/ir.model.access.csv',
55
'views/estate_property_views.xml',
6+
'views/estate_property_type_views.xml',
7+
'views/estate_property_tag_views.xml',
8+
'views/estate_property_offer_views.xml',
69
'views/estate_menus.xml'],
710
'application': True,
811
'author': 'leker',

estate/models/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
from . import estate_property
1+
from . import (
2+
estate_property,
3+
estate_property_offer,
4+
estate_property_tag,
5+
estate_property_type,
6+
)

estate/models/estate_property.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ class Property(models.Model):
3232
('east', 'East'),
3333
('west', 'West'),
3434
], string='Garden Orientation')
35+
property_type_id = fields.Many2one('estate.property.type', string="Property Type")
36+
salesperson_id = fields.Many2one('res.users', string="Salesperson", default=lambda self: self.env.user)
37+
buyer_id = fields.Many2one('res.partner', string="Buyer", copy=False)
38+
tag_ids = fields.Many2many('estate.property.tag', string="Tags")
39+
offer_ids = fields.One2many('estate.property.offer', 'property_id', string="Offers")
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from odoo import fields, models
2+
3+
4+
class PropertyOffer(models.Model):
5+
_name = "estate.property.offer"
6+
_description = "Real Estate Property Offer"
7+
8+
price = fields.Float(name="Price")
9+
status = fields.Selection([
10+
('accepted', 'Accepted'),
11+
('refused', 'Refused'),
12+
], string='Status', copy=False)
13+
partner_id = fields.Many2one('res.partner', string="Partner", required=True)
14+
property_id = fields.Many2one('estate.property', string="Property", 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 PropertyTag(models.Model):
5+
_name = "estate.property.tag"
6+
_description = "Real Estate Property Tag"
7+
8+
name = fields.Char(name="Name", 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 PropertyType(models.Model):
5+
_name = "estate.property.type"
6+
_description = "Real Estate Property Type"
7+
8+
name = fields.Char(name="Name", 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
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: 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="real_estate_menu_root" name="Real Estate">
4-
<menuitem id="adevrisements_first_level_menu" name="Advertisements">
4+
<menuitem id="advertisements_first_level_menu" name="Advertisements">
55
<menuitem id="properties_model_menu_action" action="estate_new_record_action"/>
66
</menuitem>
7+
<menuitem id="settings_first_level_menu" name="Settings">
8+
<menuitem id="property_types_model_menu_action" action="estate_property_type_action"/>
9+
<menuitem id="property_tags_model_menu_action" action="estate_property_tag_action"/>
10+
</menuitem>
711
</menuitem>
812
</odoo>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0"?>
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="Offer">
8+
<field name="price"/>
9+
<field name="partner_id"/>
10+
<field name="status"/>
11+
</list>
12+
</field>
13+
</record>
14+
</odoo>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0"?>
2+
<odoo>
3+
<record id="estate_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+
</odoo>

0 commit comments

Comments
 (0)