From 8f4eec2b8efdf95d2139acc1a68c7b4576c0ee48 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Mon, 18 Apr 2016 03:53:23 +0200 Subject: [PATCH] zips all users with newsletter activated --- app/controllers/admin/newsletters_controller.rb | 4 +++- app/models/user.rb | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/newsletters_controller.rb b/app/controllers/admin/newsletters_controller.rb index f09a92e0c..fb922c3dd 100644 --- a/app/controllers/admin/newsletters_controller.rb +++ b/app/controllers/admin/newsletters_controller.rb @@ -9,7 +9,9 @@ class Admin::NewslettersController < Admin::BaseController zipfile_name = folder + "emails.zip" Zip::File.open(zipfile_name, Zip::File::CREATE) do |zipfile| - zipfile.get_output_stream("emails.txt") { |os| os.write 'peter@example.com' } + zipfile.get_output_stream("emails.txt") do |os| + os.write User.newsletter.pluck(:email).join("\n") + end end send_file(File.join(folder + "emails.zip"), :type => 'application/zip') end diff --git a/app/models/user.rb b/app/models/user.rb index c3038c88a..88651630f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -52,6 +52,7 @@ class User < ActiveRecord::Base scope :moderators, -> { joins(:moderator) } scope :organizations, -> { joins(:organization) } scope :officials, -> { where("official_level > 0") } + scope :newsletter, -> { where(newsletter: true) } scope :for_render, -> { includes(:organization) } scope :by_document, -> (document_type, document_number) { where(document_type: document_type, document_number: document_number) } scope :email_digest, -> { where(email_digest: true) }