Sha256: 107a69ceb2ed6701b43227e95815351a6d23ad3309ab801e8a2ad1cd129c8971

Contents?: true

Size: 978 Bytes

Versions: 6

Compression:

Stored size: 978 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    # This controller allows admins to manage proposals in a participatory process.
    class ExportsController < ApplicationController
      include Concerns::ParticipatoryProcessAdmin

      def create
        authorize! :manage, feature
        name = params[:id]

        ExportJob.perform_later(current_user, feature, name, params[:format] || default_format)

        flash[:notice] = t("decidim.admin.exports.notice")

        redirect_back(fallback_location: fallback_location)
      end

      private

      def fallback_location
        send(
          "decidim_admin_#{feature.manifest.name}_path",
          feature_id: feature.id,
          participatory_process_id: current_participatory_process.id
        )
      end

      def default_format
        "json"
      end

      def feature
        @feature ||= current_participatory_process.features.find(params[:feature_id])
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
decidim-admin-0.4.3 app/controllers/decidim/admin/exports_controller.rb
decidim-admin-0.4.2 app/controllers/decidim/admin/exports_controller.rb
decidim-admin-0.4.1 app/controllers/decidim/admin/exports_controller.rb
decidim-0.4.3 decidim-admin/app/controllers/decidim/admin/exports_controller.rb
decidim-0.4.2 decidim-admin/app/controllers/decidim/admin/exports_controller.rb
decidim-0.4.1 decidim-admin/app/controllers/decidim/admin/exports_controller.rb