diff --git a/odex25_realstate/real_estate/models/internal_property.py b/odex25_realstate/real_estate/models/internal_property.py index be84b0911..bc08f523c 100644 --- a/odex25_realstate/real_estate/models/internal_property.py +++ b/odex25_realstate/real_estate/models/internal_property.py @@ -7,6 +7,8 @@ ############################################################################## import base64 +import json +from lxml import etree import re from odoo import models, fields, api, exceptions, _ from odoo.modules.module import get_module_resource @@ -27,6 +29,19 @@ class Property(models.Model): ('non_residential', 'Non-Residential'), ], string="Property Suitability for Residence") + @api.model + def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False): + res = super(PurchaseOrderCustom, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, + submenu=submenu) + doc = etree.XML(res['arch']) + if (view_type == 'form'): + for node in doc.xpath("//field"): + modifiers['readonly'] = [('state', 'in', ['approve'])] + node.set("modifiers", json.dumps(modifiers)) + res['arch'] = etree.tostring(doc, encoding='unicode') + return res + + def _compute_maintenance_count(self): for record in self: record.maintenance_count = self.env['property.management.maintenance'].search_count([