MCPcopy Create free account
hub / github.com/WebODM/WebODM / permissions

Method permissions

app/api/projects.py:132–152  ·  view source on GitHub ↗
(self, request, pk=None)

Source from the content-addressed store, hash-verified

130
131 @action(detail=True, methods=['get'])
132 def permissions(self, request, pk=None):
133 project = get_and_check_project(request, pk, ('change_project', ))
134
135 result = []
136
137 perms = get_users_with_perms(project, attach_perms=True, with_group_users=False)
138 for user in perms:
139 result.append({'username': user.username,
140 'owner': project.owner == user,
141 'permissions': normalized_perm_names(perms[user])})
142
143 result.sort(key=lambda r: r['owner'], reverse=True)
144
145 group_perms = get_groups_with_perms(project, attach_perms=True)
146 for group in group_perms:
147 result.append({'groupname': group.name,
148 'permissions': normalized_perm_names(group_perms[group])})
149
150 response = Response(result, status=status.HTTP_200_OK)
151 response['X-Groups-Count'] = Group.objects.count()
152 return response
153
154 @action(detail=True, methods=['post'])
155 def edit(self, request, pk=None):

Callers

nothing calls this directly

Calls 3

get_and_check_projectFunction · 0.85
normalized_perm_namesFunction · 0.85
appendMethod · 0.80

Tested by

no test coverage detected