def test_console_log_object(self): logger = logging.getLogger('odoo') level = logger.level logger.setLevel(logging.INFO) self.addCleanup(logger.setLevel, level) with self.assertLogs() as log_catcher: code = "console.log({custom:{1:'test', 2:'a'}, value:1, description:'dummy'});console.log('test successful');" self.browser_js(url_path='about:blank', code=code) console_log_count = 0 for log in log_catcher.output: if '.browser:' in log: text = log.split('.browser:', 1)[1] if text == 'test successful': continue self.assertEqual(text, "Object(custom=Object, value=1, description='dummy')") console_log_count +=1 self.assertEqual(console_log_count, 1)
from odoo import api, fields, models from odoo.http import request from odoo.tools import logging _logger = logging.getLogger(__name__) class Zone(models.Model): _name = 'acs.zone' _description = 'Access zones' name = fields.Char(string="Zone Name", translate=True) permitted_roles = fields.Many2many(comodel_name="hr.job", string="Permitted Jobs", translate=True) description = fields.Text(string="Description", translate=True) parent_id = fields.Many2one(string="Parent Zone", comodel_name="acs.zone", translate=True) controller_id = fields.Many2one(comodel_name="acs.controller", string="Controller", translate=True) # adjacent_zone_ids = fields.Many2many(comodel_name="acs.zone", column1="zone1", column2="zone2", # relation="adjacent_zone_rel", string="Adjacent Zones", translate=True) # exit_reader_ids = fields.One2many(comodel_name="acs.controller.reader", inverse_name="to_zone") # enter_reader_ids = fields.One2many(comodel_name="acs.controller.reader", inverse_name="from_zone") def open_readers_view(self): self.ensure_one() return {