diff --git a/app/controllers/ps_admin/settings_controller.rb b/app/controllers/ps_admin/settings_controller.rb index 8e6054c..9f1d687 100644 --- a/app/controllers/ps_admin/settings_controller.rb +++ b/app/controllers/ps_admin/settings_controller.rb @@ -34,11 +34,16 @@ module PsAdmin if params[:em] NewsletterMailer.news_mail(params[:em]).deliver else - NewsletterMailer.news_mail('adhinz@gmail.com').deliver + NewsletterMailer.news_mail('adhinz@gmail.com').deliver_later end render plain: 'OK' end + def add_email + SendNewsletterJob.perform_later + render plain: 'OK' + end + private def set_settings diff --git a/app/jobs/send_newsletter_job.rb b/app/jobs/send_newsletter_job.rb new file mode 100644 index 0000000..d75686e --- /dev/null +++ b/app/jobs/send_newsletter_job.rb @@ -0,0 +1,14 @@ +# setts all products to check or not their quantity +class SendNewsletterJob < ApplicationJob + queue_as :default + + def perform + emails = Email.all + emails.each do |em| + NewsletterMailer.news_mail(em.email).deliver + em.sended = true + em.save + sleep(2) + end + end +end diff --git a/app/models/email.rb b/app/models/email.rb new file mode 100644 index 0000000..b087370 --- /dev/null +++ b/app/models/email.rb @@ -0,0 +1,4 @@ +# Model stores Emails temporary model +class Email < ApplicationRecord + +end diff --git a/config/routes.rb b/config/routes.rb index d72206b..4d9900a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -35,6 +35,7 @@ Rails.application.routes.draw do post 'settings/xedit' post 'settings/home_page_update' get 'settings/send_email' + get 'settings/add_email' resources :settings resources :admins get 'order/anonimize'