mod_invites_adhoc: Add the ability to deny user invites by specific roles
authorMatthew Wild <mwild1@gmail.com>
Tue, 09 Nov 2021 11:33:06 +0000
changeset 4770 abac64f71698
parent 4769 3632836f35b0
child 4771 ea93b204104e
mod_invites_adhoc: Add the ability to deny user invites by specific roles
mod_invites_adhoc/mod_invites_adhoc.lua
--- a/mod_invites_adhoc/mod_invites_adhoc.lua	Mon Nov 08 23:07:01 2021 +0100
+++ b/mod_invites_adhoc/mod_invites_adhoc.lua	Tue Nov 09 11:33:06 2021 +0000
@@ -14,6 +14,7 @@
 local allow_contact_invites = module:get_option_boolean("allow_contact_invites", true);
 
 local allow_user_invite_roles = module:get_option_set("allow_user_invites_by_roles");
+local deny_user_invite_roles = module:get_option_set("deny_user_invites_by_roles");
 
 local invites;
 if prosody.shutdown then -- COMPAT hack to detect prosodyctl
@@ -51,6 +52,12 @@
 		if not user_roles then return; end
 		if user_roles["prosody:admin"] then
 			return true;
+		elseif deny_user_invite_roles then
+			for denied_role in deny_user_invite_roles do
+				if user_roles[denied_role] then
+					return false;
+				end
+			end
 		elseif allow_user_invite_roles then
 			for allowed_role in allow_user_invite_roles do
 				if user_roles[allowed_role] then