File tree Expand file tree Collapse file tree 4 files changed +48
-5
lines changed Expand file tree Collapse file tree 4 files changed +48
-5
lines changed Original file line number Diff line number Diff line change 1- from odoo import fields , models
1+ from odoo import fields , models , api
22
33
44class EstateProperty (models .Model ):
@@ -34,3 +34,27 @@ class EstateProperty(models.Model):
3434 buyer_id = fields .Many2one ("res.partner" , copy = False )
3535 tag_ids = fields .Many2many ("estate.property.tag" )
3636 offer_ids = fields .One2many ("estate.property.offer" , "property_id" )
37+ total_area = fields .Integer (compute = "_compute_total_area" )
38+ best_price = fields .Float (compute = "_compute_best_price" )
39+
40+ @api .depends ("living_area" , "garden_area" )
41+ def _compute_total_area (self ):
42+ for record in self :
43+ record .total_area = record .living_area + record .garden_area
44+
45+ @api .depends ("offer_ids" )
46+ def _compute_best_price (self ):
47+ for record in self :
48+ if record .offer_ids :
49+ record .best_price = max (self .offer_ids .mapped ("price" ))
50+ else :
51+ record .best_price = 0.0
52+
53+ @api .onchange ("garden" )
54+ def _onchange_garden (self ):
55+ if self .garden :
56+ self .garden_area = 10
57+ self .garden_orientation = "north"
58+ else :
59+ self .garden_area = 0
60+ self .garden_orientation = ""
Original file line number Diff line number Diff line change 1- from odoo import models , fields
1+ from odoo import models , fields , api
22
33
44class EstatePropertyOffer (models .Model ):
@@ -12,3 +12,14 @@ class EstatePropertyOffer(models.Model):
1212 )
1313 partner_id = fields .Many2one ("res.partner" , required = True )
1414 property_id = fields .Many2one ("estate.property" , required = True )
15+ validity = fields .Integer (default = 7 )
16+ date_deadline = fields .Date (compute = "_compute_date_deadline" , inverse = "_inverse_date_deadline" )
17+
18+ @api .depends ("create_date" , "validity" )
19+ def _compute_date_deadline (self ):
20+ for record in self :
21+ record .date_deadline = fields .Date .add (record .create_date or fields .Date .today (), days = record .validity )
22+
23+ def _inverse_date_deadline (self ):
24+ for record in self :
25+ record .validity = (record .date_deadline - record .create_date .date ()).days
Original file line number Diff line number Diff line change 66 <field name =" arch" type =" xml" >
77 <form string =" New property offer" >
88 <sheet >
9- <field name =" price" />
10- <field name =" partner_id" />
11- <field name =" status" />
9+ <group >
10+ <field name =" price" />
11+ <field name =" partner_id" />
12+ <field name =" validity" string =" Validity (days)" />
13+ <field name =" date_deadline" string =" Deadline" />
14+ <field name =" status" />
15+ </group >
1216 </sheet >
1317 </form >
1418 </field >
2125 <list string =" Properties" >
2226 <field name =" price" />
2327 <field name =" partner_id" />
28+ <field name =" validity" string =" Validity (days)" />
29+ <field name =" date_deadline" string =" Deadline" />
2430 <field name =" status" />
2531 </list >
2632 </field >
Original file line number Diff line number Diff line change 4141 </group >
4242 <group >
4343 <field name =" expected_price" />
44+ <field name =" best_price" string =" Best offer" />
4445 <field name =" selling_price" />
4546 </group >
4647 </group >
5455 <field name =" garden" />
5556 <field name =" garden_area" />
5657 <field name =" garden_orientation" />
58+ <field name =" total_area" />
5759 </group >
5860 </page >
5961 <page string =" Offers" >
You can’t perform that action at this time.
0 commit comments