Compare commits

..

No commits in common. "0415d9996803de20378a1c52130efe00cce7320a" and "7a29e0b73779c3b7ee6800db262d0f5468b26690" have entirely different histories.

3 changed files with 5 additions and 58 deletions

View file

@ -24,8 +24,7 @@ class DocumentRequestCreationSerializer(serializers.ModelSerializer):
documents = DocumentRequestUnitCreationSerializer(many=True, required=True) documents = DocumentRequestUnitCreationSerializer(many=True, required=True)
college = serializers.CharField(max_length=64) college = serializers.CharField(max_length=64)
purpose = serializers.CharField(max_length=512) purpose = serializers.CharField(max_length=512)
type = serializers.ChoiceField( type = serializers.ChoiceField(choices=DocumentRequest.TYPE_CHOICES, required=True)
choices=DocumentRequest.TYPE_CHOICES, required=True)
class Meta: class Meta:
model = DocumentRequest model = DocumentRequest
@ -59,8 +58,8 @@ class DocumentRequestUnitSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = DocumentRequestUnit model = DocumentRequestUnit
fields = ["id", "document", "copies"] fields = ["document", "copies"]
read_only_fields = ["id", "document", "copies"] read_only_fields = ["document", "copies"]
class DocumentRequestUnitWithFileSerializer(serializers.ModelSerializer): class DocumentRequestUnitWithFileSerializer(serializers.ModelSerializer):
@ -68,15 +67,12 @@ class DocumentRequestUnitWithFileSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = DocumentRequestUnit model = DocumentRequestUnit
fields = ["id", "document", "copies"] fields = ["document", "copies"]
read_only_fields = ["id", "document", "copies"] read_only_fields = ["document", "copies"]
class DocumentRequestSerializer(serializers.ModelSerializer): class DocumentRequestSerializer(serializers.ModelSerializer):
documents = serializers.SerializerMethodField() documents = serializers.SerializerMethodField()
requester = serializers.SlugRelatedField(
many=False, slug_field="email", queryset=CustomUser.objects.all(), required=False
)
purpose = serializers.CharField(max_length=512) purpose = serializers.CharField(max_length=512)
date_requested = serializers.DateTimeField( date_requested = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True format="%m-%d-%Y %I:%M %p", read_only=True
@ -113,40 +109,6 @@ class DocumentRequestSerializer(serializers.ModelSerializer):
return serializer_class(obj.documents, many=True).data return serializer_class(obj.documents, many=True).data
class FullDocumentRequestSerializer(serializers.ModelSerializer):
documents = DocumentRequestUnitWithFileSerializer()
requester = serializers.SlugRelatedField(
many=False, slug_field="email", queryset=CustomUser.objects.all(), required=False
)
purpose = serializers.CharField(max_length=512)
date_requested = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True
)
class Meta:
model = DocumentRequest
fields = [
"id",
"requester",
"college",
"type",
"purpose",
"date_requested",
"documents",
"status",
]
read_only_fields = [
"id",
"requester",
"college",
"type",
"purpose",
"date_requested",
"documents",
"status",
]
class DocumentRequestUpdateSerializer(serializers.ModelSerializer): class DocumentRequestUpdateSerializer(serializers.ModelSerializer):
status = serializers.ChoiceField( status = serializers.ChoiceField(
choices=DocumentRequest.STATUS_CHOICES, required=True choices=DocumentRequest.STATUS_CHOICES, required=True

View file

@ -3,12 +3,10 @@ from .views import (
DocumentRequestCreateView, DocumentRequestCreateView,
DocumentRequestListView, DocumentRequestListView,
DocumentRequestUpdateView, DocumentRequestUpdateView,
DocumentRequestFullListView
) )
urlpatterns = [ urlpatterns = [
path("create/", DocumentRequestCreateView.as_view()), path("create/", DocumentRequestCreateView.as_view()),
path("list/", DocumentRequestListView.as_view()), path("list/", DocumentRequestListView.as_view()),
path("list/head/", DocumentRequestFullListView.as_view()),
path("update/<int:pk>/", DocumentRequestUpdateView.as_view()), path("update/<int:pk>/", DocumentRequestUpdateView.as_view()),
] ]

View file

@ -42,19 +42,6 @@ class DocumentRequestListView(generics.ListAPIView):
return queryset return queryset
class DocumentRequestFullListView(generics.ListAPIView):
"""
Returns document requests. Always returns the link to download the document.
Head is able to view all document requests here. Staff and clients have no access
"""
http_method_names = ["get"]
serializer_class = DocumentRequestSerializer
pagination_class = PageNumberPagination
permission_classes = [IsAuthenticated, IsHead]
queryset = DocumentRequest.objects.all()
class DocumentRequestUpdateView(generics.UpdateAPIView): class DocumentRequestUpdateView(generics.UpdateAPIView):
""" """
Used by head approve or deny document requests. Used by head approve or deny document requests.