23 lines
772 B
Ruby
23 lines
772 B
Ruby
class XmppExchangeContactsJob < ApplicationJob
|
|
queue_as :default
|
|
|
|
def perform(inviter, invitee)
|
|
return unless inviter.service_enabled?(:xmpp) &&
|
|
invitee.service_enabled?(:xmpp) &&
|
|
inviter.preferences[:xmpp_exchange_contacts_with_invitees]
|
|
|
|
ejabberd = EjabberdApiClient.new
|
|
|
|
ejabberd.add_rosteritem({
|
|
"localuser": invitee.cn, "localhost": invitee.ou,
|
|
"user": inviter.cn, "host": inviter.ou,
|
|
"nick": inviter.cn, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
|
})
|
|
ejabberd.add_rosteritem({
|
|
"localuser": inviter.cn, "localhost": inviter.ou,
|
|
"user": invitee.cn, "host": invitee.ou,
|
|
"nick": invitee.cn, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
|
})
|
|
end
|
|
end
|