# HG changeset patch # User Jonas Schäfer # Date 1611695063 -3600 # Node ID 869df5a6b0c5bc8fe64d41d34a0605900f3df1cd # Parent 846b7af5588c930bcb7a7cb209a46bacd2a84a31 mod_invites_groups: factor group handling out of mod_invites_register diff -r 846b7af5588c -r 869df5a6b0c5 mod_invites_groups/mod_invites_groups.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_invites_groups/mod_invites_groups.lua Tue Jan 26 22:04:23 2021 +0100 @@ -0,0 +1,20 @@ +local mod_groups = module:depends("groups_internal"); + +module:hook("user-registered", function(event) + local validated_invite = event.validated_invite or (event.session and event.session.validated_invite); + if not validated_invite then + -- not registered via invite, nothing to do + return + end + local groups = validated_invite and validated_invite.additional_data and validated_invite.additional_data.groups; + if not groups then + -- invite has no groups, nothing to do + return + end + + local new_username = event.username; + module:log("debug", "adding %s to groups from invite", new_username); + for _, group in ipairs(groups) do + mod_groups.add_member(group, new_username); + end +end);