Skip to content

Commit 12c05d2

Browse files
committed
[ADD] estate_account: create new module for invoice handling
1 parent bcc0596 commit 12c05d2

File tree

9 files changed

+50
-5
lines changed

9 files changed

+50
-5
lines changed

estate_account/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models

estate_account/__manifest__.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"name": "estate.account",
3+
"depends": ["base", "account", "realestate"],
4+
"data": [
5+
"security/ir.model.access.csv",
6+
],
7+
"application": True,
8+
"installable": True,
9+
}

estate_account/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from . import estate_account
2+
from . import realestate
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from odoo import fields, models
2+
3+
4+
class EstateAccount(models.Model):
5+
_name = "estate.account"
6+
name = fields.Char(required=True)

estate_account/models/realestate.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from odoo import models, fields, Command
2+
3+
4+
class Realestate(models.Model):
5+
_name = "realestate"
6+
_inherit = "realestate"
7+
8+
def action_set_property_sold(self):
9+
self.env["account.move"].create(
10+
{
11+
"partner_id": super().buyer_id.id,
12+
"move_type": "out_invoice",
13+
"line_ids": [
14+
Command.create(
15+
{
16+
"name": self.name,
17+
"quantity": 1,
18+
"price_unit": super().selling_price,
19+
}
20+
)
21+
],
22+
}
23+
)
24+
return super().action_set_property_sold()
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
access_estate_account,access.estate_acount,model_estate_account,,1,1,1,1
3+
access_realestate,access.realestate,model_realestate,,1,1,1,1

realestate/models/offer.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Offer(models.Model):
88
_order = "price desc"
99
price = fields.Float()
1010
status = fields.Selection([("accepted", "Accepted"), ("refused", "Refused")])
11-
buyer_id = fields.Many2one("buyer")
11+
buyer_id = fields.Many2one("res.partner")
1212
property_id = fields.Many2one("realestate")
1313
property_type_id = fields.Many2one(related="property_id.type_id")
1414
state = fields.Selection(related="property_id.state")
@@ -35,8 +35,7 @@ def set_offer_accepted(self):
3535
raise UserError("This property is already sold")
3636
record.status = "accepted"
3737
record.property_id.selling_price = record.price
38-
record.property_id.owner_id = record.buyer_id
39-
record.property_id.buyer_id = record.property_id.owner_id
38+
record.property_id.buyer_id = record.buyer_id
4039
record.property_id.state = "offer_accepted"
4140

4241
def set_offer_refused(self):

realestate/models/realestate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class Realestate(models.Model):
4242
type_id = fields.Many2one("types", widget="handle")
4343
tag_ids = fields.Many2many("tags", string="Tags")
4444
seller_id = fields.Many2one("seller")
45-
buyer_id = fields.Many2one("buyer")
45+
buyer_id = fields.Many2one("res.partner")
4646
offer_ids = fields.One2many("offer", "property_id")
4747
status = fields.Selection(related="offer_ids.status")
4848
price = fields.Float(related="offer_ids.price")
@@ -121,4 +121,4 @@ def _check_for_offers(self):
121121
def _unlink_new_properties(self):
122122
for record in self:
123123
if record.state != "new" or record.state != "cancelled":
124-
raise UserError("Property Cannot be deleted")
124+
raise UserError("Property cannot be deleted!")

realestate/views/estate_view.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
<field name='price' />
9898
<field name='status' />
9999
<field name='validity' />
100+
<field name='buyer_id' />
100101
<field name='deadline' />
101102
<button type='object' name="set_offer_accepted"
102103
string="" icon='fa-check'

0 commit comments

Comments
 (0)