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

1from rest_framework import permissions 

2 

3 

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 """ 

9 

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 }