Coverage for app/venv/lib/python3.14/site-packages/weblate/auth/decorators.py: 59%

13 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 07:15 +0000

1# Copyright © Michal Čihař <michal@weblate.org> 

2# 

3# SPDX-License-Identifier: GPL-3.0-or-later 

4 

5from __future__ import annotations 

6 

7from functools import wraps 

8from typing import TYPE_CHECKING 

9 

10from django.core.exceptions import PermissionDenied 

11 

12if TYPE_CHECKING: 12 ↛ 13line 12 didn't jump to line 13 because the condition on line 12 was never true

13 from weblate.auth.models import AuthenticatedHttpRequest 

14 

15 

16def management_access(view): 

17 """Check management access decorator.""" 

18 

19 @wraps(view) 

20 def wrapper(request: AuthenticatedHttpRequest, *args, **kwargs): 

21 if not request.user.has_perm("management.use"): 

22 raise PermissionDenied 

23 return view(request, *args, **kwargs) 

24 

25 return wrapper