Merge pull request #6072 from rodvand/origin/feature

#5830: Expand ExportTemplate model with attachment choice
This commit is contained in:
Jeremy Stretch 2021-03-30 18:53:38 -04:00 committed by GitHub
commit 34457ea1b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 4 deletions

View File

@ -193,7 +193,7 @@ class ExportTemplateForm(forms.ModelForm):
class ExportTemplateAdmin(admin.ModelAdmin): class ExportTemplateAdmin(admin.ModelAdmin):
fieldsets = ( fieldsets = (
('Export Template', { ('Export Template', {
'fields': ('content_type', 'name', 'description', 'mime_type', 'file_extension') 'fields': ('content_type', 'name', 'description', 'mime_type', 'file_extension', 'as_attachment')
}), }),
('Content', { ('Content', {
'fields': ('template_code',), 'fields': ('template_code',),
@ -201,7 +201,7 @@ class ExportTemplateAdmin(admin.ModelAdmin):
}) })
) )
list_display = [ list_display = [
'name', 'content_type', 'description', 'mime_type', 'file_extension', 'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment',
] ]
list_filter = [ list_filter = [
'content_type', 'content_type',

View File

@ -116,7 +116,7 @@ class ExportTemplateSerializer(ValidatedModelSerializer):
model = ExportTemplate model = ExportTemplate
fields = [ fields = [
'id', 'url', 'display', 'content_type', 'name', 'description', 'template_code', 'mime_type', 'id', 'url', 'display', 'content_type', 'name', 'description', 'template_code', 'mime_type',
'file_extension', 'file_extension', 'as_attachment',
] ]

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2b1 on 2021-03-30 20:16
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('extras', '0058_journalentry'),
]
operations = [
migrations.AddField(
model_name='exporttemplate',
name='as_attachment',
field=models.BooleanField(default=True),
),
]

View File

@ -251,6 +251,10 @@ class ExportTemplate(BigIDModel):
blank=True, blank=True,
help_text='Extension to append to the rendered filename' help_text='Extension to append to the rendered filename'
) )
as_attachment = models.BooleanField(
default=True,
help_text="Download file as attachment"
)
objects = RestrictedQuerySet.as_manager() objects = RestrictedQuerySet.as_manager()
@ -298,7 +302,9 @@ class ExportTemplate(BigIDModel):
queryset.model._meta.verbose_name_plural, queryset.model._meta.verbose_name_plural,
'.{}'.format(self.file_extension) if self.file_extension else '' '.{}'.format(self.file_extension) if self.file_extension else ''
) )
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
if self.as_attachment:
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
return response return response