Skip to content

Commit 3234ee9

Browse files
committed
[IMP] estate: correct according pep8
1 parent 804d83a commit 3234ee9

File tree

5 files changed

+37
-26
lines changed

5 files changed

+37
-26
lines changed

estate/models/estate_property.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,21 @@ class EstateProperty(models.Model):
3131
default='New'
3232
)
3333
active = fields.Boolean(default=True)
34-
salesman = fields.Many2one("res.users")
35-
buyer = fields.Many2one("res.partner", copy=False)
34+
salesman_id = fields.Many2one("res.users")
35+
buyer_id = fields.Many2one("res.partner", copy=False)
3636
tag_ids = fields.Many2many("estate.property.tag", string="Tags")
3737
property_type_id = fields.Many2one("estate.property.type")
3838
offer_ids = fields.One2many("estate.property.offer", "property_id")
39-
total_area = fields.Float(compute="_compute_total")
40-
best_price = fields.Float(compute="_compute_highest_price")
39+
total_area = fields.Float(compute="_compute_total_area")
40+
best_price = fields.Float(compute="_compute_best_price")
4141

4242
@api.depends("living_area", "garden_area")
43-
def _compute_total(self):
43+
def _compute_total_area(self):
4444
for record in self:
4545
record.total_area = record.living_area + record.garden_area
4646

4747
@api.depends("offer_ids")
48-
def _compute_highest_price(self):
48+
def _compute_best_price(self):
4949
for record in self:
5050
record.best_price = max(record.offer_ids.mapped("price")) if record.offer_ids else 0
5151

@@ -62,18 +62,18 @@ def _unlink_if_new_or_cancelled(self):
6262
raise UserError(_("Seules les propriétés 'New' ou 'Cancelled' peuvent être supprimées."))
6363

6464
def action_mark_as_sold(self):
65-
for record in self:
66-
if record.state == "Cancelled":
67-
raise UserError(_("Cette vente a été annulée"))
68-
record.state = "Sold"
69-
return True
65+
self.ensure_one()
66+
if self.state == "Cancelled":
67+
raise UserError(_("Cette vente a été annulée"))
68+
self.state = "Sold"
69+
return True
7070

7171
def action_mark_as_cancelled(self):
72-
for record in self:
73-
if record.state == "Sold":
74-
raise UserError(_("Cette maison a déjà été vendue"))
75-
record.state = "Cancelled"
76-
return True
72+
self.ensure_one()
73+
if self.state == "Sold":
74+
raise UserError(_("Cette maison a déjà été vendue"))
75+
self.state = "Cancelled"
76+
return True
7777

7878
@api.constrains("selling_price", "expected_price")
7979
def _check_selling_price_is_ok(self):

estate/models/estate_property_offer.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,29 @@ class EstatePropertyOffer(models.Model):
1515
property_id = fields.Many2one("estate.property", required=True)
1616
property_type_id = fields.Many2one(related="property_id.property_type_id", store=True)
1717
validity = fields.Integer(default=7)
18-
date_deadline = fields.Date(compute="_compute_deadline", inverse="_inverse_deadline")
18+
date_deadline = fields.Date(compute="_compute_date_deadline", inverse="_inverse_date_deadline")
1919

2020
@api.depends("validity")
21-
def _compute_deadline(self):
21+
def _compute_date_deadline(self):
2222
for record in self:
2323
record.date_deadline = fields.Date.add(record.create_date or fields.Date.today(), days=record.validity)
2424

25-
def _inverse_deadline(self):
25+
def _inverse_date_deadline(self):
2626
for record in self:
2727
record.validity = (record.date_deadline - fields.Date.to_date(record.create_date)).days
2828

2929
def action_accept(self):
30+
self.ensure_one()
31+
if float_compare(self.price, self.property_id.best_price, 2) == -1:
32+
raise ValidationError(_("Cette offre ne peut pas être acceptée car son montant est inférieur à %d", self.property_id.best_price))
3033
self.status = "Accepted"
3134
self.property_id.state = "Offer Accepted"
32-
self.property_id.buyer = self.partner_id
35+
self.property_id.buyer_id = self.partner_id
3336
self.property_id.selling_price = self.price
3437
return True
3538

