-
Notifications
You must be signed in to change notification settings - Fork 48
/
mass_uploads_controller.rb
47 lines (39 loc) · 1.41 KB
/
mass_uploads_controller.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class MassUploadsController < ApplicationController
responders :location
respond_to :html
respond_to :csv, only: :show
before_action :ensure_complete_profile, only: [:new, :create]
before_action :set_mass_upload, only: [:show, :update]
before_action :check_value_of_goods, only: [:update]
def show
authorize @mass_upload
@erroneous_articles = @mass_upload.erroneous_articles.page(params[:erroneous_articles_page])
respond_with @mass_upload do |format|
format.csv do
send_data ArticleExporter.export_erroneous_articles(@mass_upload.erroneous_articles),
filename: "Fairmondo_export_errors_#{Time.now.strftime('%Y-%d-%m %H:%M:%S')}.csv"
end
end
end
def new
@mass_upload = current_user.mass_uploads.build
authorize @mass_upload
respond_with @mass_upload
end
def create
@mass_upload = current_user.mass_uploads.build(params.for(MassUpload).refine)
authorize @mass_upload
@mass_upload.process if @mass_upload.save
respond_with @mass_upload, location: -> { user_path(@mass_upload.user, anchor: 'my_mass_uploads') }
end
def update
authorize @mass_upload
@mass_upload.mass_activate
flash[:notice] = I18n.t('article.notices.mass_upload_create_html').html_safe
redirect_to user_path(@mass_upload.user)
end
private
def set_mass_upload
@mass_upload = current_user.mass_uploads.find(params[:id])
end
end