From 4692ac36b73cb051fcd488e9029055bb5a1e8928 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Mon, 29 Nov 2021 22:17:35 +0100 Subject: [PATCH] =?UTF-8?q?Seminar=20|=20#995=20-=20Nov=C3=A9=20PDF=20cisl?= =?UTF-8?q?a=20prepise=20puvodni=20PDF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Když je znovu nahráno PDF, původní PDF je smazáno a místo něj je nahráno PDF nové. --- seminar/models/pomocne.py | 9 +++++++++ seminar/models/tvorba.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/seminar/models/pomocne.py b/seminar/models/pomocne.py index eab52e70..de24ef48 100644 --- a/seminar/models/pomocne.py +++ b/seminar/models/pomocne.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- import logging +import os from django.db import models +from django.core.files.storage import FileSystemStorage from .base import SeminarModelBase @@ -65,3 +67,10 @@ class Obrazek(SeminarModelBase): upload_to='obrazky/%Y/%m/%d/', blank=True, null=True) # TODO placement hint - chci ho tady / pred textem / za textem + + +class OverwriteStorage(FileSystemStorage): + def get_available_name(self,name, max_length=None): + if self.exists(name): + os.remove(os.path.join(self.location,name)) + return super().get_available_name(name,max_length) diff --git a/seminar/models/tvorba.py b/seminar/models/tvorba.py index d123e021..01c09e5e 100644 --- a/seminar/models/tvorba.py +++ b/seminar/models/tvorba.py @@ -32,6 +32,7 @@ from django.core.mail import EmailMessage from seminar.utils import aktivniResitele from . import personalni as pm +from . import pomocne from .base import SeminarModelBase @@ -173,7 +174,7 @@ class Cislo(SeminarModelBase): help_text='Neveřejná poznámka k číslu (plain text)') pdf = models.FileField('pdf', upload_to=cislo_pdf_filename, null=True, blank=True, - help_text='PDF čísla, které si mohou řešitelé stáhnout') + help_text='PDF čísla, které si mohou řešitelé stáhnout', storage=pomocne.OverwriteStorage()) titulka_nahled = models.ImageField('Obrázek titulní strany', upload_to=cislo_png_filename, null=True, blank=True, help_text='Obrázek titulní strany, generuje se automaticky')