1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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(',', '.')
|