diff --git a/app/modules/accounting/internal_model_ui.py b/app/modules/accounting/internal_model_ui.py index 9b532fe..c151ad9 100644 --- a/app/modules/accounting/internal_model_ui.py +++ b/app/modules/accounting/internal_model_ui.py @@ -13,7 +13,7 @@ from app.modules.accounting.internal_model_service import ( recent_predictions, train_model, ) -from app.modules.accounting.ui import _require_partner +from app.modules.accounting.ui import _require_partner, _visible_clients from app.modules.core.rbac.deps import get_user_permissions, get_user_roles router = APIRouter(prefix="/tools/accounting/internal-model", tags=["accounting-internal-model-ui"]) @@ -39,7 +39,7 @@ def page(request: Request, message: str = "", error: str = ""): user, denied = _require_partner(request, db, "accounting.learning.view") if denied: return denied - scope = request.state.workspace_scope + _clients, scope = _visible_clients(db, request, user) summary = model_dashboard(db, tenant_id=scope.tenant_id) predictions = recent_predictions(db, tenant_id=scope.tenant_id, limit=100) return templates.TemplateResponse( @@ -69,7 +69,7 @@ def train(request: Request, csrf_token: str = Form(...)): user, denied = _require_partner(request, db, "accounting.learning.manage") if denied: return denied - scope = request.state.workspace_scope + _clients, scope = _visible_clients(db, request, user) model = train_model(db, tenant_id=scope.tenant_id, user_id=user.id) return _redirect( message=( @@ -92,7 +92,7 @@ def activate(request: Request, model_id: int, csrf_token: str = Form(...)): user, denied = _require_partner(request, db, "accounting.learning.manage") if denied: return denied - scope = request.state.workspace_scope + _clients, scope = _visible_clients(db, request, user) model = activate_model(db, tenant_id=scope.tenant_id, model_id=model_id) return _redirect( message=( @@ -115,7 +115,7 @@ def deactivate(request: Request, csrf_token: str = Form(...)): user, denied = _require_partner(request, db, "accounting.learning.manage") if denied: return denied - scope = request.state.workspace_scope + _clients, scope = _visible_clients(db, request, user) deactivate_models(db, tenant_id=scope.tenant_id) return _redirect(message="All internal accounting models returned to shadow mode.") finally: