annotate mod_groups_migration/mod_groups_migration.lua @ 4409:44f6537f6427

mod_invites_adhoc: Fail contact invite if user is not on current host Only the username was being used, and the host of the requester ignored. Luckily this only affects admins of the host. If they want to create an account they can use the other command. If they want to create a contact they should request from their account on this host.
author Matthew Wild <mwild1@gmail.com>
date Thu, 28 Jan 2021 07:04:11 +0000
parents 679a0c9d365d
children dd3bfe8f182e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4387
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
1 local host = module.host;
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
2 local usermanager = require"core.usermanager";
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
3
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
4 local mod_groups = module:depends("groups_internal");
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
5 local default_group_id = module:get_option("group_default_id", "default");
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
6
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
7 local function trigger_migration()
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
8 if mod_groups.exists(default_group_id) then
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
9 module:log("debug", "skipping migration, group exists already")
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
10 return
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
11 end
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
12 module:log("info", "migrating to mod_groups!")
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
13
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
14 local group_id = default_group_id;
4391
679a0c9d365d mod_groups_migration: initialise the group with a MUC
Jonas Schäfer <jonas@wielicki.name>
parents: 4387
diff changeset
15 local ok, err = mod_groups.create({name="default"}, true, group_id);
4387
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
16 if not ok then
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
17 module:log("error", "failed to create group: %s", err)
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
18 return
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
19 end
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
20
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
21 for user in usermanager.users(host) do
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
22 mod_groups.add_member(group_id, user, true);
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
23 module:log("debug", "added %s to %s", user, group_id)
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
24 end
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
25 module:log("debug", "synchronising group %s", group_id)
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
26 mod_groups.sync(group_id)
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
27 module:log("info", "added all users to group %s", group_id)
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
28 end
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
29
e5b4ebacbf7a mod_groups_migration: module helping migration to groups
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
30 module:hook_global("server-started", trigger_migration, -100)