32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
from dotenv import load_dotenv
|
|
load_dotenv('/opt/rinet-gpu/.env.master')
|
|
# auto-added by patch_scrapers_with_dotenv.sh
|
|
import os
|
|
# erp/audit_helper.py — centralni helper za pisanje u pgz_sport.audit_log
|
|
# Author: dradulic@outlook.com — 2026-05-05
|
|
# Description: Lightweight audit_log writer za CRM module i druge routere koji
|
|
# ne koriste erp/permissions.py.
|
|
import psycopg2
|
|
DB = dict(host="10.10.0.2", port=6432, dbname="rinet_v3", user="rinet",
|
|
password=os.environ["DB_PASSWORD"])
|
|
|
|
def audit(tablica: str, op: str, record_id, korisnik: str = "anon",
|
|
field: str = None, old=None, new=None, ip: str = None) -> None:
|
|
"""Sigurno upiši red u pgz_sport.audit_log. Greške se proguta."""
|
|
try:
|
|
with psycopg2.connect(**DB) as c:
|
|
c.autocommit = True
|
|
c.cursor().execute(
|
|
"""INSERT INTO pgz_sport.audit_log
|
|
(tablica, operacija, record_id, korisnik, ip,
|
|
promijenjeno_polje, stara_vrijednost, nova_vrijednost)
|
|
VALUES (%s,%s,%s,%s,%s,%s,%s,%s)""",
|
|
(tablica, op, record_id, korisnik or "anon", ip,
|
|
field,
|
|
None if old is None else str(old)[:500],
|
|
None if new is None else str(new)[:500]),
|
|
)
|
|
except Exception:
|
|
pass
|