mirror of
https://github.com/SARL-PACIFIC-ERP/odoo-sh-test.git
synced 2025-06-25 09:32:22 +00:00
Chapter 12
This commit is contained in:
parent
679ad963c8
commit
cfda402ecb
|
@ -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',
|
||||
}
|
|
@ -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
|
|
@ -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')
|
||||
|
|
|
@ -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')
|
||||
|
|
7
estate/models/res_users.py
Normal file
7
estate/models/res_users.py
Normal 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")
|
17
estate/views/res_users_views.xml
Normal file
17
estate/views/res_users_views.xml
Normal 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>
|
Loading…
Reference in a new issue