diff --git a/website_coupon/__init__.py b/website_coupon/__init__.py
index 1ded18c1b..78752a19a 100644
--- a/website_coupon/__init__.py
+++ b/website_coupon/__init__.py
@@ -23,3 +23,16 @@
import models
import controllers
+from . import wizards
+
+from odoo import SUPERUSER_ID
+from odoo.api import Environment
+
+
+def post_init_hook(cr, registry):
+ env = Environment(cr, SUPERUSER_ID, {})
+ companies = env['res.company'].search([])
+ gift_coupon_product_id = env['product.product'].search(
+ [('default_code', '=', 'gift_coupon')], limit=1)
+ for company in companies:
+ company.gift_coupon_product_id = gift_coupon_product_id
diff --git a/website_coupon/__manifest__.py b/website_coupon/__manifest__.py
index c161555f3..b1a8136ea 100644
--- a/website_coupon/__manifest__.py
+++ b/website_coupon/__manifest__.py
@@ -23,7 +23,7 @@
##############################################################################
{
'name': 'Website Coupon Code',
- 'version': '10.0.2.0.0',
+ 'version': '10.0.2.0.1',
'summary': 'Manage Website Coupon Codes for Products/Categories/All Products & Its Redeem Operations',
'category': 'Website',
'author': 'Cybrosys Techno Solutions',
@@ -36,6 +36,7 @@
'views/gift_voucher.xml',
'views/applied_coupons.xml',
'views/templates.xml',
+ 'wizards/res_config/sale_config_settings.xml',
'security/ir.model.access.csv'
],
'images': ['static/description/banner.jpg'],
@@ -43,4 +44,5 @@
'installable': True,
'auto_install': False,
'application': False,
+ "post_init_hook": "post_init_hook",
}
diff --git a/website_coupon/controllers/main.py b/website_coupon/controllers/main.py
index 965797d74..30cc5eb94 100644
--- a/website_coupon/controllers/main.py
+++ b/website_coupon/controllers/main.py
@@ -79,12 +79,12 @@ class WebsiteCoupon(http.Controller):
voucher_type = coupon.voucher.voucher_type
voucher_val = coupon.voucher_val
type = coupon.type
- coupon_product = request.env['product.product'].sudo().search([('name', '=', 'Gift Coupon')], limit=1)
+ coupon_product = request.env.user.company_id.gift_coupon_product_id
if coupon_product:
order = request.website.sale_get_order(force_create=1)
flag_product = False
for line in order.order_line:
- if line.product_id.name == 'Gift Coupon':
+ if line.product_id == coupon_product:
flag = False
break
if flag and order.order_line:
diff --git a/website_coupon/data/product_data.xml b/website_coupon/data/product_data.xml
index bd5871987..6fa3e84ce 100644
--- a/website_coupon/data/product_data.xml
+++ b/website_coupon/data/product_data.xml
@@ -2,6 +2,7 @@
Gift Coupon
+ gift_coupon
\ No newline at end of file
diff --git a/website_coupon/migrations/10.0.2.0.1/pre-migration.py b/website_coupon/migrations/10.0.2.0.1/pre-migration.py
new file mode 100644
index 000000000..725448714
--- /dev/null
+++ b/website_coupon/migrations/10.0.2.0.1/pre-migration.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 Noviat NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+import odoo
+
+
+def update_discount_product_value(env):
+ discount_product = env.ref(
+ 'website_coupon.discount_product')
+ discount_product.default_code = 'gift_coupon'
+
+
+def migrate(cr, version):
+ if not version:
+ # installation of the module
+ return
+ with odoo.api.Environment.manage():
+ env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
+ update_discount_product_value(env)
diff --git a/website_coupon/models/__init__.py b/website_coupon/models/__init__.py
index d91b1374f..2a9b5d73f 100644
--- a/website_coupon/models/__init__.py
+++ b/website_coupon/models/__init__.py
@@ -21,3 +21,4 @@
#
##############################################################################
import gift_voucher
+from . import res_company
diff --git a/website_coupon/models/res_company.py b/website_coupon/models/res_company.py
new file mode 100644
index 000000000..dcf3130e0
--- /dev/null
+++ b/website_coupon/models/res_company.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 Noviat NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import models, fields, api
+
+
+class ResCompany(models.Model):
+ _inherit = 'res.company'
+
+ gift_coupon_product_id = fields.Many2one(
+ comodel_name='product.product',
+ string="Gift coupon",
+ default=lambda self: self.env['product.product'].search(
+ [('default_code', '=', 'gift_coupon')], limit=1),
+ )
diff --git a/website_coupon/wizards/__init__.py b/website_coupon/wizards/__init__.py
new file mode 100644
index 000000000..742b150eb
--- /dev/null
+++ b/website_coupon/wizards/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 Noviat NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import res_config
diff --git a/website_coupon/wizards/res_config/__init__.py b/website_coupon/wizards/res_config/__init__.py
new file mode 100644
index 000000000..aeccbad69
--- /dev/null
+++ b/website_coupon/wizards/res_config/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 Noviat NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import sale_config_settings
diff --git a/website_coupon/wizards/res_config/sale_config_settings.py b/website_coupon/wizards/res_config/sale_config_settings.py
new file mode 100644
index 000000000..2aa6e4809
--- /dev/null
+++ b/website_coupon/wizards/res_config/sale_config_settings.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Copyright 2019 Noviat NV
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+
+
+class SaleConfigSettings(models.TransientModel):
+ _inherit = 'sale.config.settings'
+
+ gift_coupon_product_id = fields.Many2one(
+ related='company_id.gift_coupon_product_id', string="Gift coupon")
diff --git a/website_coupon/wizards/res_config/sale_config_settings.xml b/website_coupon/wizards/res_config/sale_config_settings.xml
new file mode 100644
index 000000000..f4f568b72
--- /dev/null
+++ b/website_coupon/wizards/res_config/sale_config_settings.xml
@@ -0,0 +1,13 @@
+
+
+
+ sale settings
+ sale.config.settings
+
+
+
+
+
+
+
+