3639
def action_refuse(self):
40+
self.ensure_one()
3741
self.status = "Refused"
3842
return True
3943

@@ -45,6 +49,11 @@ def _check_offer_price_is_ok(self):
4549

4650
@api.model_create_multi
4751
def create(self, vals_list):
52+
property_ids =[offer['property_id'] for offer in vals_list]
53+
properties = self.env["estate.property"].browse(property_ids)
54+
for property in properties:
55+
if property.state in ['Offer Accepted', 'Sold', 'Cancelled']:
56+
raise ValidationError(_("Aucune n'offre ne peut être réalisée sur cette propriété actuellement."))
4857
offers = super().create(vals_list)
4958
offers.property_id.state = 'Offer Received'
5059
return offers

estate/models/res_users.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
class ResUsers(models.Model):
55
_inherit = "res.users"
66

7-
property_ids = fields.One2many("estate.property", "salesman", domain=[('state', 'in', ['New', 'Offer Received'])])
7+
property_ids = fields.One2many("estate.property", "salesman_id", domain=[('state', 'in', ['New', 'Offer Received'])])

estate/views/estate_property_views.xml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<header>
5252
<button name="action_mark_as_sold" type="object" string="Sold" invisible="state in ['Offer Accepted', 'Sold', 'Cancelled']"/>
5353
<button name="action_mark_as_sold" type="object" string="Sold" class="btn-primary" invisible="state != 'Offer Accepted'"/>
54-
<button name="action_mark_as_cancelled" type="object" string="Cancelled" invisible="state == 'Sold' or state == 'Cancelled'"/>
54+
<button name="action_mark_as_cancelled" type="object" string="Cancelled" invisible="state in ['Sold', 'Cancelled']"/>
5555
<field name="state" widget="statusbar" statusbar_visible="New,Offer Received,Offer Accepted,Sold"/>
5656
</header>
5757
<sheet>
@@ -86,7 +86,8 @@
8686
</group>
8787
</page>
8888
<page string="Offers">
89-
<field name="offer_ids" readonly="state in ['Offer Accepted', 'Sold', 'Cancelled']">
89+
<!--<field name="offer_ids" readonly="state in ['Offer Accepted', 'Sold', 'Cancelled']">-->
90+
<field name="offer_ids">
9091
<list editable="bottom" decoration-success="status == 'Accepted'" decoration-danger="status == 'Refused'">
9192
<field name="price"/>
9293
<field name="partner_id"/>
@@ -98,8 +99,8 @@
9899
</page>
99100
<page string="Other Info">
100101
<group>
101-
<field name="salesman"/>
102-
<field name="buyer"/>
102+
<field name="salesman_id"/>
103+
<field name="buyer_id"/>
103104
</group>
104105
</page>
105106

@@ -118,7 +119,7 @@
118119
<field name="postcode"/>
119120
<field name="expected_price"/>
120121
<field name="bedrooms"/>
121-
<field name="living_area" filter_domain="[('living_area', '>=', self)]"/>
122+
<field name="living_area" filter_domain="[('living_area', '&gt;=', self)]"/>
122123
<field name="facades"/>
123124
<filter name="group_by_postcode" context="{'group_by': 'postcode'}"/>
124125
<filter name="availibility" string="Available" domain="['|', ('state', '=', 'New'),('state', '=', 'Offer Received')]"/>

estate_account/models/estate_property.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class EstateProperty (models.Model):
66
_inherit = ["estate.property"]
77

88
def action_mark_as_sold(self):
9+
self.ensure_one()
910
res = super().action_mark_as_sold()
1011
self.env["account.move"].create({
1112
"line_ids": [

0 commit comments

Comments
 (0)