feat: en/decodeURI in permission/role name (#2137)

This commit is contained in:
June
2023-07-26 12:08:35 +07:00
committed by GitHub
parent 55d5ae10f2
commit b5e9084e5d
8 changed files with 14 additions and 14 deletions

View File

@ -30,7 +30,7 @@ class PermissionEditPage extends React.Component {
this.state = {
classes: props,
organizationName: props.organizationName !== undefined ? props.organizationName : props.match.params.organizationName,
permissionName: props.match.params.permissionName,
permissionName: decodeURIComponent(props.match.params.permissionName),
permission: null,
organizations: [],
model: null,
@ -449,7 +449,7 @@ class PermissionEditPage extends React.Component {
if (willExist) {
this.props.history.push("/permissions");
} else {
this.props.history.push(`/permissions/${this.state.permission.owner}/${this.state.permission.name}`);
this.props.history.push(`/permissions/${this.state.permission.owner}/${encodeURIComponent(this.state.permission.name)}`);
}
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);

View File

@ -128,7 +128,7 @@ class PermissionListPage extends BaseListPage {
...this.getColumnSearchProps("name"),
render: (text, record, index) => {
return (
<Link to={`/permissions/${record.owner}/${text}`}>
<Link to={`/permissions/${record.owner}/${encodeURIComponent(text)}`}>
{text}
</Link>
);
@ -336,7 +336,7 @@ class PermissionListPage extends BaseListPage {
render: (text, record, index) => {
return (
<div>
<Button style={{marginTop: "10px", marginBottom: "10px", marginRight: "10px"}} type="primary" onClick={() => this.props.history.push(`/permissions/${record.owner}/${record.name}`)}>{i18next.t("general:Edit")}</Button>
<Button style={{marginTop: "10px", marginBottom: "10px", marginRight: "10px"}} type="primary" onClick={() => this.props.history.push(`/permissions/${record.owner}/${encodeURIComponent(record.name)}`)}>{i18next.t("general:Edit")}</Button>
<PopconfirmModal
title={i18next.t("general:Sure to delete") + `: ${record.name} ?`}
onConfirm={() => this.deletePermission(index)}

View File

@ -148,7 +148,7 @@ class PlanListPage extends BaseListPage {
...this.getColumnSearchProps("role"),
render: (text, record, index) => {
return (
<Link to={`/roles/${text}`}>
<Link to={`/roles/${encodeURIComponent(text)}`}>
{text}
</Link>
);

View File

@ -26,7 +26,7 @@ class RoleEditPage extends React.Component {
this.state = {
classes: props,
organizationName: props.organizationName !== undefined ? props.organizationName : props.match.params.organizationName,
roleName: props.match.params.roleName,
roleName: decodeURIComponent(props.match.params.roleName),
role: null,
organizations: [],
users: [],
@ -225,7 +225,7 @@ class RoleEditPage extends React.Component {
if (willExist) {
this.props.history.push("/roles");
} else {
this.props.history.push(`/roles/${this.state.role.owner}/${this.state.role.name}`);
this.props.history.push(`/roles/${this.state.role.owner}/${encodeURIComponent(this.state.role.name)}`);
}
} else {
Setting.showMessage("error", `${i18next.t("general:Failed to save")}: ${res.msg}`);

View File

@ -121,7 +121,7 @@ class RoleListPage extends BaseListPage {
...this.getColumnSearchProps("name"),
render: (text, record, index) => {
return (
<Link to={`/roles/${record.owner}/${record.name}`}>
<Link to={`/roles/${record.owner}/${encodeURIComponent(record.name)}`}>
{text}
</Link>
);
@ -213,7 +213,7 @@ class RoleListPage extends BaseListPage {
render: (text, record, index) => {
return (
<div>
<Button style={{marginTop: "10px", marginBottom: "10px", marginRight: "10px"}} type="primary" onClick={() => this.props.history.push(`/roles/${record.owner}/${record.name}`)}>{i18next.t("general:Edit")}</Button>
<Button style={{marginTop: "10px", marginBottom: "10px", marginRight: "10px"}} type="primary" onClick={() => this.props.history.push(`/roles/${record.owner}/${encodeURIComponent(record.name)}`)}>{i18next.t("general:Edit")}</Button>
<PopconfirmModal
title={i18next.t("general:Sure to delete") + `: ${record.name} ?`}
onConfirm={() => this.deleteRole(index)}