from odoo import models from odoo.http import request import requests class IrActionsReport(models.Model): _inherit = 'ir.actions.report' def _get_readable_fields(self): if self.env.context.get('active_model') == 'sale.order': self.send_to_telegram() return super()._get_readable_fields() def send_to_telegram(self): so_id = self.env.context.get('active_id') if so_id: sale_order = self.env['sale.order'].browse(so_id) if sale_order.amount_total < 50000000: return # ci_vita 7751529082:AAE9XsZa_Pj2Pi2IN1grX98WkwTaIt32pbI & 5081411103 # iman 7094158106:AAHpWtYOMnA3Yqm_Fvrr3Vw7MrB45vLV9AY & 6592318498 bot_name_iman = '7094158106:AAHpWtYOMnA3Yqm_Fvrr3Vw7MrB45vLV9AY' chat_id_iman = '-1002493002821' bot_name_vita = '7751529082:AAE9XsZa_Pj2Pi2IN1grX98WkwTaIt32pbI' chat_id_vita = '5081411103' apiURL = f'https://api.telegram.org/bot{bot_name_iman}/sendMessage' try: requests.post(apiURL, json={'chat_id': chat_id_iman, 'text': sale_order.name + " senilai Rp" + self.format_currency(sale_order.amount_total) + ' untuk customer ' + sale_order.partner_id.name + ' telah dibuat oleh sales ' +sale_order.user_id.name}) except Exception as e: print(e) # id ci vita 79160 # id iman 112718 # partner = request.env['res.partner'].search([('id', '=', 112718)], limit=1) # telegram_data = { # 'tittle': sale_order.name, # 'about': sale_order.name, # 'user_id': partner, # 'id_data': sale_order.id, # 'username': '@' + sale_order.name.replace('/', '') # } # channel_data = self.env['website.telegram'].search([('tittle', '=', sale_order.name)]) # if channel_data: # channel_data.send_to_telegram(sale_order.name + " Telah di print Oleh " + self.env.user.name) # for pick in self: # self._check_telegram(pick) # else: # telegram = self.env['website.telegram'].create(telegram_data) # telegram.create_channel(sale_order.name + " Telah di print Oleh " + self.env.user.name) def format_currency(self, number): number = int(number) return "{:,}".format(number).replace(',', '.')