Add fix for file uploads with . symbols inside the filename

This commit is contained in:
Keannu Christian Bernasol 2024-12-04 02:51:57 +08:00
parent e0eba6ca21
commit 7584f09b62
3 changed files with 25 additions and 14 deletions

View file

@ -6,20 +6,14 @@ import uuid
class Document(models.Model):
name = models.CharField(max_length=100)
DOCUMENT_TYPE_CHOICES = (
("memorandum", "Memorandum"),
("hoa", "HOA"),
("documented procedures manual", "Documented Procedures Manual"),
("other", "Other"),
)
document_type = models.CharField(
max_length=32, choices=DOCUMENT_TYPE_CHOICES, null=False, blank=False
max_length=32, null=False, blank=False
)
number_pages = models.IntegerField(null=False, blank=False)
ocr_metadata = models.TextField(null=True, blank=True)
def upload_to(instance, filename):
_, extension = filename.split(".")
_, extension = filename.rsplit(".", 1)
return "documents/%s_%s.%s" % (now(), str(uuid.uuid4()), extension)
file = models.FileField(upload_to=upload_to)

View file

@ -2,11 +2,28 @@ from rest_framework import serializers
from .models import Document
class DocumentUpdateSerializer(serializers.ModelSerializer):
# For Head to edit document info
file = serializers.FileField(required=False)
class Meta:
model = Document
fields = [
"name",
"file",
"document_type",
"number_pages",
"date_uploaded",
]
read_only_fields = ["id"]
class DocumentUploadSerializer(serializers.ModelSerializer):
# For staff document uploads
date_uploaded = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True
)
file = serializers.FileField()
class Meta:
model = Document