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):
fieldsets = (
('Export Template', {
'fields': ('content_type', 'name', 'description', 'mime_type', 'file_extension')
'fields': ('content_type', 'name', 'description', 'mime_type', 'file_extension', 'as_attachment')
}),
('Content', {
'fields': ('template_code',),
@ -201,7 +201,7 @@ class ExportTemplateAdmin(admin.ModelAdmin):
})
)
list_display = [
'name', 'content_type', 'description', 'mime_type', 'file_extension',
'name', 'content_type', 'description', 'mime_type', 'file_extension', 'as_attachment',
]
list_filter = [
'content_type',

View File

@ -116,7 +116,7 @@ class ExportTemplateSerializer(ValidatedModelSerializer):
model = ExportTemplate
fields = [
'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,
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()
@ -298,6 +302,8 @@ class ExportTemplate(BigIDModel):
queryset.model._meta.verbose_name_plural,
'.{}'.format(self.file_extension) if self.file_extension else ''
)
if self.as_attachment:
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
return response