Chapter 12

This commit is contained in:
Matt Marcha 2024-07-31 08:54:43 -10:00 committed by Matt Marcha
parent 679ad963c8
commit cfda402ecb
6 changed files with 45 additions and 2 deletions

View file

@ -13,8 +13,9 @@
'views/estate_property_type_views.xml',
'views/estate_property_tag_views.xml',
'views/estate_property_views.xml',
'views/res_users_views.xml',
'views/estate_menus_view.xml',
'security/ir.model.access.csv'
'security/ir.model.access.csv',
],
'license': 'AGPL-3',
}

View file

@ -4,3 +4,4 @@ from . import estate_property
from . import estate_property_type
from . import estate_property_tag
from . import estate_property_offer
from . import res_users

View file

@ -41,6 +41,14 @@ class EstateProperty(models.Model):
total_area = fields.Integer(compute="_get_total_area", readonly=True)
best_price = fields.Float(compute="_compute_best_price")
# ----------------- CRUD methods --------------------------- #
@api.ondelete(at_uninstall=False)
def _unlink_if_new_cancelled(self):
for record in self:
if record.state not in ('new', 'cancelled'):
raise exceptions.UserError("Cannot delete a property not new or cancelled")
# ------------- Compute methods ------------------------- #
@api.depends('living_area', 'garden_area')

View file

@ -24,6 +24,15 @@ class EstatePropertyOffer(models.Model):
date_deadline = fields.Date(compute="_compute_date_deadline", inverse="_inverse_date_deadline")
property_type_id = fields.Many2one(related="property_id.property_type_id", store="True")
# ---------------- CRUD Methods ------------------------- #
@api.model
def create(self, vals):
if self.env['estate.property'].browse(vals['property_id']).state == 'new':
self.env['estate.property'].browse(vals['property_id']).write({'state': 'offer_received'})
return super().create(vals)
# ------------- Compute methods ------------------------- #
@api.depends('validity', 'create_date')

View file

@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import models, fields
class ResUsers(models.Model):
_inherit = 'res.users'
property_ids = fields.One2many(comodel_name="estate.property", inverse_name="salesman_id")

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_users_view_form" model="ir.ui.view">
<field name="name">res.users.view.form.inherit.estate</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page string="Properties" name="estate">
<tree >
<field name="property_ids" readonly="True" />
</tree>
</page>
</xpath>
</field>
</record>
</odoo>