*: base Previously, cropping an image was done inside of a modal window, turning it into an inline widget makes the editor feel more integrated and allows you to better see the result of cropping directly in the page, it's also less intrusive to the user's edition workflow. At the same time, the way cropped images are saved was refactored to use the new original_id field on ir_attachment, as the old system was creating problems. Part of https://github.com/odoo/odoo/pull/51517 task-2192755
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
import logging
|
|
from odoo import fields, models, api
|
|
from odoo.exceptions import UserError
|
|
from odoo.tools.translate import _
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class Attachment(models.Model):
|
|
|
|
_inherit = "ir.attachment"
|
|
|
|
# related for backward compatibility with saas-6
|
|
website_url = fields.Char(string="Website URL", related='local_url', deprecated=True, readonly=False)
|
|
key = fields.Char(help='Technical field used to resolve multiple attachments in a multi-website environment.')
|
|
website_id = fields.Many2one('website')
|
|
|
|
@api.model
|
|
def create(self, vals):
|
|
website = self.env['website'].get_current_website(fallback=False)
|
|
if website and 'website_id' not in vals and 'not_force_website_id' not in self.env.context:
|
|
vals['website_id'] = website.id
|
|
return super(Attachment, self).create(vals)
|
|
|
|
@api.model
|
|
def get_serving_groups(self):
|
|
return super(Attachment, self).get_serving_groups() + ['website.group_website_designer']
|
|
|
|
@api.model
|
|
def get_serve_attachment(self, url, extra_domain=None, extra_fields=None, order=None):
|
|
website = self.env['website'].get_current_website()
|
|
extra_domain = (extra_domain or []) + website.website_domain()
|
|
order = ('website_id, %s' % order) if order else 'website_id'
|
|
return super(Attachment, self).get_serve_attachment(url, extra_domain, extra_fields, order)
|