mirror of
https://github.com/mattermost/focalboard.git
synced 2025-03-26 20:53:55 +02:00
fix adding members to public board by editor (#3954)
* fix adding members to public board by editor * remove log line * fix unit tests * lint fix * update test
This commit is contained in:
parent
2f90840ae8
commit
ee2f07c3da
@ -127,7 +127,8 @@ func (a *API) handleAddMember(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if !a.permissions.HasPermissionToBoard(userID, boardID, model.PermissionManageBoardRoles) {
|
||||
if !a.permissions.HasPermissionToBoard(userID, boardID, model.PermissionManageBoardRoles) &&
|
||||
!(board.Type == model.BoardTypeOpen && a.permissions.HasPermissionToBoard(userID, boardID, model.PermissionManageBoardProperties)) {
|
||||
a.errorResponse(w, r, model.NewErrPermission("access denied to modify board members"))
|
||||
return
|
||||
}
|
||||
|
@ -1397,8 +1397,8 @@ func TestAddMember(t *testing.T) {
|
||||
require.Equal(t, th.GetUser2().ID, member.UserID)
|
||||
|
||||
member, resp = th.Client2.AddMemberToBoard(newMember)
|
||||
th.CheckForbidden(resp)
|
||||
require.Nil(t, member)
|
||||
th.CheckOK(resp)
|
||||
require.NotNil(t, member)
|
||||
|
||||
members, resp = th.Client2.GetMembersForBoard(board.ID)
|
||||
th.CheckOK(resp)
|
||||
|
@ -1697,7 +1697,7 @@ func TestPermissionsCreateBoardMembers(t *testing.T) {
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userTeamMember, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userViewer, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userCommenter, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userEditor, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userEditor, http.StatusOK, 1},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userAdmin, http.StatusOK, 1},
|
||||
{"/boards/{PUBLIC_BOARD_ID}/members", methodPost, boardMemberJSON(testData.publicBoard.ID), userGuest, http.StatusForbidden, 0},
|
||||
|
||||
@ -1715,7 +1715,7 @@ func TestPermissionsCreateBoardMembers(t *testing.T) {
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userTeamMember, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userViewer, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userCommenter, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userEditor, http.StatusForbidden, 0},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userEditor, http.StatusOK, 1},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userAdmin, http.StatusOK, 1},
|
||||
{"/boards/{PUBLIC_TEMPLATE_ID}/members", methodPost, boardMemberJSON(testData.publicTemplate.ID), userGuest, http.StatusForbidden, 0},
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user