class ReportDownloadsController < ApplicationController include ProjectContext before_action :set_project, only: [:index, :create] include ProjectLayout def create authorize(Download) name = "#{@project.name.parameterize}_#{Time.now.strftime('%Y-%m-%d_%H-%M-%S')}" download = @project.downloads.create!(name: name, release_type: "reports") ProjectsChannel.broadcast_download_generation_update(download, I18n.t("report_downloads.download.pending")) GenerateReportsZipJob.perform_later(@project, download, name) end end