# frozen_string_literal: true class CustomWizard::AdminSubmissionsController < CustomWizard::AdminController skip_before_action :preload_json, :check_xhr, only: [:download] before_action :find_wizard, except: [:index] def index render json: ActiveModel::ArraySerializer.new( CustomWizard::Wizard.list(current_user), each_serializer: CustomWizard::BasicWizardSerializer ) end def show render_json_dump( wizard: CustomWizard::BasicWizardSerializer.new(@wizard, root: false), submissions: ActiveModel::ArraySerializer.new( submission_list.submissions, each_serializer: CustomWizard::SubmissionSerializer ), total: submission_list.total ) end def download content = ActiveModel::ArraySerializer.new( CustomWizard::Submission.list(@wizard).submissions, each_serializer: CustomWizard::SubmissionSerializer ) send_data content.to_json, filename: "#{Discourse.current_hostname}-wizard-submissions-#{@wizard.name}.json", content_type: "application/json", disposition: "attachment" end protected def submission_list CustomWizard::Submission.list(@wizard, page: params[:page].to_i) end end