mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
Compatibility with an external file storage separated in pub/ and priv/
This commit is contained in:
@@ -69,4 +69,5 @@ class SettingsForm(i18nfield.forms.I18nFormMixin, HierarkeyForm):
|
||||
)
|
||||
else:
|
||||
fname = '%s/%s.%s.%s' % (self.obj.slug, name, nonce, name.split('.')[-1])
|
||||
return fname
|
||||
# TODO: make sure pub is always correct
|
||||
return 'pub/' + fname
|
||||
|
||||
@@ -437,7 +437,8 @@ class Event(EventMixin, LoggedModel):
|
||||
if s.value.startswith('file://'):
|
||||
fi = default_storage.open(s.value[7:], 'rb')
|
||||
nonce = get_random_string(length=8)
|
||||
fname = '%s/%s/%s.%s.%s' % (
|
||||
# TODO: make sure pub is always correct
|
||||
fname = 'pub/%s/%s/%s.%s.%s' % (
|
||||
self.organizer.slug, self.slug, s.key, nonce, s.value.split('.')[-1]
|
||||
)
|
||||
newname = default_storage.save(fname, fi)
|
||||
|
||||
@@ -86,7 +86,7 @@ class ItemCategory(LoggedModel):
|
||||
|
||||
|
||||
def itempicture_upload_to(instance, filename: str) -> str:
|
||||
return '%s/%s/item-%s-%s.%s' % (
|
||||
return 'pub/%s/%s/item-%s-%s.%s' % (
|
||||
instance.event.organizer.slug, instance.event.slug, instance.id,
|
||||
str(uuid.uuid4()), filename.split('.')[-1]
|
||||
)
|
||||
|
||||
@@ -317,7 +317,7 @@ class PdfTicketOutput(BaseTicketOutput):
|
||||
bgf = default_storage.open(bg_file.name, "rb")
|
||||
else:
|
||||
bgf = self._get_default_background()
|
||||
bg_pdf = PdfFileReader(bgf)
|
||||
bg_pdf = PdfFileReader(BytesIO(bgf.read()))
|
||||
|
||||
for page in new_pdf.pages:
|
||||
bg_page = copy.copy(bg_pdf.getPage(0))
|
||||
|
||||
@@ -138,7 +138,7 @@ class EditorView(EventPermissionRequiredMixin, TemplateView):
|
||||
|
||||
# Create new file
|
||||
nonce = get_random_string(length=8)
|
||||
fname = '%s-%s/%s/%s.%s.%s' % (
|
||||
fname = 'pub/%s-%s/%s/%s.%s.%s' % (
|
||||
'event', 'settings', self.request.event.pk, 'ticketoutput_{}_layout'.format(self.identifier), nonce, 'pdf'
|
||||
)
|
||||
newname = default_storage.save(fname, cf.file)
|
||||
|
||||
@@ -29,7 +29,7 @@ class Command(BaseCommand):
|
||||
fname = gs.settings.get('widget_file_{}'.format(lc))
|
||||
if not fname or gs.settings.get('widget_checksum_{}'.format(lc), '') != checksum:
|
||||
newname = default_storage.save(
|
||||
'widget/widget.{}.{}.js'.format(lc, checksum),
|
||||
'pub/widget/widget.{}.{}.js'.format(lc, checksum),
|
||||
ContentFile(data)
|
||||
)
|
||||
gs.settings.set('widget_file_{}'.format(lc), 'file://' + newname)
|
||||
|
||||
@@ -45,7 +45,8 @@ def compile_scss(object, file="main.scss", fonts=True):
|
||||
if font != 'Open Sans' and fonts:
|
||||
sassrules.append(get_font_stylesheet(font))
|
||||
sassrules.append(
|
||||
'$font-family-sans-serif: "{}", "Open Sans", "OpenSans", "Helvetica Neue", Helvetica, Arial, sans-serif !default'.format(
|
||||
'$font-family-sans-serif: "{}", "Open Sans", "OpenSans", "Helvetica Neue", Helvetica, Arial, sans-serif '
|
||||
'!default'.format(
|
||||
font
|
||||
))
|
||||
|
||||
@@ -70,7 +71,7 @@ def regenerate_css(event_id: int):
|
||||
|
||||
# main.scss
|
||||
css, checksum = compile_scss(event)
|
||||
fname = '{}/{}/presale.{}.css'.format(event.organizer.slug, event.slug, checksum[:16])
|
||||
fname = 'pub/{}/{}/presale.{}.css'.format(event.organizer.slug, event.slug, checksum[:16])
|
||||
|
||||
if event.settings.get('presale_css_checksum', '') != checksum:
|
||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||
@@ -79,7 +80,7 @@ def regenerate_css(event_id: int):
|
||||
|
||||
# widget.scss
|
||||
css, checksum = compile_scss(event, file='widget.scss', fonts=False)
|
||||
fname = '{}/{}/widget.{}.css'.format(event.organizer.slug, event.slug, checksum[:16])
|
||||
fname = 'pub/{}/{}/widget.{}.css'.format(event.organizer.slug, event.slug, checksum[:16])
|
||||
|
||||
if event.settings.get('presale_widget_css_checksum', '') != checksum:
|
||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||
@@ -93,7 +94,7 @@ def regenerate_organizer_css(organizer_id: int):
|
||||
|
||||
# main.scss
|
||||
css, checksum = compile_scss(organizer)
|
||||
fname = '{}/presale.{}.css'.format(organizer.slug, checksum[:16])
|
||||
fname = 'pub/{}/presale.{}.css'.format(organizer.slug, checksum[:16])
|
||||
if organizer.settings.get('presale_css_checksum', '') != checksum:
|
||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||
organizer.settings.set('presale_css_file', newname)
|
||||
@@ -101,7 +102,7 @@ def regenerate_organizer_css(organizer_id: int):
|
||||
|
||||
# widget.scss
|
||||
css, checksum = compile_scss(organizer)
|
||||
fname = '{}/widget.{}.css'.format(organizer.slug, checksum[:16])
|
||||
fname = 'pub/{}/widget.{}.css'.format(organizer.slug, checksum[:16])
|
||||
if organizer.settings.get('presale_widget_css_checksum', '') != checksum:
|
||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||
organizer.settings.set('presale_widget_css_file', newname)
|
||||
|
||||
Reference in New Issue
Block a user