diff --git a/seminar/models/pomocne.py b/seminar/models/pomocne.py index de24ef48..16c46bf8 100644 --- a/seminar/models/pomocne.py +++ b/seminar/models/pomocne.py @@ -69,8 +69,3 @@ class Obrazek(SeminarModelBase): # 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 51ab4d72..3e914efd 100644 --- a/seminar/models/tvorba.py +++ b/seminar/models/tvorba.py @@ -32,12 +32,18 @@ from django.core.mail import EmailMessage from seminar.utils import aktivniResitele from . import personalni as pm -from . import pomocne from .base import SeminarModelBase logger = logging.getLogger(__name__) +class OverwriteStorage(FileSystemStorage): + """ Varianta FileSystemStorage, která v případě, že soubor cílového + jména již existuje, ho smaže a místo něj uloží soubor nový""" + 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) @reversion.register(ignore_duplicates=True) class Rocnik(SeminarModelBase): @@ -174,7 +180,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', storage=pomocne.OverwriteStorage()) + help_text='PDF čísla, které si mohou řešitelé stáhnout', storage=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')