Added EmailsDownload controller and routes
Removed original method to return emails file from Newsletters controller and NewsletterZip class, included `rubyzip` gem that's no longer necessary.
This commit is contained in:
18
app/controllers/admin/emails_download_controller.rb
Normal file
18
app/controllers/admin/emails_download_controller.rb
Normal file
@@ -0,0 +1,18 @@
|
||||
class Admin::EmailsDownloadController < Admin::BaseController
|
||||
def index
|
||||
end
|
||||
|
||||
def generate_csv
|
||||
users_segment = params[:users_segment]
|
||||
filename = t("admin.segment_recipient.#{users_segment}")
|
||||
|
||||
csv_file = users_segment_emails_csv(users_segment)
|
||||
send_data csv_file, filename: "#{filename}.csv"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def users_segment_emails_csv(users_segment)
|
||||
UserSegments.send(users_segment).pluck(:email).to_csv
|
||||
end
|
||||
end
|
||||
@@ -44,12 +44,6 @@ class Admin::NewslettersController < Admin::BaseController
|
||||
redirect_to admin_newsletters_path, notice: t("admin.newsletters.delete_success")
|
||||
end
|
||||
|
||||
def users
|
||||
zip = NewsletterZip.new('emails')
|
||||
zip.create
|
||||
send_file(File.join(zip.path), type: 'application/zip')
|
||||
end
|
||||
|
||||
def deliver
|
||||
@newsletter = Newsletter.find(params[:id])
|
||||
Mailer.newsletter(@newsletter).deliver_later
|
||||
|
||||
Reference in New Issue
Block a user