11from datetime import date
22
3- from odoo import fields , models , api
3+ from odoo import fields , models , api , _
44from odoo .tools import date_utils , float_utils
55from odoo .exceptions import UserError , ValidationError
66
@@ -66,7 +66,7 @@ class EstateProperty(models.Model):
6666 "res.users" , name = "Salesperson" , default = lambda self : self .env .user
6767 )
6868 tag_ids = fields .Many2many ("estate.property.tag" , string = "Tags" )
69- offers_ids = fields .One2many (
69+ offer_ids = fields .One2many (
7070 "estate.property.offer" , "property_id" , string = "Offers"
7171 )
7272 best_price = fields .Float (
@@ -80,15 +80,10 @@ def _compute_total_area(self):
8080 single_property .living_area + single_property .garden_area
8181 )
8282
83- @api .depends ("offers_ids .price" )
83+ @api .depends ("offer_ids .price" )
8484 def _compute_best_price (self ):
8585 for single_property in self :
86- if single_property .offers_ids :
87- single_property .best_price = max (
88- single_property .offers_ids .mapped ("price" )
89- )
90- else :
91- single_property .best_price = 0
86+ single_property .best_price = max (single_property .offer_ids .mapped ("price" ), default = 0 )
9287
9388 @api .onchange ("garden" )
9489 def _onchange_garden (self ):
@@ -102,36 +97,28 @@ def _onchange_garden(self):
10297 def action_property_cancel (self ):
10398 for single_property in self :
10499 if single_property .state == "sold" :
105- raise UserError ("Sold properties cannot be cancelled!" )
100+ raise UserError (_ ( "Sold properties cannot be cancelled!" ) )
106101 single_property .state = "cancelled"
107102 return True
108103
109104 def action_property_sold (self ):
110105 for single_property in self :
111106 if single_property .state == "cancelled" :
112- raise UserError ("Cancelled properties cannot be sold!" )
107+ raise UserError (_ ( "Cancelled properties cannot be sold!" ) )
113108 single_property .state = "sold"
114109 return True
115110
116111 @api .constrains ("selling_price" , "expected_price" )
117112 def check_selling_price_in_range (self ):
118113 for single_property in self :
119- if not float_utils .float_is_zero (
120- single_property .selling_price , precision_rounding = 0.1
121- ):
122- if single_property .selling_price < (
123- 0.9 * single_property .expected_price
124- ):
125- raise ValidationError (
126- "Selling price cannot be lower than 90%% of Expected price"
127- )
114+ if not float_utils .float_is_zero (single_property .selling_price , precision_rounding = 0.1 ):
115+ if single_property .selling_price < (0.9 * single_property .expected_price ):
116+ raise ValidationError (_ ("Selling price cannot be lower than 90%% of Expected price" ))
128117 return True
129118
130119 @api .ondelete (at_uninstall = False )
131120 def _unlink_check_property_state (self ):
132121 for single_property in self :
133122 if single_property .state not in ["new" , "cancelled" ]:
134- raise UserError (
135- "Property cannot be deleted unless it is new or cancelled"
136- )
123+ raise UserError (_ ("Property cannot be deleted unless it is new or cancelled" ))
137124 return True
0 commit comments