forked from CGM_Public/pretix_original
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:
|
else:
|
||||||
fname = '%s/%s.%s.%s' % (self.obj.slug, name, nonce, name.split('.')[-1])
|
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://'):
|
if s.value.startswith('file://'):
|
||||||
fi = default_storage.open(s.value[7:], 'rb')
|
fi = default_storage.open(s.value[7:], 'rb')
|
||||||
nonce = get_random_string(length=8)
|
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]
|
self.organizer.slug, self.slug, s.key, nonce, s.value.split('.')[-1]
|
||||||
)
|
)
|
||||||
newname = default_storage.save(fname, fi)
|
newname = default_storage.save(fname, fi)
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class ItemCategory(LoggedModel):
|
|||||||
|
|
||||||
|
|
||||||
def itempicture_upload_to(instance, filename: str) -> str:
|
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,
|
instance.event.organizer.slug, instance.event.slug, instance.id,
|
||||||
str(uuid.uuid4()), filename.split('.')[-1]
|
str(uuid.uuid4()), filename.split('.')[-1]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ class PdfTicketOutput(BaseTicketOutput):
|
|||||||
bgf = default_storage.open(bg_file.name, "rb")
|
bgf = default_storage.open(bg_file.name, "rb")
|
||||||
else:
|
else:
|
||||||
bgf = self._get_default_background()
|
bgf = self._get_default_background()
|
||||||
bg_pdf = PdfFileReader(bgf)
|
bg_pdf = PdfFileReader(BytesIO(bgf.read()))
|
||||||
|
|
||||||
for page in new_pdf.pages:
|
for page in new_pdf.pages:
|
||||||
bg_page = copy.copy(bg_pdf.getPage(0))
|
bg_page = copy.copy(bg_pdf.getPage(0))
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ class EditorView(EventPermissionRequiredMixin, TemplateView):
|
|||||||
|
|
||||||
# Create new file
|
# Create new file
|
||||||
nonce = get_random_string(length=8)
|
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'
|
'event', 'settings', self.request.event.pk, 'ticketoutput_{}_layout'.format(self.identifier), nonce, 'pdf'
|
||||||
)
|
)
|
||||||
newname = default_storage.save(fname, cf.file)
|
newname = default_storage.save(fname, cf.file)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class Command(BaseCommand):
|
|||||||
fname = gs.settings.get('widget_file_{}'.format(lc))
|
fname = gs.settings.get('widget_file_{}'.format(lc))
|
||||||
if not fname or gs.settings.get('widget_checksum_{}'.format(lc), '') != checksum:
|
if not fname or gs.settings.get('widget_checksum_{}'.format(lc), '') != checksum:
|
||||||
newname = default_storage.save(
|
newname = default_storage.save(
|
||||||
'widget/widget.{}.{}.js'.format(lc, checksum),
|
'pub/widget/widget.{}.{}.js'.format(lc, checksum),
|
||||||
ContentFile(data)
|
ContentFile(data)
|
||||||
)
|
)
|
||||||
gs.settings.set('widget_file_{}'.format(lc), 'file://' + newname)
|
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:
|
if font != 'Open Sans' and fonts:
|
||||||
sassrules.append(get_font_stylesheet(font))
|
sassrules.append(get_font_stylesheet(font))
|
||||||
sassrules.append(
|
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
|
font
|
||||||
))
|
))
|
||||||
|
|
||||||
@@ -70,7 +71,7 @@ def regenerate_css(event_id: int):
|
|||||||
|
|
||||||
# main.scss
|
# main.scss
|
||||||
css, checksum = compile_scss(event)
|
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:
|
if event.settings.get('presale_css_checksum', '') != checksum:
|
||||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||||
@@ -79,7 +80,7 @@ def regenerate_css(event_id: int):
|
|||||||
|
|
||||||
# widget.scss
|
# widget.scss
|
||||||
css, checksum = compile_scss(event, file='widget.scss', fonts=False)
|
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:
|
if event.settings.get('presale_widget_css_checksum', '') != checksum:
|
||||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||||
@@ -93,7 +94,7 @@ def regenerate_organizer_css(organizer_id: int):
|
|||||||
|
|
||||||
# main.scss
|
# main.scss
|
||||||
css, checksum = compile_scss(organizer)
|
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:
|
if organizer.settings.get('presale_css_checksum', '') != checksum:
|
||||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||||
organizer.settings.set('presale_css_file', newname)
|
organizer.settings.set('presale_css_file', newname)
|
||||||
@@ -101,7 +102,7 @@ def regenerate_organizer_css(organizer_id: int):
|
|||||||
|
|
||||||
# widget.scss
|
# widget.scss
|
||||||
css, checksum = compile_scss(organizer)
|
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:
|
if organizer.settings.get('presale_widget_css_checksum', '') != checksum:
|
||||||
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
newname = default_storage.save(fname, ContentFile(css.encode('utf-8')))
|
||||||
organizer.settings.set('presale_widget_css_file', newname)
|
organizer.settings.set('presale_widget_css_file', newname)
|
||||||
|
|||||||
Reference in New Issue
Block a user