From d8d191a400b3fb1044e08c8893d3b4ca40380ee8 Mon Sep 17 00:00:00 2001 From: Abdurrahman Saber Date: Tue, 5 Aug 2025 23:51:21 +0300 Subject: [PATCH] [IMP] ensan_sale_management, affiliate_management: remove dependency between two modules --- .../affiliate_management/controllers/main.py | 41 +++++++++++-------- .../ensan_sale_management/__manifest__.py | 2 +- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/odex25_donation/affiliate_management/controllers/main.py b/odex25_donation/affiliate_management/controllers/main.py index 8d5ee2212..8cef4a7a9 100644 --- a/odex25_donation/affiliate_management/controllers/main.py +++ b/odex25_donation/affiliate_management/controllers/main.py @@ -134,24 +134,29 @@ class WebsiteSale(WebsiteSale): cookies = dict(request.httprequest.cookies) visit = request.env['affiliate.visit'] affiliate_key = cookies.get('affkey') # contains cookies product_id + partner_id = False if affiliate_key: partner_id = request.env['res.partner'].sudo().search([('res_affiliate_key', '=', affiliate_key), ('is_affiliate', '=', True)]) + sale_order_id.partner_id.sudo().write({'affiliate_id': partner_id.id}) + elif sale_order_id.partner_id.sudo().affiliate_id: + partner_id = sale_order_id.partner_id.sudo().affiliate_id + + if partner_id: for s in sale_order_id.order_line: - if partner_id: - product_tmpl_id = s.product_id.product_tmpl_id.id - visit.sudo().create({ - 'affiliate_method': 'pps', - 'affiliate_key': affiliate_key, - 'affiliate_partner_id': partner_id.id, - 'url': "", - 'ip_address': request.httprequest.environ['REMOTE_ADDR'], - 'type_id': product_tmpl_id, - 'affiliate_type': 'product', - 'type_name': s.product_id.id, - 'sales_order_line_id': s.id, - 'convert_date': fields.datetime.now(), - 'affiliate_program_id': partner_id.affiliate_program_id.id, - 'product_quantity': s.product_uom_qty, - 'is_converted': True - }) - return result \ No newline at end of file + product_tmpl_id = s.product_id.product_tmpl_id.id + visit.sudo().create({ + 'affiliate_method': 'pps', + 'affiliate_key': affiliate_key or partner_id.res_affiliate_key, + 'affiliate_partner_id': partner_id.id, + 'url': "", + 'ip_address': request.httprequest.environ['REMOTE_ADDR'], + 'type_id': product_tmpl_id, + 'affiliate_type': 'product', + 'type_name': s.product_id.id, + 'sales_order_line_id': s.id, + 'convert_date': fields.datetime.now(), + 'affiliate_program_id': partner_id.affiliate_program_id.id, + 'product_quantity': s.product_uom_qty, + 'is_converted': True + }) + return result diff --git a/odex25_donation/ensan_sale_management/__manifest__.py b/odex25_donation/ensan_sale_management/__manifest__.py index 1820fb57d..4c1b1bbd9 100644 --- a/odex25_donation/ensan_sale_management/__manifest__.py +++ b/odex25_donation/ensan_sale_management/__manifest__.py @@ -7,7 +7,7 @@ 'website': 'https://ensan.com', 'license': 'LGPL-3', 'category': 'Sales', - 'depends': ['base', 'website_sale', 'sms', 'phone_validation', 'affiliate_management'], + 'depends': ['base', 'website_sale', 'sms', 'phone_validation'], 'data': [ 'security/ir.model.access.csv', 'data/sms_data.xml',