from odoo import api, fields, models, _ import logging _logger = logging.getLogger(__name__) class Attachment(models.Model): _inherit = 'ir.attachment' @api.autovacuum def _gc_file_store(self): _logger.info("filestore gc checked, removed - override") def is_found(self, model, field, id): attachment = self.search([ ('res_model', '=', model), ('res_field', '=', field), ('res_id', '=', int(id)) ]) return True if attachment else False def api_image(self, model, field, id): base_url = self.env['ir.config_parameter'].get_param('web.base.url') is_found = self.is_found(model, field, id) return base_url + 'api/image/' + model + '/' + field + '/' + str(id) if is_found else '' def api_image_local(self, model, field, id): base_url = self.env['ir.config_parameter'].get_param('web.base.local_url') is_found = self.is_found(model, field, id) return base_url + 'api/image/' + model + '/' + field + '/' + str(id) if is_found else ''