diff --git a/scanpipe/forms.py b/scanpipe/forms.py index c7a2fe7c7..7f9a0298c 100644 --- a/scanpipe/forms.py +++ b/scanpipe/forms.py @@ -257,7 +257,8 @@ class ArchiveProjectForm(forms.Form): class ProjectOutputDownloadForm(forms.Form): - output_formats = forms.MultipleChoiceField( + output_format = forms.ChoiceField( + label="Choose the output format to include in the ZIP file", choices=[ ("json", "JSON"), ("xlsx", "XLSX"), @@ -266,7 +267,8 @@ class ProjectOutputDownloadForm(forms.Form): ("attribution", "Attribution"), ], required=True, - widget=forms.CheckboxSelectMultiple, + initial="json", + widget=forms.RadioSelect, ) diff --git a/scanpipe/pipes/output.py b/scanpipe/pipes/output.py index a71789811..48787a9d7 100644 --- a/scanpipe/pipes/output.py +++ b/scanpipe/pipes/output.py @@ -898,3 +898,12 @@ def to_attribution(project): output_file.write_text(rendered_template) return output_file + + +FORMAT_TO_FUNCTION_MAPPING = { + "json": to_json, + "xlsx": to_xlsx, + "spdx": to_spdx, + "cyclonedx": to_cyclonedx, + "attribution": to_attribution, +} diff --git a/scanpipe/templates/scanpipe/modals/projects_download_modal.html b/scanpipe/templates/scanpipe/modals/projects_download_modal.html index f96542be4..2bab0c761 100644 --- a/scanpipe/templates/scanpipe/modals/projects_download_modal.html +++ b/scanpipe/templates/scanpipe/modals/projects_download_modal.html @@ -7,10 +7,7 @@