fix instance label

This commit is contained in:
ValueOn AG 2026-04-12 18:33:59 +02:00
parent 5780cc0324
commit 958449c9dd

View file

@ -672,6 +672,20 @@ def _buildIntegrationsOverviewPayload(userId: str, user=None) -> Dict[str, Any]:
logger.error(f"integrations-overview connections: {e}") logger.error(f"integrations-overview connections: {e}")
out["errors"].append(f"connections: {e}") out["errors"].append(f"connections: {e}")
# --- instance label lookup (shared by DataSource & Trustee blocks) ---
_instLabelCache: Dict[str, str] = {}
def _getInstanceLabel(iid: str) -> str:
if iid in _instLabelCache:
return _instLabelCache[iid]
try:
_fi = getFeatureInterface(root.db)
inst = _fi.getFeatureInstance(iid)
lbl = getattr(inst, "label", None) or getattr(inst, "uiLabel", None) or ""
_instLabelCache[iid] = lbl
except Exception:
_instLabelCache[iid] = ""
return _instLabelCache[iid]
# --- DataSource & FeatureDataSource --- # --- DataSource & FeatureDataSource ---
try: try:
from modules.datamodels.datamodelDataSource import DataSource from modules.datamodels.datamodelDataSource import DataSource
@ -720,6 +734,7 @@ def _buildIntegrationsOverviewPayload(userId: str, user=None) -> Dict[str, Any]:
if not rid or rid in seen_fds: if not rid or rid in seen_fds:
continue continue
seen_fds.add(rid) seen_fds.add(rid)
fds_iid = row.get("featureInstanceId") or ""
out["dataLayerItems"].append( out["dataLayerItems"].append(
{ {
"kind": "featureDataSource", "kind": "featureDataSource",
@ -727,8 +742,9 @@ def _buildIntegrationsOverviewPayload(userId: str, user=None) -> Dict[str, Any]:
"label": row.get("label") or rid, "label": row.get("label") or rid,
"featureCode": row.get("featureCode") or "", "featureCode": row.get("featureCode") or "",
"tableName": row.get("tableName") or "", "tableName": row.get("tableName") or "",
"featureInstanceId": row.get("featureInstanceId"), "featureInstanceId": fds_iid,
"mandateId": row.get("mandateId"), "mandateId": row.get("mandateId"),
"instanceLabel": _getInstanceLabel(fds_iid) if fds_iid else "",
} }
) )
@ -745,8 +761,9 @@ def _buildIntegrationsOverviewPayload(userId: str, user=None) -> Dict[str, Any]:
"label": row.get("label") or rid, "label": row.get("label") or rid,
"featureCode": row.get("featureCode") or "", "featureCode": row.get("featureCode") or "",
"tableName": row.get("tableName") or "", "tableName": row.get("tableName") or "",
"featureInstanceId": row.get("featureInstanceId"), "featureInstanceId": iid,
"mandateId": row.get("mandateId"), "mandateId": row.get("mandateId"),
"instanceLabel": _getInstanceLabel(iid),
} }
) )
except Exception as e: except Exception as e: