mirror of
https://github.com/lemeow125/DocManagerBackend.git
synced 2025-04-20 08:51:31 +08:00
Compare commits
No commits in common. "0415d9996803de20378a1c52130efe00cce7320a" and "7a29e0b73779c3b7ee6800db262d0f5468b26690" have entirely different histories.
0415d99968
...
7a29e0b737
3 changed files with 5 additions and 58 deletions
|
@ -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
|
||||||
|
|
|
@ -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()),
|
||||||
]
|
]
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Add table
Reference in a new issue