Merge pull request #957 from paperless-ngx/feature-created-date

Feature: make frontend timezone un-aware
This commit is contained in:
shamoon
2022-07-02 16:58:30 -07:00
committed by GitHub
16 changed files with 60 additions and 75 deletions

View File

@@ -306,6 +306,10 @@ class Document(models.Model):
def thumbnail_file(self):
return open(self.thumbnail_path, "rb")
@property
def created_date(self):
return timezone.localdate(self.created)
class Log(models.Model):

View File

@@ -1,7 +1,13 @@
import datetime
import math
import re
try:
import zoneinfo
except ImportError:
import backports.zoneinfo as zoneinfo
import magic
from django.conf import settings
from django.utils.text import slugify
from django.utils.translation import gettext as _
from rest_framework import serializers
@@ -214,6 +220,7 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
original_file_name = SerializerMethodField()
archived_file_name = SerializerMethodField()
created_date = serializers.DateField(required=False)
def get_original_file_name(self, obj):
return obj.get_public_filename()
@@ -224,6 +231,18 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
else:
return None
def update(self, instance, validated_data):
if "created_date" in validated_data and "created" not in validated_data:
new_datetime = datetime.datetime.combine(
validated_data.get("created_date"),
datetime.time(0, 0, 0, 0, zoneinfo.ZoneInfo(settings.TIME_ZONE)),
)
instance.created = new_datetime
instance.save()
validated_data.pop("created_date")
super().update(instance, validated_data)
return instance
class Meta:
model = Document
depth = 1
@@ -236,6 +255,7 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
"content",
"tags",
"created",
"created_date",
"modified",
"added",
"archive_serial_number",