Code Duplication    Length = 9-11 lines in 2 locations

sigma_core/views/group_member_value.py 1 location

@@ 48-58 (lines=11) @@
45
        # But can always see your own custom fields
46
        return self.queryset.filter(Q(membership__group__in=my_groups) | Q(membership__user=self.request.user.id))
47
48
    def create(self, request):
49
        serializer = GroupMemberValueSerializer(data=request.data)
50
        if not serializer.is_valid():
51
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
52
        mship = serializer.validated_data.get('membership')
53
        # Only Sigma admins can create values for other members
54
        if mship.user != request.user and not request.user.is_sigma_admin():
55
            return Response(status=status.HTTP_400_BAD_REQUEST)
56
57
        serializer.save()
58
        return Response(serializer.data, status=status.HTTP_201_CREATED)
59

sigma_core/views/group_field.py 1 location

@@ 35-43 (lines=9) @@
32
        #my_groups = Group.objects.filter(memberships__user=self.request.user.id)
33
        return self.queryset.filter(group__in=my_groups)
34
35
    def create(self, request):
36
        serializer = GroupFieldSerializer(data=request.data)
37
        if not serializer.is_valid():
38
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
39
        if not request.user.has_group_admin_perm(serializer.validated_data.get('group')):
40
            return Response('Not group administrator', status=status.HTTP_403_FORBIDDEN)
41
42
        serializer.save()
43
        return Response(serializer.data, status=status.HTTP_201_CREATED)
44
45
    @decorators.detail_route(methods=['post'])
46
    def validate(self, request, pk):