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
« 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
5from __future__ import annotations
7from functools import wraps
8from typing import TYPE_CHECKING
10from django.core.exceptions import PermissionDenied
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
16def management_access(view):
17 """Check management access decorator."""
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)
25 return wrapper