perm
This commit is contained in:
		
							parent
							
								
									8269397fae
								
							
						
					
					
						commit
						36bfa31099
					
				@ -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("У вас нет прав для доступа к этому разделу.")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user