diff --git a/app/models/user.rb b/app/models/user.rb index 1733aeb7d..962937e45 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -269,7 +269,14 @@ class User < ApplicationRecord end def valid_for_authentication? - super && active? + super && account_is_active? + end + + def account_is_active? + unless active? + throw(:warden, message: :inactive_account) + end + true end def editable_duplicate_lettings_logs_sets diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml index 58d68497c..d5d50b5f9 100644 --- a/config/locales/devise.en.yml +++ b/config/locales/devise.en.yml @@ -16,6 +16,7 @@ en: timeout: "Your session expired. Sign in again to continue." unauthenticated: "You need to sign in or sign up before continuing." unconfirmed: "You must confirm your email address before continuing." + inactive_account: "Your account has been deactivated. Ask a data coordinator at your organisation to reactivate your account. Contact the helpdesk if you don't know who your data coordinator is." mailer: confirmation_instructions: subject: "Confirmation instructions."