From f82137850801cb8d4c8cb482f607b68181ef1cb6 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sat, 6 Sep 2025 08:33:49 +0700 Subject: carte --- indoteknik_custom/models/sj_tele.py | 27 ++++++++++++++++++++++++++- indoteknik_custom/views/sj_tele.xml | 2 +- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/models/sj_tele.py b/indoteknik_custom/models/sj_tele.py index 246c0f43..c8f7c0c6 100644 --- a/indoteknik_custom/models/sj_tele.py +++ b/indoteknik_custom/models/sj_tele.py @@ -1,7 +1,8 @@ from odoo import models, fields, api +from odoo.exceptions import UserError import requests import json -import logging +import logging, subprocess _logger = logging.getLogger(__name__) @@ -16,6 +17,30 @@ class SjTele(models.Model): sale_name = fields.Char(string='Sale Name') create_date = fields.Datetime(string='Create Date') + @api.model + def run_pentaho_carte(self): + carte = "http://127.0.0.1:8080" + job_kjb = r"C:/Users/ThinkPad/Desktop/tes.kjb" + params = {"job": job_kjb, "level": "Basic", "block": "Y"} + try: + r = requests.get( + f"{carte}/kettle/executeJob/", + params=params, + auth=("cluster", "cluster"), + timeout=900, + ) + r.raise_for_status() + # kalau Carte mengembalikan ERROR, anggap gagal + if "ERROR" in r.text: + raise UserError(f"Carte error: {r.text}") + except Exception as e: + _logger.exception("Carte call failed: %s", e) + raise UserError(f"Gagal memanggil Carte: {e}") + + self.env['sj.tele'].sudo().woi() + + return True + def woi(self): bot_mqdd = '8203414501:AAHy_XwiUAVrgRM2EJzW7sZx9npRLITZpb8' chat_id_mqdd = '-4885333032' diff --git a/indoteknik_custom/views/sj_tele.xml b/indoteknik_custom/views/sj_tele.xml index cefcc968..2e1e5120 100644 --- a/indoteknik_custom/views/sj_tele.xml +++ b/indoteknik_custom/views/sj_tele.xml @@ -4,7 +4,7 @@ SJ TELE code - model.woi() + model.run_pentaho_carte() 1 days -1 -- cgit v1.2.3