From 92d959ffbb27c017f581c3e149052ef29808661a Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Wed, 18 Nov 2020 13:37:49 +0100 Subject: [PATCH] Automatically confirm existing LDAP users Users from before the akkounts app existed can log in without an extra email confirmation. --- app/models/user.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/models/user.rb b/app/models/user.rb index 53b5ca2..4d60b98 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -8,8 +8,14 @@ class User < ApplicationRecord def ldap_before_save self.email = Devise::LDAP::Adapter.get_ldap_param(self.cn, "mail").first + dn = Devise::LDAP::Adapter.get_ldap_param(self.cn, "dn") self.ou = dn.split(',').select{|e| e[0..1] == "ou"}.first.delete_prefix("ou=") + + if self.confirmed_at.blank? && self.confirmation_token.blank? + # User had an account with a trusted email address before akkounts was a thing + self.confirmed_at = DateTime.now + end end def reset_password(new_password, new_password_confirmation)