@@ -16,12 +16,7 @@ class EstatePropertyOffer(models.Model):
1616 # --------------------------------------- Fields Declaration ----------------------------------
1717
1818 price = fields .Float (string = 'price' , required = True )
19- status = fields .Selection (selection = [('accepted' , 'Accepted' ),
20- ('refused' , 'Refused' )],
21- string = "Status" ,
22- copy = False ,
23- # default='accepted',
24- )
19+ status = fields .Selection (selection = [('accepted' , 'Accepted' ), ('refused' , 'Refused' )], string = "Status" , copy = False )
2520 validity = fields .Integer (string = 'Validity(days)' , default = 7 )
2621 partner_id = fields .Many2one ('res.partner' , string = 'Partner' , required = True )
2722 property_id = fields .Many2one ('estate.property' , required = True )
@@ -43,32 +38,35 @@ def create(self, vals_list):
4338 for vals in vals_list :
4439 if vals .get ("property_id" ) and vals .get ("price" ):
4540 prop = self .env ["estate.property" ].browse (vals ["property_id" ])
46-
41+
4742 if float_compare (vals ["price" ], prop .expected_price * 0.9 , precision_rounding = 0.01 ) < 0 :
48- raise UserError ("The offer price must be at least 90%% of the expected price." )
43+ raise UserError (
44+ "The offer price must be at least 90%% of the expected price." )
4945
5046 if prop .offer_ids :
5147 max_offer = max (prop .mapped ("offer_ids.price" ))
5248 if float_compare (vals ["price" ], max_offer , precision_rounding = 0.01 ) <= 0 :
53- raise UserError ("The offer must be higher than %.2f" % max_offer )
49+ raise UserError (
50+ "The offer must be higher than %.2f" % max_offer )
5451
5552 new_offers = super ().create (vals_list )
5653
5754 for offer in new_offers :
5855 offer .property_id .state = "offer_received"
59-
56+
6057 return new_offers
6158
6259 # ---------------------------------------- Action Methods -------------------------------------
6360
6461 def action_accept (self ):
65- print ("Accepting offer..." )
6662 for offer in self :
6763 if any (prop_offer .status == 'accepted' for prop_offer in offer .property_id .offer_ids ):
68- raise UserError ("An offer has already been accepted for this property." )
64+ raise UserError (
65+ "An offer has already been accepted for this property." )
66+
6967 if offer .status == 'refused' :
7068 raise UserError ("A refused offer cannot be accepted." )
71- else :
69+
7270 offer .status = 'accepted'
7371 offer .property_id .write ({
7472 'state' : 'offer_accepted' ,
@@ -78,7 +76,7 @@ def action_accept(self):
7876 return True
7977
8078 def action_refuse (self ):
81- if any (offer .status == 'accepted' for offer in self ):
82- raise UserError ("An accepted offer cannot be refused." )
83- self .status = 'refused'
84- return True
79+ if any (offer .status == 'accepted' for offer in self ):
80+ raise UserError ("An accepted offer cannot be refused." )
81+ self .status = 'refused'
82+ return True
0 commit comments