# -*- coding: utf-8 -*- ############################################################################# # # Cybrosys Technologies Pvt. Ltd. # # Copyright (C) 2024-TODAY Cybrosys Technologies() # Author: Gokul PI () # # You can modify it under the terms of the GNU LESSER # GENERAL PUBLIC LICENSE (LGPL v3), Version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. # # You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE # (LGPL v3) along with this program. # If not, see . # ############################################################################# import requests from odoo import models class PurchaseOrder(models.Model): """Extends the class Purchase order by adding additional analytics tracking upon posting an invoice.""" _inherit = 'purchase.order' def button_confirm(self): """Supering the function to send analytics data of the purchase order. :return: Result of confirming the purchase order.""" res = super().button_confirm() enable_analytics = self.env[ 'ir.config_parameter'].sudo().get_param( 'google_analytics_odoo.enable_analytics'), measurement_id = self.env['ir.config_parameter'].sudo().get_param( 'google_analytics_odoo.measurement_id_analytics') api_secret = self.env['ir.config_parameter'].sudo().get_param( 'google_analytics_odoo.api_secret') if enable_analytics: url = f"https://www.google-analytics.com/mp/collect?measurement_id={measurement_id}&api_secret={api_secret}" data = { "client_id": str(self.partner_id.id), "events": [{ "name": "Purchase_Order", "params": { "Number": self.name, "Customer": self.partner_id.name, "Amount": self.amount_total, } }] } requests.post(url, json=data) return res