d4198869fb
Pour permettre d'avoir des données fraiches dans un export tout en conservant l'historique des exports, la demande d'export depuis le menu créé toujours un nouvel export sauf: - si un autre export identique est déjà en préparation - si un autre export identique s'est terminé il y a moins de 5 minutes Co-Authored-By: Lisa Durand <lisa.c.durand@gmail.com>
30 lines
814 B
Ruby
30 lines
814 B
Ruby
class Dossiers::ExportDropdownComponent < ApplicationComponent
|
|
include ApplicationHelper
|
|
|
|
def initialize(procedure:, statut: nil, count: nil, class_btn: nil, export_url: nil)
|
|
@procedure = procedure
|
|
@statut = statut
|
|
@count = count
|
|
@class_btn = class_btn
|
|
@export_url = export_url
|
|
end
|
|
|
|
def formats
|
|
if @statut
|
|
Export::FORMATS.filter(&method(:allowed_format?))
|
|
else
|
|
Export::FORMATS_WITH_TIME_SPAN
|
|
end.map { _1[:format] }
|
|
end
|
|
|
|
def allowed_format?(item)
|
|
item.fetch(:format) != :json || @procedure.active_revision.carte?
|
|
end
|
|
|
|
def download_export_path(export_format:, no_progress_notification: nil)
|
|
@export_url.call(@procedure,
|
|
export_format: export_format,
|
|
statut: @statut,
|
|
no_progress_notification: no_progress_notification)
|
|
end
|
|
end
|