This commit is contained in:
unknown 2025-09-26 19:24:49 +03:00
parent 8269397fae
commit 36bfa31099

View File

@ -19,6 +19,7 @@ class YobbleHomeView(QWidget):
self.username = username self.username = username
self.setWindowTitle(f"Yobble Home - {username}") self.setWindowTitle(f"Yobble Home - {username}")
self.setMinimumSize(360, 640) self.setMinimumSize(360, 640)
self.permission_cache = set()
# --- Основной макет --- # --- Основной макет ---
# Используем QHBoxLayout, чтобы можно было разместить меню и контент рядом # Используем QHBoxLayout, чтобы можно было разместить меню и контент рядом
@ -256,6 +257,10 @@ class YobbleHomeView(QWidget):
async def check_permissions_and_switch(self, index, permission_code): async def check_permissions_and_switch(self, index, permission_code):
"""Асинхронно проверяет права и переключает вкладку.""" """Асинхронно проверяет права и переключает вкладку."""
if permission_code in self.permission_cache:
self.switch_tab(index)
return
access_token = get_current_access_token() access_token = get_current_access_token()
if not access_token: if not access_token:
self.show_error_message(localizer.translate("Сессия не найдена. Пожалуйста, войдите снова.")) self.show_error_message(localizer.translate("Сессия не найдена. Пожалуйста, войдите снова."))
@ -265,6 +270,7 @@ class YobbleHomeView(QWidget):
print("data", data) print("data", data)
if success and permission_code in data.get("user_permissions", []): if success and permission_code in data.get("user_permissions", []):
self.permission_cache.add(permission_code)
self.switch_tab(index) self.switch_tab(index)
else: else:
error_message = data if not success else localizer.translate("У вас нет прав для доступа к этому разделу.") error_message = data if not success else localizer.translate("У вас нет прав для доступа к этому разделу.")