Move exchanging of XMPP contacts to account confirmation
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Since the ejabberd service is now being enabled after the confirmation,
we also need to move the exchanging of roster contacts to that point.
This commit is contained in:
Râu Cao
2023-03-20 17:59:43 +07:00
parent 90680368fb
commit 5b46f3adf5
4 changed files with 62 additions and 36 deletions

View File

@@ -53,7 +53,14 @@ class User < ApplicationRecord
end
def devise_after_confirmation
enable_service %w[discourse gitea mediawiki ejabberd]
enable_service %w[ discourse ejabberd gitea mediawiki ]
#TODO enable in development when we have easy setup of ejabberd etc.
return if Rails.env.development?
if inviter.present?
exchange_xmpp_contact_with_inviter if Setting.ejabberd_enabled?
end
end
def reset_password(new_password, new_password_confirmation)
@@ -120,6 +127,12 @@ class User < ApplicationRecord
ldap.delete_attribute(dn,:service)
end
def exchange_xmpp_contact_with_inviter
return unless inviter.services_enabled.include?("ejabberd") &&
services_enabled.include?("ejabberd")
XmppExchangeContactsJob.perform_later(inviter, self.cn, self.ou)
end
private
def ldap