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,11 @@ 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 )
87+
9288
9389 @api .onchange ("garden" )
9490 def _onchange_garden (self ):
@@ -102,36 +98,28 @@ def _onchange_garden(self):
10298 def action_property_cancel (self ):
10399 for single_property in self :
104100 if single_property .state == "sold" :
105- raise UserError ("Sold properties cannot be cancelled!" )
101+ raise UserError (_ ( "Sold properties cannot be cancelled!" ) )
106102 single_property .state = "cancelled"
107103 return True
108104
109105 def action_property_sold (self ):
110106 for single_property in self :
111107 if single_property .state == "cancelled" :
112- raise UserError ("Cancelled properties cannot be sold!" )
108+ raise UserError (_ ( "Cancelled properties cannot be sold!" ) )
113109 single_property .state = "sold"
114110 return True
115111
116112 @api .constrains ("selling_price" , "expected_price" )
117113 def check_selling_price_in_range (self ):
118114 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- )
115+ if not float_utils .float_is_zero (single_property .selling_price , precision_rounding = 0.1 ):
116+ if single_property .selling_price < (0.9 * single_property .expected_price ):
117+ raise ValidationError (_ ("Selling price cannot be lower than 90%% of Expected price" ))
128118 return True
129119
130120 @api .ondelete (at_uninstall = False )
131121 def _unlink_check_property_state (self ):
132122 for single_property in self :
133123 if single_property .state not in ["new" , "cancelled" ]:
134- raise UserError (
135- "Property cannot be deleted unless it is new or cancelled"
136- )
124+ raise UserError (_ ("Property cannot be deleted unless it is new or cancelled" ))
137125 return True
0 commit comments