odoo-tutorials/estate/models/estate_property_offer.py
2024-07-17 15:45:07 -10:00

22 lines
1 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models
class EstatePropertyOffer(models.Model):
_name = "estate.property.offer"
_description = "Offers made on properties"
price = fields.Float()
status = fields.Selection(copy=False, selection=[('accepted', 'Accepted'), ('refused', 'Refused')])
partner_id = fields.Many2one("res.partner", required=True)
property_id = fields.Many2one("estate.property", required=True)
validity = fields.Integer(default=7, string='validity (days)')
date_deadline = fields.Date(compute="_compute_date_deadline", inverse="_inverse_date_deadline")
@api.depends('validity', 'create_date')
def _compute_date_deadline(self):
for record in self:
record.date_deadline = fields.Date.add(record.create_date or fields.Date.today(), days=record.validity)
def _inverse_date_deadline(self):
for record in self:
record.validity = (record.date_deadline - (record.create_date.date() or fields.Date.today())).days