Add setting for contact roster name
And only exchange contacts when ejabberd integration is enabled
This commit is contained in:
parent
8da297811b
commit
8d90847896
@ -7,12 +7,12 @@ class XmppExchangeContactsJob < ApplicationJob
|
|||||||
ejabberd.add_rosteritem({
|
ejabberd.add_rosteritem({
|
||||||
"localuser": username, "localhost": domain,
|
"localuser": username, "localhost": domain,
|
||||||
"user": inviter.cn, "host": inviter.ou,
|
"user": inviter.cn, "host": inviter.ou,
|
||||||
"nick": inviter.cn, "group": "Friends", "subs": "both"
|
"nick": inviter.cn, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
||||||
})
|
})
|
||||||
ejabberd.add_rosteritem({
|
ejabberd.add_rosteritem({
|
||||||
"localuser": inviter.cn, "localhost": inviter.ou,
|
"localuser": inviter.cn, "localhost": inviter.ou,
|
||||||
"user": username, "host": domain,
|
"user": username, "host": domain,
|
||||||
"nick": username, "group": "Friends", "subs": "both"
|
"nick": username, "group": Setting.ejabberd_buddy_roster, "subs": "both"
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -15,7 +15,7 @@ class CreateAccount < ApplicationService
|
|||||||
|
|
||||||
if @invitation.present?
|
if @invitation.present?
|
||||||
update_invitation(user.id)
|
update_invitation(user.id)
|
||||||
exchange_xmpp_contacts
|
exchange_xmpp_contacts if Setting.ejabberd_enabled
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -18,5 +18,13 @@
|
|||||||
value: Setting.ejabberd_admin_url,
|
value: Setting.ejabberd_admin_url,
|
||||||
class: "w-full", disabled: true %>
|
class: "w-full", disabled: true %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
<%= render FormElements::FieldsetComponent.new(
|
||||||
|
title: "Contact roster name",
|
||||||
|
description: "Used when exchanging contacts after signup from invitation"
|
||||||
|
) do %>
|
||||||
|
<%= f.text_field :ejabberd_buddy_roster,
|
||||||
|
value: Setting.ejabberd_buddy_roster,
|
||||||
|
class: "w-full" %>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -17,9 +17,9 @@ RSpec.describe XmppExchangeContactsJob, type: :job do
|
|||||||
perform_enqueued_jobs { job }
|
perform_enqueued_jobs { job }
|
||||||
|
|
||||||
expect(WebMock).to have_requested(:post, "http://xmpp.example.com/api/add_rosteritem")
|
expect(WebMock).to have_requested(:post, "http://xmpp.example.com/api/add_rosteritem")
|
||||||
.with { |req| req.body == '{"localuser":"isaacnewton","localhost":"kosmos.org","user":"willherschel","host":"kosmos.org","nick":"willherschel","group":"Friends","subs":"both"}' }
|
.with { |req| req.body == '{"localuser":"isaacnewton","localhost":"kosmos.org","user":"willherschel","host":"kosmos.org","nick":"willherschel","group":"Buddies","subs":"both"}' }
|
||||||
expect(WebMock).to have_requested(:post, "http://xmpp.example.com/api/add_rosteritem")
|
expect(WebMock).to have_requested(:post, "http://xmpp.example.com/api/add_rosteritem")
|
||||||
.with { |req| req.body == '{"localuser":"willherschel","localhost":"kosmos.org","user":"isaacnewton","host":"kosmos.org","nick":"isaacnewton","group":"Friends","subs":"both"}' }
|
.with { |req| req.body == '{"localuser":"willherschel","localhost":"kosmos.org","user":"isaacnewton","host":"kosmos.org","nick":"isaacnewton","group":"Buddies","subs":"both"}' }
|
||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user