62 lines
1.5 KiB
Ruby
62 lines
1.5 KiB
Ruby
ActiveAdmin.register Post do
|
|
action_item :upload_csv, only: :index do
|
|
link_to I18n.t("active_admin.users.upload_from_csv"), action: "upload_csv"
|
|
end
|
|
|
|
collection_action :upload_csv do
|
|
render "admin/csv/upload_csv"
|
|
end
|
|
|
|
collection_action :import_csv, method: :post do
|
|
errors = PostImporter.call(params[:dump][:organization_id], params[:dump][:file])
|
|
flash[:error] = errors.join("<br/>").html_safe if errors.present?
|
|
|
|
redirect_to action: :index
|
|
end
|
|
|
|
index do
|
|
id_column
|
|
column :class
|
|
column :is_group
|
|
column :title
|
|
column :created_at do |post|
|
|
l post.created_at.to_date, format: :long
|
|
end
|
|
column :organization
|
|
column :user
|
|
column :category
|
|
column :tag_list
|
|
actions
|
|
end
|
|
|
|
form do |f|
|
|
f.semantic_errors *f.object.errors.attribute_names
|
|
f.inputs do
|
|
f.input :type, as: :radio, collection: %w[Offer Inquiry]
|
|
f.input :title
|
|
f.input :organization
|
|
f.input :user, hint: "Should be member of the selected organization"
|
|
f.input :category
|
|
f.input :description
|
|
f.input :tag_list, hint: "Accepts comma separated values"
|
|
f.input :is_group
|
|
f.input :active
|
|
end
|
|
f.actions
|
|
end
|
|
|
|
permit_params :type, :tag_list, :title, :category_id, :user_id,
|
|
:description, :organization_id, :active, :is_group
|
|
|
|
filter :type, as: :select, collection: -> { Post.subclasses }
|
|
filter :id
|
|
filter :title
|
|
filter :organization
|
|
filter :user
|
|
filter :category
|
|
filter :is_group
|
|
filter :active
|
|
filter :created_at
|
|
filter :updated_at
|
|
end
|