summaryrefslogtreecommitdiff
path: root/addons/website_sale/models
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2020-06-05 11:13:25 +0000
committerJeremy Kersten <jke@odoo.com>2020-08-13 13:04:44 +0000
commit09cb4533c2bcbea7ccaca4e507ab2726b0f698fd (patch)
tree08036b2501495d7f69225a41a5621a2eefe8c361 /addons/website_sale/models
parentc2bd44203421137a8e2e550d73ff28dcf2431aa7 (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.py17
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')