Coverage for sm/api/permissions.py: 100%
3 statements
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 19:06 +0000
« prev ^ index » next coverage.py v7.17.0, created at 2026-10-24 19:06 +0000
1from rest_framework import permissions
4class SmModelPermissions(permissions.DjangoModelPermissions):
5 """
6 DjangoModelPermissions that also requires the ``view_`` permission for
7 read-only requests, so API access mirrors the web UI's permission model.
8 """
10 perms_map = {
11 "GET": ["%(app_label)s.view_%(model_name)s"],
12 "OPTIONS": ["%(app_label)s.view_%(model_name)s"],
13 "HEAD": ["%(app_label)s.view_%(model_name)s"],
14 "POST": ["%(app_label)s.add_%(model_name)s"],
15 "PUT": ["%(app_label)s.change_%(model_name)s"],
16 "PATCH": ["%(app_label)s.change_%(model_name)s"],
17 "DELETE": ["%(app_label)s.delete_%(model_name)s"],
18 }