Mercurial > prosody-modules
annotate mod_invites_groups/mod_invites_groups.lua @ 4976:75b6e5df65f9
various: Improve error reporting if missing file server module on 0.12
If there is some error loading net.http.files then it would be swallowed
by the pcall and then it would proceed to trying mod_http_files, which
might cause unexpected behavior on 0.12
Ref #1765
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 18 Jul 2022 22:47:54 +0200 |
parents | 869df5a6b0c5 |
children |
rev | line source |
---|---|
4400
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
1 local mod_groups = module:depends("groups_internal"); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
2 |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
3 module:hook("user-registered", function(event) |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
4 local validated_invite = event.validated_invite or (event.session and event.session.validated_invite); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
5 if not validated_invite then |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
6 -- not registered via invite, nothing to do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
7 return |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
8 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
9 local groups = validated_invite and validated_invite.additional_data and validated_invite.additional_data.groups; |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
10 if not groups then |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
11 -- invite has no groups, nothing to do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
12 return |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
13 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
14 |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
15 local new_username = event.username; |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
16 module:log("debug", "adding %s to groups from invite", new_username); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
17 for _, group in ipairs(groups) do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
18 mod_groups.add_member(group, new_username); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
19 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
20 end); |