comparison mod_invites_register/mod_invites_register.lua @ 4401:52e1ab99d25e

mod_invites_register: factor group handling into separate module -> mod_invites_groups
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 26 Jan 2021 22:04:43 +0100
parents 205a027d86f3
children 06c9c9ef0a51
comparison
equal deleted inserted replaced
4400:869df5a6b0c5 4401:52e1ab99d25e
1 local st = require "util.stanza"; 1 local st = require "util.stanza";
2 local jid_split = require "util.jid".split; 2 local jid_split = require "util.jid".split;
3 local jid_bare = require "util.jid".bare; 3 local jid_bare = require "util.jid".bare;
4 local rostermanager = require "core.rostermanager"; 4 local rostermanager = require "core.rostermanager";
5
6 local mod_groups = module:depends("groups_internal");
7 5
8 local require_encryption = module:get_option_boolean("c2s_require_encryption", 6 local require_encryption = module:get_option_boolean("c2s_require_encryption",
9 module:get_option_boolean("require_encryption", false)); 7 module:get_option_boolean("require_encryption", false));
10 local invite_only = module:get_option_boolean("registration_invite_only", true); 8 local invite_only = module:get_option_boolean("registration_invite_only", true);
11 9
143 module:log("debug", "Importing roles from invite"); 141 module:log("debug", "Importing roles from invite");
144 local roles = validated_invite.additional_data.roles; 142 local roles = validated_invite.additional_data.roles;
145 if roles then 143 if roles then
146 module:open_store("roles"):set(contact_username, roles); 144 module:open_store("roles"):set(contact_username, roles);
147 end 145 end
148
149 local groups = validated_invite.additional_data.groups;
150 if groups then
151 module:log("Adding to groups...");
152 for _, group in ipairs(groups) do
153 mod_groups.add_member(group, contact_username);
154 end
155 end
156 end 146 end
157 end); 147 end);
158 148
159 -- Equivalent of user-registered but for when the account already existed 149 -- Equivalent of user-registered but for when the account already existed
160 -- (i.e. password reset) 150 -- (i.e. password reset)