From c69097e30ec0dfb30c2b1b48f623ea59755f573b Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Fri, 7 Aug 2020 12:02:03 -0700 Subject: [PATCH] Fix 2 permission checks: - Allow players to use the interface to edit their own boxes again - Allow reviewers to play any box that has been submitted --- mods/boxes/init.lua | 3 ++- mods/boxes/nodes.lua | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mods/boxes/init.lua b/mods/boxes/init.lua index 671c78b..62edaea 100644 --- a/mods/boxes/init.lua +++ b/mods/boxes/init.lua @@ -528,7 +528,8 @@ minetest.register_chatcommand("enter", { -- normal players may not enter anything but published boxes or their own boxes if minetest.check_player_privs(player, "server") or meta.meta.status == db.STATUS_ACCEPTED or - meta.meta.builder == name then + meta.meta.builder == name or + (meta.meta.status == db.STATUS_SUBMITTED and minetest.check_player_privs(player, "review")) then boxes.open_box(player, {0, id, 1}) else minetest.chat_send_player(name, S("You do not have permissions to enter that box.")) diff --git a/mods/boxes/nodes.lua b/mods/boxes/nodes.lua index e8cc8bd..f85ed77 100644 --- a/mods/boxes/nodes.lua +++ b/mods/boxes/nodes.lua @@ -653,7 +653,9 @@ do_creator_if = function(player, context) end if (not context.box or context.box.status == db.STATUS_EDITING) and - minetest.check_player_privs(name, "server") then + (minetest.check_player_privs(name, "server") or + (context.box and context.box.builder == name) + ) then f = f .. "button[8.4,7;3.4,1;edit;"..FE(S("Edit")).."]" elseif minetest.check_player_privs(name, "server") then f = f .. "button[8.4,7;3.4,1;edit;"..FE(S("Force edit")).."]" -- 2.11.4.GIT