From 0e3b6ee3a0ccd72be2d2948ae52a48bcb5a2ee32 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 5 May 2017 16:02:03 -0700 Subject: [PATCH] enforce disposable email policy on email verifications / changes --- app/site.rb | 3 +++ models/site.rb | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/site.rb b/app/site.rb index 0c6f343b..648143cf 100644 --- a/app/site.rb +++ b/app/site.rb @@ -173,6 +173,8 @@ post '/site/create_directory' do end get '/site/:username/confirm_email/:token' do + @title = 'Confirm email' + if current_site && current_site.email_confirmed return erb(:'site_email_confirmed') end @@ -201,6 +203,7 @@ end get '/site/:username/confirm_email' do require_login + @title = 'Confirm your Email Address' @fromsettings = session[:fromsettings] redirect '/' if current_site.username != params[:username] || !current_site.parent? || current_site.email_confirmed erb :'site/confirm_email' diff --git a/models/site.rb b/models/site.rb index d1d66b42..95a7359e 100644 --- a/models/site.rb +++ b/models/site.rb @@ -912,7 +912,7 @@ class Site < Sequel::Model errors.add :email, 'Cannot use this email address.' end - if parent? && new? && self.class.disposable_email?(values[:email]) + if parent? && (values[:created_at].nil? || values[:created_at] > 1.week.ago) && self.class.disposable_email?(values[:email]) errors.add :email, 'Cannot use a disposable email address.' end