annotate mod_invites_adhoc/mod_invites_adhoc.lua @ 4931:13070c6a7ce8

mod_http_muc_log: Fix exception on lack of trailing slash in room path A request to /room leads to the match call returning nil which in turn calls nodeprep(nil). In Prosody 0.11.x this does nothing and simply returns the nil, while in 0.12 it is an error. Now it redirects to the calendar view at /room/ - even for non-existant rooms. Discovered at a deployment with http_paths = { muc_log = "/" } and requests to /robots.txt and similar, which now result in a uses redirect before returning 404.
author Kim Alvefur <zash@zash.se>
date Fri, 22 Apr 2022 14:29:32 +0200
parents ea93b204104e
children 8b6fe33d1c9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 -- XEP-0401: Easy User Onboarding
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 local dataforms = require "util.dataforms";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 local datetime = require "util.datetime";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local split_jid = require "util.jid".split;
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
5 local usermanager = require "core.usermanager";
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 local new_adhoc = module:require("adhoc").new;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 -- Whether local users can invite other users to create an account on this server
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 local allow_user_invites = module:get_option_boolean("allow_user_invites", false);
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 -- Who can see and use the contact invite command. It is strongly recommended to
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 -- keep this available to all local users. To allow/disallow invite-registration
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 -- on the server, use the option above instead.
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 local allow_contact_invites = module:get_option_boolean("allow_contact_invites", true);
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
16 local allow_user_invite_roles = module:get_option_set("allow_user_invites_by_roles");
4766
abac64f71698 mod_invites_adhoc: Add the ability to deny user invites by specific roles
Matthew Wild <mwild1@gmail.com>
parents: 4410
diff changeset
17 local deny_user_invite_roles = module:get_option_set("deny_user_invites_by_roles");
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
18
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 local invites;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 if prosody.shutdown then -- COMPAT hack to detect prosodyctl
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 invites = module:depends("invites");
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 end
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 local invite_result_form = dataforms.new({
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 title = "Your invite has been created",
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 name = "url" ;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 var = "landing-url";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 label = "Invite web page";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 desc = "Share this link";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 },
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 name = "uri";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 label = "Invite URI";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 desc = "This alternative link can be opened with some XMPP clients";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36 },
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 name = "expire";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39 label = "Invite valid until";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 },
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41 });
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42
4767
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
43 -- This is for checking if the specified JID may create invites
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
44 -- that allow people to register accounts on this host.
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
45 local function may_invite_new_users(jid)
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
46 if usermanager.get_roles then
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
47 local user_roles = usermanager.get_roles(jid, module.host);
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
48 if not user_roles then return; end
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
49 if user_roles["prosody:admin"] then
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
50 return true;
4767
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
51 end
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
52 if allow_user_invite_roles then
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
53 for allowed_role in allow_user_invite_roles do
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
54 if user_roles[allowed_role] then
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
55 return true;
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
56 end
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
57 end
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
58 end
4767
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
59 if deny_user_invite_roles then
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
60 for denied_role in deny_user_invite_roles do
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
61 if user_roles[denied_role] then
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
62 return false;
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
63 end
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
64 end
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
65 end
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
66 elseif usermanager.is_admin(jid, module.host) then -- COMPAT w/0.11
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
67 return true; -- Admins may always create invitations
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
68 end
4767
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
69 -- No role matches, so whatever the default is
ea93b204104e mod_invites_adhoc: Allow role-based permissions to override default policy
Matthew Wild <mwild1@gmail.com>
parents: 4766
diff changeset
70 return allow_user_invites;
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
71 end
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
72
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73 module:depends("adhoc");
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
75 -- This command is available to all local users, even if allow_user_invites = false
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
76 -- If allow_user_invites is false, creating an invite still works, but the invite will
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
77 -- not be valid for registration on the current server, only for establishing a roster
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
78 -- subscription.
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
79 module:provides("adhoc", new_adhoc("Create new contact invite", "urn:xmpp:invite#invite",
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
80 function (_, data)
4409
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
81 local username, host = split_jid(data.from);
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
82 if host ~= module.host then
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
83 return {
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
84 status = "completed";
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
85 error = {
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
86 message = "This command is only available to users of "..module.host;
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
87 };
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
88 };
44f6537f6427 mod_invites_adhoc: Fail contact invite if user is not on current host
Matthew Wild <mwild1@gmail.com>
parents: 4397
diff changeset
89 end
4410
d1230d32d709 mod_invites_adhoc: Add support for specifying roles that may invite users, admins may always invite
Matthew Wild <mwild1@gmail.com>
parents: 4409
diff changeset
90 local invite = invites.create_contact(username, may_invite_new_users(data.from), {
4397
6e0aa163298f mod_invites_adhoc: also add tracking information to contact invites
Jonas Schäfer <jonas@wielicki.name>
parents: 4395
diff changeset
91 source = data.from
6e0aa163298f mod_invites_adhoc: also add tracking information to contact invites
Jonas Schäfer <jonas@wielicki.name>
parents: 4395
diff changeset
92 });
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
93 --TODO: check errors
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
94 return {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
95 status = "completed";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
96 form = {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
97 layout = invite_result_form;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
98 values = {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
99 uri = invite.uri;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
100 url = invite.landing_page;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
101 expire = datetime.datetime(invite.expires);
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
102 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
103 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
104 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
105 end, allow_contact_invites and "local_user" or "admin"));
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
106
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
107 -- This is an admin-only command that creates a new invitation suitable for registering
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
108 -- a new account. It does not add the new user to the admin's roster.
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
109 module:provides("adhoc", new_adhoc("Create new account invite", "urn:xmpp:invite#create-account",
4395
df9bb3d861f9 mod_invites_adhoc: add information about who created an invitation
Jonas Schäfer <jonas@wielicki.name>
parents: 4092
diff changeset
110 function (_, data)
df9bb3d861f9 mod_invites_adhoc: add information about who created an invitation
Jonas Schäfer <jonas@wielicki.name>
parents: 4092
diff changeset
111 local invite = invites.create_account(nil, {
df9bb3d861f9 mod_invites_adhoc: add information about who created an invitation
Jonas Schäfer <jonas@wielicki.name>
parents: 4092
diff changeset
112 source = data.from
df9bb3d861f9 mod_invites_adhoc: add information about who created an invitation
Jonas Schäfer <jonas@wielicki.name>
parents: 4092
diff changeset
113 });
4092
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
114 --TODO: check errors
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
115 return {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
116 status = "completed";
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
117 form = {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
118 layout = invite_result_form;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
119 values = {
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
120 uri = invite.uri;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
121 url = invite.landing_page;
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
122 expire = datetime.datetime(invite.expires);
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
123 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
124 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
125 };
2b6918714792 mod_invites_adhoc: New module to allow invite creation via ad-hoc commands (XEP-0401)
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
126 end, "admin"));