diff options
| author | Jeremy Kersten <jke@odoo.com> | 2020-06-05 11:13:25 +0000 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2020-08-13 13:04:44 +0000 |
| commit | 09cb4533c2bcbea7ccaca4e507ab2726b0f698fd (patch) | |
| tree | 08036b2501495d7f69225a41a5621a2eefe8c361 /addons/website_sale/models | |
| parent | c2bd44203421137a8e2e550d73ff28dcf2431aa7 (diff) | |
[IMP] website_sale: allow to show extra field on product page
You can in website's settings, add some extra fields to be shown on the product
page.
E.G. if you want to have the internal code, the barcode, or even a custom field
In case of a binary field, 'Technical documentation' or 'Catalog', you will
have a dowload link.
closes odoo/odoo#55872
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Diffstat (limited to 'addons/website_sale/models')
| -rw-r--r-- | addons/website_sale/models/website.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py index 5f4d7de2a6c..a34f73dfcd8 100644 --- a/addons/website_sale/models/website.py +++ b/addons/website_sale/models/website.py @@ -48,6 +48,8 @@ class Website(models.Model): shop_ppg = fields.Integer(default=20, string="Number of products in the grid on the shop") shop_ppr = fields.Integer(default=4, string="Number of grid columns on the shop") + shop_extra_field_ids = fields.One2many('website.sale.extra.field', 'website_id', string='E-Commerce Extra Fields') + @api.depends('all_pricelist_ids') def _compute_pricelist_ids(self): Pricelist = self.env['product.pricelist'] @@ -369,3 +371,18 @@ class Website(models.Model): suggested_controllers = super(Website, self).get_suggested_controllers() suggested_controllers.append((_('eCommerce'), url_for('/shop'), 'website_sale')) return suggested_controllers + + +class WebsiteSaleExtraField(models.Model): + _name = 'website.sale.extra.field' + _description = 'E-Commerce Extra Info Shown on product page' + _order = 'sequence' + + website_id = fields.Many2one('website') + sequence = fields.Integer(default=10) + field_id = fields.Many2one( + 'ir.model.fields', + domain=[('model_id.model', '=', 'product.template')] + ) + label = fields.Char(related='field_id.field_description') + name = fields.Char(related='field_id.name') |
