fix 测试执行人等过滤只读用户

This commit is contained in:
chenjianxing 2020-06-16 19:49:00 +08:00
parent d855dca091
commit 12cc7da26b
7 changed files with 25 additions and 6 deletions

View File

@ -27,4 +27,5 @@ public interface ExtUserRoleMapper {
List<User> getBesideOrgMemberList(@Param("orgId") String orgId);
List<User> getTestManagerAndTestUserList(@Param("request") QueryMemberRequest request);
}

View File

@ -89,7 +89,12 @@
join role r on r.id = ur.role_id
where w.id = #{workspaceId} and ur.user_id = #{userId}
</select>
<select id="getTestManagerAndTestUserList" resultType="io.metersphere.base.domain.User">
SELECT distinct `user`.* FROM user_role INNER JOIN `user` ON user_role.user_id = `user`.id
WHERE user_role.source_id = #{request.workspaceId} And user_role.role_id in ('test_manager', 'test_user')
<if test="request.name != null">
AND `user`.name like CONCAT('%', #{request.name},'%')
</if>
order by user_role.update_time desc
</select>
</mapper>

View File

@ -274,4 +274,14 @@ public class UserController {
return userService.updateUserPassword(request);
}
/**
* 获取工作空间成员用户 不分页
*/
@PostMapping("/ws/member/tester/list")
@RequiresRoles(value = {RoleConstants.ORG_ADMIN, RoleConstants.TEST_MANAGER,
RoleConstants.TEST_USER, RoleConstants.TEST_VIEWER}, logical = Logical.OR)
public List<User> getTestManagerAndTestUserList(@RequestBody QueryMemberRequest request) {
return userService.getTestManagerAndTestUserList(request);
}
}

View File

@ -457,4 +457,7 @@ public class UserService {
return extUserMapper.getDefaultLanguage(key);
}
public List<User> getTestManagerAndTestUserList(QueryMemberRequest request) {
return extUserRoleMapper.getTestManagerAndTestUserList(request);
}
}

View File

@ -409,7 +409,7 @@
},
getMaintainerOptions() {
let workspaceId = localStorage.getItem(WORKSPACE_ID);
this.$post('/user/ws/member/list/all', {workspaceId:workspaceId}, response => {
this.$post('/user/ws/member/tester/list', {workspaceId:workspaceId}, response => {
this.maintainerOptions = response.data;
});
},

View File

@ -188,7 +188,7 @@
},
setPrincipalOptions() {
let workspaceId = localStorage.getItem(WORKSPACE_ID);
this.$post('/user/ws/member/list/all', {workspaceId:workspaceId}, response => {
this.$post('/user/ws/member/tester/list', {workspaceId:workspaceId}, response => {
this.principalOptions = response.data;
});
},

View File

@ -39,7 +39,7 @@
methods: {
setMaintainerOptions() {
let workspaceId = localStorage.getItem(WORKSPACE_ID);
this.$post('/user/ws/member/list/all', {workspaceId:workspaceId}, response => {
this.$post('/user/ws/member/tester/list', {workspaceId:workspaceId}, response => {
this.executorOptions = response.data;
});
},