From e7641405d7b47c2cabddb31665c23bd6229ee83a Mon Sep 17 00:00:00 2001 From: Cory McDonald Date: Mon, 23 Sep 2019 15:22:27 -0500 Subject: [PATCH] Send out referral and identity update (#2247) --- app/assets/images/mailer/batch/referral.png | Bin 0 -> 48966 bytes app/jobs/batch/email_update_to_user_job.rb | 12 +++ app/mailers/batch_mailer.rb | 17 ++-- .../notification_for_kyc.html.slim | 26 ++++++ .../batch_mailer/update_to_rates.html.slim | 84 ------------------ .../batch_mailer/update_to_tos.html.slim | 3 - config/locales/en.yml | 70 +-------------- lib/tasks/email/kyc_and_referral_update.rake | 30 +++++++ .../previews/publisher_mailer_preview.rb | 4 +- 9 files changed, 77 insertions(+), 169 deletions(-) create mode 100755 app/assets/images/mailer/batch/referral.png create mode 100644 app/jobs/batch/email_update_to_user_job.rb create mode 100644 app/views/batch_mailer/notification_for_kyc.html.slim delete mode 100644 app/views/batch_mailer/update_to_rates.html.slim delete mode 100644 app/views/batch_mailer/update_to_tos.html.slim create mode 100644 lib/tasks/email/kyc_and_referral_update.rake diff --git a/app/assets/images/mailer/batch/referral.png b/app/assets/images/mailer/batch/referral.png new file mode 100755 index 0000000000000000000000000000000000000000..8ac008ab7c4c4baca3da10945d91a1b40f3857d3 GIT binary patch literal 48966 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 literal 0 HcmV?d00001 diff --git a/app/jobs/batch/email_update_to_user_job.rb b/app/jobs/batch/email_update_to_user_job.rb new file mode 100644 index 0000000000..9519c9720c --- /dev/null +++ b/app/jobs/batch/email_update_to_user_job.rb @@ -0,0 +1,12 @@ +module Batch + class EmailUpdateToUserJob < ApplicationJob + queue_as :low + + def perform(publisher_id:) + publisher = Publisher.find(publisher_id) + return if publisher.suspended? + + BatchMailer.notification_for_kyc(publisher).deliver_now + end + end +end diff --git a/app/mailers/batch_mailer.rb b/app/mailers/batch_mailer.rb index cf9ec0b4f3..610d313edb 100644 --- a/app/mailers/batch_mailer.rb +++ b/app/mailers/batch_mailer.rb @@ -1,18 +1,11 @@ # Used for designating batch jobs, usually to all publishers - thus we should queue as low class BatchMailer < ApplicationMailer - def update_to_tos(publisher) + def notification_for_kyc(publisher) @publisher = publisher - mail( - to: @publisher.email || @publisher.pending_email, - subject: default_i18n_subject - ) - end + path = Rails.root.join("app/assets/images/mailer/batch/referral.png") + image_file_name = File.basename(path) + attachments.inline[image_file_name] = File.read(path) - def update_to_rates(publisher) - @publisher = publisher - mail( - to: @publisher.email || @publisher.pending_email, - subject: default_i18n_subject - ) + mail(to: @publisher.email || @publisher.pending_email, subject: default_i18n_subject) end end diff --git a/app/views/batch_mailer/notification_for_kyc.html.slim b/app/views/batch_mailer/notification_for_kyc.html.slim new file mode 100644 index 0000000000..272b833cab --- /dev/null +++ b/app/views/batch_mailer/notification_for_kyc.html.slim @@ -0,0 +1,26 @@ +p.salutation= t "publisher_mailer.shared.salutation", name: @publisher.name + +p We have some changes occuring on October 1st, 2019 that you should know about. +p + span 1. Did you know you can earn BAT by referring your audience and other users to install Brave? It’s true! Be sure to log into your creator dashboard to find your code. + = image_tag(attachments["referral.png"]&.url, alt: 'A picture showing how to access your referral link', style: "width:100%; height:auto; border:none;") +p + span September 30th, 2019 will be the last day for a user to install Brave and receive the old rate of $5 BAT equivalent. Afterward, there will be a new rate that depends upon the location of the installer. + a href="https://support.brave.com/hc/en-us/articles/360025284131"= " Check here for the updated rate card." + +p 2. For those of you who have been actively promoting Brave, we are introducing a promoter program that will help you manage referral codes and campaigns. The promoter program will be invite-only at launch, but we will be bringing in our most active promoters to preview the system over the next few weeks. + +p + span 3. Lastly, please take this quick survey and read the next paragraph! + a href="https://www.surveymonkey.com/r/HNFJKVV"= " https://www.surveymonkey.com/r/HNFJKVV" + +p + span If you visit our community or social media pages, you may have noticed that we’ve reached out regarding KYC and connecting your account with Uphold. Starting October 1st, 2019, + strong=" if you do not create and verify your account with Uphold including Uphold Verified Membership, you will not be able to receive direct tips from Brave user funds. " + span A user who attempts to tip a non-verified publisher will not be able to do so, and the BAT will not leave their wallet. We highly recommend that you log into your Creator dashboard and connect your Uphold account as soon as is possible. + +p + span If you have any questions, please join the discussion at + a href="https://community.brave.com/c/brave-rewards/publishers"= " https://community.brave.com/c/brave-rewards/publishers" + +p As always, thank you for coming on this journey with us! diff --git a/app/views/batch_mailer/update_to_rates.html.slim b/app/views/batch_mailer/update_to_rates.html.slim deleted file mode 100644 index 54fc3eca06..0000000000 --- a/app/views/batch_mailer/update_to_rates.html.slim +++ /dev/null @@ -1,84 +0,0 @@ -p.salutation= t "publisher_mailer.shared.salutation", name: @publisher.name - -p Thank you for using the Brave referral system. We have a pretty important change coming up and we wanted to give you advance notice. - -p The per user payout rate will be changing from $5 globally to variable rates depending upon the region of the user - -strong Why are we doing this? - -p - div When we launched the referral program, the goal was to discover which areas would we see the most growth and to test the viability of the referral program as a whole. Our level of zoom was pretty wide (Planet Earth) and the rate was $5 per user, globally. - div Since then, we have launched our Ads program and we want to shift our level of zoom to more regional efforts, with a specific focus on the areas where we can deliver ads. This is a straightforward business decision. - -br -strong When will this occur? -br -p - div We wanted to give you as much advance notice as possible, especially for those of you who are promoting Brave via ads. - br - div Here is the planned timeline - br - div - strong August - div - = "- Initial message (this email) explaining the rate change and timeline" - div - strong September - div - = "- Announcement posts and reminder email regarding the new rates." - div - = "- Rates change" - div - strong October - div - = "- Last payout of $5 referral" - div - strong November - div - = "- The referral dashboard will be updated to reflect the new rates." - div - = "- First rate card based payout" - - - -h3 Here are the rate changes which will be effective on December 1st payout, 2019 - - -p - div Each country is assigned to a tier, each tier has a flat rate. - div Tier 1 - $7.50 (BAT equivalent) - div Tier 2 - $6.50 (BAT equivalent) - div Tier 3 - $5.00 (BAT equivalent) - div Tier 4 - $2.00 (BAT equivalent) - div Tier 5 - $1.00 (BAT equivalent) - -br -div - strong Tier 1 Countries - div United States - -br -div - strong Tier 2 Countries - div Australia, Canada, France, Germany, Ireland, Japan, New Zealand, United Kingdom - -br -div - strong Tier 3 Countries - div Austria, Belgium, Denmark, Finland, Hong Kong, Israel, Italy, Luxembourg, Malta, Netherlands, Norway, Portugal, Republic of Korea, Singapore, Spain, Sweden, Switzerland, Taiwan, - -br -div - strong Tier 4 Countries - div Albania, Argentina, Armenia, Azerbaijan, Belarus, Belize, Bolivia, Bosnia and Herzegovina, Brazil, Bulgaria, Chile, Columbia, Costa Rica, Croatia, Czechia, Ecuador, El Salvador, Estonia, Georgia, Guatemala, Honduras, Hungary, Latvia, Lithuania, Macedonia, Mexico, Montenegro, Nicaragua, Panama, Paraguay, Peru, Poland, Republic of Moldova, Romania, Russia, Saudi Arabia, Serbia, Slovakia, Turkey, Ukraine, Uruguay - -br -div - strong Tier 5 Countries - div If a country has not been listed in any of the other tiers, it will be in Tier 5. - -p We will be communicating about the change as much as possible over the coming months. If you have questions, please do not hesitate to reach out. - -p Thank you for helping us to keep growing! - - diff --git a/app/views/batch_mailer/update_to_tos.html.slim b/app/views/batch_mailer/update_to_tos.html.slim deleted file mode 100644 index 5cb023d2b5..0000000000 --- a/app/views/batch_mailer/update_to_tos.html.slim +++ /dev/null @@ -1,3 +0,0 @@ -p.salutation= t "publisher_mailer.shared.salutation", name: @publisher.name - -p== t(".body") diff --git a/config/locales/en.yml b/config/locales/en.yml index 29960fec76..6c9dd26e88 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -207,75 +207,9 @@ en: Click the button below to log in to your Brave Rewards account. This email contains a private access link that can only be used once. button: Log in to Brave Rewards batch_mailer: - update_to_rates: - subject: Brave Referral Rate Changes - Please Read - update_to_tos: - subject: Updates to the Brave Rewards Terms of Service for Creators - body: > -

- We know it’s not glamorous or exciting, but we’ve made some changes to the Brave Rewards Terms of Service. We'd love for you to take a look so that you can see the whole updated document. But just to make things a little easier, here’s a quick summary of all the recent changes. -

- In June: - - - - - - - - - - - - - -
- We made it clear we would not send BAT belonging to Brave (including UGP grants and referral payments) to anyone who encourages or engages in violence. -
- We explained how UGP grants work in the terms for publishers, where it was previously only in the user terms. -
- We noted that we are the judge of what is and isn’t the prohibited conduct described in §8. -
-
- In April: - - - - - -
- We launched Brave Ads! Now there are terms for advertisers, and the terms for publishers reflects that. -
-
- In March: - - - - - - - - - - - - - -
- We made it possible for people aged 16 and up to use Brave Rewards with a parent’s permission. -
- We rewrote §4, which explains how contributions work. Contributions essentially didn’t change, we just described them better. -
- We also made some formatting changes which you might not notice, but we think makes the whole thing easier to read. -
+ notification_for_kyc: + subject: "Upcoming changes regarding referrals and Uphold Verified Membership" -

This is only a summary. It doesn’t describe everything that changed. You should read the actual real policy.

- -

- Thanks for being a Brave Rewards Creator, -
- The Brave Rewards Team -

publisher_mailer: shared: button_not_working: "If the button above doesn't work, paste this link into your web browser:" diff --git a/lib/tasks/email/kyc_and_referral_update.rake b/lib/tasks/email/kyc_and_referral_update.rake new file mode 100644 index 0000000000..63d9502c83 --- /dev/null +++ b/lib/tasks/email/kyc_and_referral_update.rake @@ -0,0 +1,30 @@ +namespace :email do + task :kyc_and_referral_update, [:id ] => :environment do |t, args| + + publisher = Publisher + if args[:id].present? + publisher = publisher.where("id >= ?", args[:id]) + end + + puts "Emailing #{publisher.count} users" + publisher.order(id: :asc).find_each.with_index do |user, index| + begin + next if user.email.blank? && user.pending_email.blank? + + Batch::EmailUpdateToUserJob.perform_later(publisher_id: user.id) + + print '.' if index % 1000 == 0 + rescue => ex + puts + puts "Rescued from exception: #{ex.message}" + puts "Could not send email to #{user.id} - Restart the job by running the following" + puts + puts " rake email:rate_changes[\"#{user.id}\"]" + break + end + end + + puts + puts "Done" + end +end diff --git a/test/mailers/previews/publisher_mailer_preview.rb b/test/mailers/previews/publisher_mailer_preview.rb index 2361aea61a..f38af14dcb 100644 --- a/test/mailers/previews/publisher_mailer_preview.rb +++ b/test/mailers/previews/publisher_mailer_preview.rb @@ -89,8 +89,8 @@ def update_to_tos BatchMailer.update_to_tos(Publisher.first) end - def update_to_rates - BatchMailer.update_to_rates(Publisher.first) + def kyc_and_referral_update + BatchMailer.notification_for_kyc(Publisher.first) end def submit_appeal