Expose reported transactions on GET /transactions/

This commit is contained in:
2020-01-31 23:46:59 +00:00
parent 8296295937
commit 7d3d06033d
3 changed files with 23 additions and 5 deletions
+13 -2
View File
@@ -193,11 +193,17 @@ class TrainingViewSet(Base, Retrieve, Create, Update):
serializer.save(user=self.request.user)
class TransactionViewSet(Base, Create, Retrieve, Update):
class TransactionViewSet(Base, List, Create, Retrieve, Update):
permission_classes = [AllowMetadata | IsAuthenticated, IsObjOwnerOrAdmin]
queryset = models.Transaction.objects.all()
serializer_class = serializers.TransactionSerializer
def get_queryset(self):
queryset = models.Transaction.objects
if self.action == 'list':
return queryset.exclude(report_type__isnull=True).order_by('-id', '-date')
else:
return queryset.all()
def retally_membership(self):
member_id = self.request.data['member_id']
member = get_object_or_404(models.Member, id=member_id)
@@ -211,6 +217,11 @@ class TransactionViewSet(Base, Create, Retrieve, Update):
serializer.save()
self.retally_membership()
def list(self, request):
if not is_admin_director(self.request.user):
raise exceptions.PermissionDenied()
return super().list(request)
class UserView(views.APIView):
permission_classes = [AllowMetadata | IsAuthenticated]