Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
c24633d6
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c24633d6
编写于
5月 25, 2021
作者:
F
fit2-zhao
提交者:
fit2-zhao
5月 25, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(系统设置): 操作日志及操作历史问题修复
上级
7332c7e5
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
108 addition
and
51 deletion
+108
-51
backend/src/main/java/io/metersphere/controller/OrganizationController.java
...ava/io/metersphere/controller/OrganizationController.java
+1
-1
backend/src/main/java/io/metersphere/controller/ProjectController.java
...ain/java/io/metersphere/controller/ProjectController.java
+4
-6
backend/src/main/java/io/metersphere/log/vo/track/TestCaseReference.java
...n/java/io/metersphere/log/vo/track/TestCaseReference.java
+1
-1
backend/src/main/java/io/metersphere/log/vo/track/TestPlanReference.java
...n/java/io/metersphere/log/vo/track/TestPlanReference.java
+2
-2
backend/src/main/java/io/metersphere/service/OrganizationService.java
...main/java/io/metersphere/service/OrganizationService.java
+11
-6
backend/src/main/java/io/metersphere/service/ProjectService.java
.../src/main/java/io/metersphere/service/ProjectService.java
+17
-1
backend/src/main/java/io/metersphere/service/UserRoleService.java
...src/main/java/io/metersphere/service/UserRoleService.java
+28
-3
backend/src/main/java/io/metersphere/service/UserService.java
...end/src/main/java/io/metersphere/service/UserService.java
+14
-21
backend/src/main/java/io/metersphere/service/WorkspaceService.java
...rc/main/java/io/metersphere/service/WorkspaceService.java
+22
-8
backend/src/main/resources/i18n/messages_en_US.properties
backend/src/main/resources/i18n/messages_en_US.properties
+1
-0
backend/src/main/resources/i18n/messages_zh_CN.properties
backend/src/main/resources/i18n/messages_zh_CN.properties
+1
-0
backend/src/main/resources/i18n/messages_zh_TW.properties
backend/src/main/resources/i18n/messages_zh_TW.properties
+1
-0
frontend/src/business/components/history/HistoryDetail.vue
frontend/src/business/components/history/HistoryDetail.vue
+5
-2
未找到文件。
backend/src/main/java/io/metersphere/controller/OrganizationController.java
浏览文件 @
c24633d6
...
...
@@ -64,7 +64,7 @@ public class OrganizationController {
}
@PostMapping
(
"/member/update"
)
@MsAuditLog
(
module
=
"organization_member"
,
type
=
OperLogConstants
.
UPDATE
,
content
=
"#msClass.getLogDetails(#memberDTO)"
,
msClass
=
OrganizationService
.
class
)
@MsAuditLog
(
module
=
"organization_member"
,
type
=
OperLogConstants
.
UPDATE
,
beforeEvent
=
"#msClass.getLogDetails(#memberDTO)"
,
content
=
"#msClass.getLogDetails(#memberDTO)"
,
msClass
=
OrganizationService
.
class
)
public
void
updateOrgMember
(
@RequestBody
OrganizationMemberDTO
memberDTO
)
{
organizationService
.
updateOrgMember
(
memberDTO
);
}
...
...
backend/src/main/java/io/metersphere/controller/ProjectController.java
浏览文件 @
c24633d6
...
...
@@ -6,7 +6,6 @@ import io.metersphere.api.service.ApiTestEnvironmentService;
import
io.metersphere.base.domain.FileMetadata
;
import
io.metersphere.base.domain.Project
;
import
io.metersphere.commons.constants.OperLogConstants
;
import
io.metersphere.commons.constants.RoleConstants
;
import
io.metersphere.commons.utils.PageUtils
;
import
io.metersphere.commons.utils.Pager
;
import
io.metersphere.commons.utils.SessionUtils
;
...
...
@@ -17,8 +16,6 @@ import io.metersphere.dto.WorkspaceMemberDTO;
import
io.metersphere.log.annotation.MsAuditLog
;
import
io.metersphere.service.CheckPermissionService
;
import
io.metersphere.service.ProjectService
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -92,6 +89,7 @@ public class ProjectController {
/**
* 切换项目
*
* @param request
* @return
*/
...
...
@@ -116,13 +114,13 @@ public class ProjectController {
}
@PostMapping
(
value
=
"upload/files/{projectId}"
,
consumes
=
{
"multipart/form-data"
})
@MsAuditLog
(
module
=
"project_file_management"
,
type
=
OperLogConstants
.
IMPORT
,
content
=
"#msClass.getLogDetails(#projectId)"
,
msClass
=
ProjectService
.
class
)
@MsAuditLog
(
module
=
"project_file_management"
,
type
=
OperLogConstants
.
IMPORT
,
content
=
"#msClass.getLogDetails(#projectId)"
,
msClass
=
ProjectService
.
class
)
public
List
<
FileMetadata
>
uploadFiles
(
@PathVariable
String
projectId
,
@RequestPart
(
value
=
"file"
)
List
<
MultipartFile
>
files
)
{
return
projectService
.
uploadFiles
(
projectId
,
files
);
}
@PostMapping
(
value
=
"/update/file/{fileId}"
,
consumes
=
{
"multipart/form-data"
})
@MsAuditLog
(
module
=
"project_file_management"
,
type
=
OperLogConstants
.
IMPORT
,
content
=
"#msClass.getLogDetails(#fileId)"
,
msClass
=
ProjectService
.
class
)
@MsAuditLog
(
module
=
"project_file_management"
,
type
=
OperLogConstants
.
IMPORT
,
content
=
"#msClass.getLogDetails(#fileId)"
,
msClass
=
ProjectService
.
class
)
public
FileMetadata
updateFile
(
@PathVariable
String
fileId
,
@RequestPart
(
value
=
"file"
)
MultipartFile
file
)
{
return
projectService
.
updateFile
(
fileId
,
file
);
}
...
...
@@ -134,7 +132,7 @@ public class ProjectController {
}
@PostMapping
(
"/member/update"
)
// @MsAuditLog(module = "workspace_member", type = OperLogConstants.UPDATE, title = "#memberDTO.name"
)
@MsAuditLog
(
module
=
"project_project_member"
,
type
=
OperLogConstants
.
UPDATE
,
beforeEvent
=
"#msClass.getLogDetails(#memberDTO)"
,
content
=
"#msClass.getLogDetails(#memberDTO)"
,
msClass
=
ProjectService
.
class
)
public
void
updateMember
(
@RequestBody
WorkspaceMemberDTO
memberDTO
)
{
projectService
.
updateMember
(
memberDTO
);
}
...
...
backend/src/main/java/io/metersphere/log/vo/track/TestCaseReference.java
浏览文件 @
c24633d6
...
...
@@ -29,7 +29,7 @@ public class TestCaseReference {
testCaseColumns
.
put
(
"expectedResult"
,
"预期结果"
);
testCaseColumns
.
put
(
"demandName"
,
"关联需求"
);
testCaseColumns
.
put
(
"comment"
,
"评论"
);
testCaseColumns
.
put
(
"ms-dff-col"
,
"tags"
);
testCaseColumns
.
put
(
"ms-dff-col"
,
"tags
,steps
"
);
}
}
\ No newline at end of file
backend/src/main/java/io/metersphere/log/vo/track/TestPlanReference.java
浏览文件 @
c24633d6
...
...
@@ -34,9 +34,9 @@ public class TestPlanReference {
issuesColumns
.
put
(
"platform"
,
"平台"
);
issuesColumns
.
put
(
"creator"
,
"创建人"
);
issuesColumns
.
put
(
"reporter"
,
"处理人"
);
issuesColumns
.
put
(
"custom
_f
ields"
,
"自定义字段"
);
issuesColumns
.
put
(
"custom
F
ields"
,
"自定义字段"
);
// 深度处理字段
issuesColumns
.
put
(
"ms-dff-col"
,
"custom
_f
ields"
);
issuesColumns
.
put
(
"ms-dff-col"
,
"custom
F
ields"
);
}
}
\ No newline at end of file
backend/src/main/java/io/metersphere/service/OrganizationService.java
浏览文件 @
c24633d6
...
...
@@ -6,13 +6,15 @@ import io.metersphere.base.mapper.*;
import
io.metersphere.base.mapper.ext.ExtOrganizationMapper
;
import
io.metersphere.base.mapper.ext.ExtUserGroupMapper
;
import
io.metersphere.base.mapper.ext.ExtUserRoleMapper
;
import
io.metersphere.commons.constants.RoleConstants
;
import
io.metersphere.commons.constants.UserGroupType
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.user.SessionUser
;
import
io.metersphere.commons.utils.SessionUtils
;
import
io.metersphere.controller.request.OrganizationRequest
;
import
io.metersphere.dto.*
;
import
io.metersphere.dto.OrganizationMemberDTO
;
import
io.metersphere.dto.OrganizationResource
;
import
io.metersphere.dto.UserDTO
;
import
io.metersphere.dto.UserGroupHelpDTO
;
import
io.metersphere.i18n.Translator
;
import
io.metersphere.log.utils.ReflexObjectUtil
;
import
io.metersphere.log.vo.DetailColumn
;
...
...
@@ -259,12 +261,15 @@ public class OrganizationService {
String
orgId
=
memberDTO
.
getOrganizationId
();
String
userId
=
memberDTO
.
getId
();
// 已有角色
List
<
Role
>
memberRoles
=
extUserRoleMapper
.
getOrganizationMemberRole
s
(
orgId
,
userId
);
List
<
Group
>
memberGroups
=
extUserGroupMapper
.
getOrganizationMemberGroup
s
(
orgId
,
userId
);
Organization
user
=
organizationMapper
.
selectByPrimaryKey
(
orgId
);
if
(
user
!=
null
)
{
List
<
String
>
names
=
memberRoles
.
stream
().
map
(
Role:
:
getName
).
collect
(
Collectors
.
toList
());
List
<
String
>
ids
=
memberRoles
.
stream
().
map
(
Role:
:
getId
).
collect
(
Collectors
.
toList
());
OperatingLogDetails
details
=
new
OperatingLogDetails
(
JSON
.
toJSONString
(
ids
),
null
,
"用户 "
+
userId
+
" 修改角色为:"
+
String
.
join
(
","
,
names
),
user
.
getCreateUser
(),
null
);
List
<
String
>
names
=
memberGroups
.
stream
().
map
(
Group:
:
getName
).
collect
(
Collectors
.
toList
());
List
<
String
>
ids
=
memberGroups
.
stream
().
map
(
Group:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
DetailColumn
>
columns
=
ReflexObjectUtil
.
getColumns
(
user
,
SystemReference
.
organizationColumns
);
DetailColumn
column
=
new
DetailColumn
(
"成员角色"
,
"userRoles"
,
String
.
join
(
","
,
names
),
null
);
columns
.
add
(
column
);
OperatingLogDetails
details
=
new
OperatingLogDetails
(
JSON
.
toJSONString
(
ids
),
null
,
"用户 "
+
userId
+
" 修改角色为:"
+
String
.
join
(
","
,
names
),
user
.
getCreateUser
(),
columns
);
return
JSON
.
toJSONString
(
details
);
}
return
null
;
...
...
backend/src/main/java/io/metersphere/service/ProjectService.java
浏览文件 @
c24633d6
...
...
@@ -38,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
...
...
@@ -237,7 +238,7 @@ public class ProjectService {
return
projectMapper
.
selectByPrimaryKey
(
id
);
}
public
boolean
useCustomNum
(
String
projectId
){
public
boolean
useCustomNum
(
String
projectId
)
{
Project
project
=
this
.
getProjectById
(
projectId
);
if
(
project
!=
null
)
{
Boolean
customNum
=
project
.
getCustomNum
();
...
...
@@ -378,6 +379,21 @@ public class ProjectService {
}
}
public
String
getLogDetails
(
WorkspaceMemberDTO
memberDTO
)
{
String
userId
=
memberDTO
.
getId
();
// 已有角色
List
<
DetailColumn
>
columns
=
new
LinkedList
<>();
// 已有角色
List
<
Group
>
memberGroups
=
extUserGroupMapper
.
getProjectMemberGroups
(
memberDTO
.
getProjectId
(),
userId
);
List
<
String
>
names
=
memberGroups
.
stream
().
map
(
Group:
:
getName
).
collect
(
Collectors
.
toList
());
List
<
String
>
ids
=
memberGroups
.
stream
().
map
(
Group:
:
getId
).
collect
(
Collectors
.
toList
());
DetailColumn
column
=
new
DetailColumn
(
"成员角色"
,
"userRoles"
,
String
.
join
(
","
,
names
),
null
);
columns
.
add
(
column
);
OperatingLogDetails
details
=
new
OperatingLogDetails
(
JSON
.
toJSONString
(
ids
),
memberDTO
.
getProjectId
(),
"用户 "
+
userId
+
" 修改角色为:"
+
String
.
join
(
","
,
names
),
null
,
columns
);
return
JSON
.
toJSONString
(
details
);
}
public
Integer
checkSourceRole
(
String
workspaceId
,
String
userId
,
String
roleId
)
{
return
extOrganizationMapper
.
checkSourceRole
(
workspaceId
,
userId
,
roleId
);
}
...
...
backend/src/main/java/io/metersphere/service/UserRoleService.java
浏览文件 @
c24633d6
package
io.metersphere.service
;
import
io.metersphere.base.domain.Role
;
import
io.metersphere.base.domain.UserRole
;
import
io.metersphere.base.domain.UserRoleExample
;
import
io.metersphere.base.domain.*
;
import
io.metersphere.base.mapper.UserGroupMapper
;
import
io.metersphere.base.mapper.UserRoleMapper
;
import
io.metersphere.base.mapper.ext.ExtUserRoleMapper
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -24,6 +23,8 @@ public class UserRoleService {
private
ExtUserRoleMapper
extUserRoleMapper
;
@Resource
private
UserRoleMapper
userRoleMapper
;
@Resource
private
UserGroupMapper
userGroupMapper
;
public
List
<
Role
>
getOrganizationMemberRoles
(
String
orgId
,
String
userId
)
{
return
extUserRoleMapper
.
getOrganizationMemberRoles
(
orgId
,
userId
);
...
...
@@ -57,4 +58,28 @@ public class UserRoleService {
}
return
list
;
}
public
List
<
Map
<
String
,
Object
>>
getUserGroup
(
String
userId
)
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
UserGroupExample
userRoleExample
=
new
UserGroupExample
();
userRoleExample
.
createCriteria
().
andUserIdEqualTo
(
userId
);
List
<
UserGroup
>
userRoles
=
userGroupMapper
.
selectByExample
(
userRoleExample
);
List
<
String
>
collect
=
userRoles
.
stream
()
.
map
(
userRole
->
userRole
.
getGroupId
())
.
distinct
()
.
collect
(
Collectors
.
toList
());
for
(
int
i
=
0
;
i
<
collect
.
size
();
i
++)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
2
);
map
.
put
(
"id"
,
collect
.
get
(
i
));
map
.
put
(
"ids"
,
new
ArrayList
<>());
for
(
int
j
=
0
;
j
<
userRoles
.
size
();
j
++)
{
String
role
=
userRoles
.
get
(
j
).
getGroupId
();
if
(
StringUtils
.
equals
(
role
,
collect
.
get
(
i
)))
{
List
ids
=
(
List
)
map
.
get
(
"ids"
);
ids
.
add
(
userRoles
.
get
(
j
).
getSourceId
());
}
}
list
.
add
(
map
);
}
return
list
;
}
}
backend/src/main/java/io/metersphere/service/UserService.java
浏览文件 @
c24633d6
...
...
@@ -503,7 +503,7 @@ public class UserService {
ProjectExample
projectExample
=
new
ProjectExample
();
projectExample
.
createCriteria
().
andWorkspaceIdEqualTo
(
workspaceId
);
List
<
Project
>
projects
=
projectMapper
.
selectByExample
(
projectExample
);
UserGroupExample
userGroupExample
=
new
UserGroupExample
();
userGroupExample
.
createCriteria
().
andUserIdEqualTo
(
useId
);
List
<
UserGroup
>
userGroups
=
userGroupMapper
.
selectByExample
(
userGroupExample
);
...
...
@@ -1086,7 +1086,7 @@ public class UserService {
}
private
String
getRoles
(
String
userId
)
{
List
<
Map
<
String
,
Object
>>
maps
=
userRoleService
.
getUser
Role
(
userId
);
List
<
Map
<
String
,
Object
>>
maps
=
userRoleService
.
getUser
Group
(
userId
);
List
<
String
>
colNames
=
new
LinkedList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
maps
))
{
for
(
Map
<
String
,
Object
>
map
:
maps
)
{
...
...
@@ -1105,25 +1105,9 @@ public class UserService {
names
=
workspaces
.
stream
().
map
(
Workspace:
:
getName
).
collect
(
Collectors
.
toList
());
}
StringBuilder
nameBuff
=
new
StringBuilder
();
switch
(
id
)
{
case
"org_member"
:
nameBuff
.
append
(
"组织成员:"
).
append
(
names
);
break
;
case
"org_admin"
:
nameBuff
.
append
(
"组织管理员:"
).
append
(
names
);
break
;
case
"test_manager"
:
nameBuff
.
append
(
"测试管理员:"
).
append
(
names
);
break
;
case
"test_viewer"
:
nameBuff
.
append
(
"只读用户:"
).
append
(
names
);
break
;
case
"admin"
:
nameBuff
.
append
(
"系统管理员"
);
break
;
case
"test_user"
:
nameBuff
.
append
(
"测试成员:"
).
append
(
names
);
break
;
Group
group
=
groupMapper
.
selectByPrimaryKey
(
id
);
if
(
group
!=
null
&&
CollectionUtils
.
isNotEmpty
(
names
))
{
nameBuff
.
append
(
group
.
getName
()).
append
(
names
);
}
colNames
.
add
(
nameBuff
.
toString
());
}
...
...
@@ -1149,6 +1133,15 @@ public class UserService {
User
user
=
userMapper
.
selectByPrimaryKey
(
request
.
getId
());
if
(
user
!=
null
)
{
List
<
DetailColumn
>
columns
=
ReflexObjectUtil
.
getColumns
(
user
,
SystemReference
.
userColumns
);
for
(
DetailColumn
column
:
columns
)
{
if
(
column
.
getColumnName
().
equals
(
"status"
)
&&
column
.
getOriginalValue
()
!=
null
&&
StringUtils
.
isNotEmpty
(
column
.
getOriginalValue
().
toString
()))
{
if
(
column
.
getOriginalValue
().
equals
(
"0"
))
{
column
.
setOriginalValue
(
"未激活"
);
}
else
{
column
.
setOriginalValue
(
"已激活"
);
}
}
}
DetailColumn
detailColumn
=
new
DetailColumn
();
detailColumn
.
setId
(
UUID
.
randomUUID
().
toString
());
detailColumn
.
setColumnTitle
(
"角色权限"
);
...
...
backend/src/main/java/io/metersphere/service/WorkspaceService.java
浏览文件 @
c24633d6
...
...
@@ -7,12 +7,9 @@ import io.metersphere.base.mapper.ext.ExtOrganizationMapper;
import
io.metersphere.base.mapper.ext.ExtUserGroupMapper
;
import
io.metersphere.base.mapper.ext.ExtUserRoleMapper
;
import
io.metersphere.base.mapper.ext.ExtWorkspaceMapper
;
import
io.metersphere.commons.constants.RoleConstants
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.user.SessionUser
;
import
io.metersphere.commons.utils.SessionUtils
;
import
io.metersphere.controller.request.WorkspaceRequest
;
import
io.metersphere.dto.UserDTO
;
import
io.metersphere.dto.UserRoleHelpDTO
;
import
io.metersphere.dto.WorkspaceDTO
;
import
io.metersphere.dto.WorkspaceMemberDTO
;
...
...
@@ -28,6 +25,7 @@ import org.springframework.util.CollectionUtils;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
...
...
@@ -44,7 +42,7 @@ public class WorkspaceService {
@Resource
private
UserRoleMapper
userRoleMapper
;
@Resource
private
UserMapper
user
Mapper
;
private
GroupMapper
group
Mapper
;
@Resource
private
ExtOrganizationMapper
extOrganizationMapper
;
@Resource
...
...
@@ -320,10 +318,26 @@ public class WorkspaceService {
Workspace
user
=
workspaceMapper
.
selectByPrimaryKey
(
workspaceId
);
if
(
user
!=
null
)
{
// 已有角色
List
<
Role
>
memberRoles
=
extUserRoleMapper
.
getWorkspaceMemberRoles
(
workspaceId
,
userId
);
List
<
String
>
names
=
memberRoles
.
stream
().
map
(
Role:
:
getName
).
collect
(
Collectors
.
toList
());
List
<
String
>
ids
=
memberRoles
.
stream
().
map
(
Role:
:
getId
).
collect
(
Collectors
.
toList
());
OperatingLogDetails
details
=
new
OperatingLogDetails
(
JSON
.
toJSONString
(
ids
),
null
,
"用户 "
+
userId
+
" 修改角色为:"
+
String
.
join
(
","
,
names
),
user
.
getCreateUser
(),
null
);
List
<
String
>
names
=
new
LinkedList
<>();
List
<
String
>
ids
=
new
LinkedList
<>();
List
<
DetailColumn
>
columns
=
ReflexObjectUtil
.
getColumns
(
user
,
SystemReference
.
organizationColumns
);
UserGroupExample
example
=
new
UserGroupExample
();
example
.
createCriteria
().
andSourceIdEqualTo
(
workspaceId
).
andUserIdEqualTo
(
userId
);
List
<
UserGroup
>
memberRoles
=
userGroupMapper
.
selectByExample
(
example
);
if
(!
CollectionUtils
.
isEmpty
(
memberRoles
))
{
List
<
String
>
groupIds
=
memberRoles
.
stream
().
map
(
UserGroup:
:
getGroupId
).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
groupIds
))
{
GroupExample
groupExample
=
new
GroupExample
();
groupExample
.
createCriteria
().
andIdIn
(
groupIds
);
List
<
Group
>
groups
=
groupMapper
.
selectByExample
(
groupExample
);
names
=
groups
.
stream
().
map
(
Group:
:
getName
).
collect
(
Collectors
.
toList
());
ids
=
groups
.
stream
().
map
(
Group:
:
getId
).
collect
(
Collectors
.
toList
());
}
}
DetailColumn
column
=
new
DetailColumn
(
"成员角色"
,
"userRoles"
,
String
.
join
(
","
,
names
),
null
);
columns
.
add
(
column
);
OperatingLogDetails
details
=
new
OperatingLogDetails
(
JSON
.
toJSONString
(
ids
),
null
,
"用户 "
+
userId
+
" 修改角色为:"
+
String
.
join
(
","
,
names
),
user
.
getCreateUser
(),
columns
);
return
JSON
.
toJSONString
(
details
);
}
return
null
;
...
...
backend/src/main/resources/i18n/messages_en_US.properties
浏览文件 @
c24633d6
...
...
@@ -245,6 +245,7 @@ system_quota_management=System Quota management
system_authorization_management
=
System authorization management
organization_member
=
Organization member
organization_workspace
=
Organization workspace
project_project_member
=
Project member
organization_service_integration
=
Organization service integration
organization_message_settings
=
Organization message settings
workspace_member
=
Workspace member
...
...
backend/src/main/resources/i18n/messages_zh_CN.properties
浏览文件 @
c24633d6
...
...
@@ -249,6 +249,7 @@ organization_message_settings=组织-消息设置
workspace_member
=
工作空间-成员
workspace_template_settings
=
工作空间-模版设置
project_project_manager
=
项目-项目管理
project_project_member
=
项目-成员
project_project_jar
=
項目-JAR包管理
project_environment_setting
=
项目-环境设置
project_file_management
=
项目-文件管理
...
...
backend/src/main/resources/i18n/messages_zh_TW.properties
浏览文件 @
c24633d6
...
...
@@ -250,6 +250,7 @@ organization_message_settings=組織-消息設置
workspace_member
=
工作空間-成員
workspace_template_settings
=
工作空間-模版設置
project_project_manager
=
項目-項目管理
project_project_member
=
項目-成員
project_project_jar
=
項目-JAR包管理
project_environment_setting
=
項目-環境設置
project_file_management
=
項目-文件管理
...
...
frontend/src/business/components/history/HistoryDetail.vue
浏览文件 @
c24633d6
...
...
@@ -22,12 +22,14 @@
<el-row>
<el-col
:span=
"12"
>
<div
style=
"width: 400px;overflow: auto"
>
<pre>
{{
detail
.
originalValue
}}
</pre>
<pre
v-if=
"formatData.indexOf(detail.columnName)!==-1"
>
{{
detail
.
originalValue
}}
</pre>
<div
v-else
>
{{
detail
.
originalValue
}}
</div>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
style=
"width: 400px;overflow: auto"
>
<pre>
{{
detail
.
newValue
}}
</pre>
<pre
v-if=
"formatData.indexOf(detail.columnName)!==-1"
>
{{
detail
.
newValue
}}
</pre>
<div
v-else
>
{{
detail
.
newValue
}}
</div>
</div>
</el-col>
</el-row>
...
...
@@ -47,6 +49,7 @@
return
{
infoVisible
:
false
,
detail
:
{},
formatData
:[
"
loadConfiguration
"
,
"
advancedConfiguration
"
,
"
config
"
,
"
variables
"
,
"
tags
"
,
"
customFields
"
,
"
steps
"
,
"
scenarioDefinition
"
,
"
request
"
,
"
response
"
],
}
},
methods
:
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录