Add User's IsForbidden.

This commit is contained in:
Yang Luo 2021-05-02 12:18:28 +08:00
parent 79f1c62ff7
commit 82f4f542ed
8 changed files with 35 additions and 4 deletions

View File

@ -99,6 +99,7 @@ func (c *ApiController) Signup() {
Affiliation: form.Affiliation,
IsAdmin: false,
IsGlobalAdmin: false,
IsForbidden: false,
}
object.AddUser(user)

View File

@ -65,6 +65,10 @@ func CheckUserLogin(organization string, username string, password string) (*Use
return nil, "password incorrect"
}
if user.IsForbidden {
return nil, "the user is forbidden to sign in, please contact the administrator"
}
return user, ""
}

View File

@ -45,6 +45,7 @@ func initBuiltInUser() {
Tag: "staff",
IsAdmin: true,
IsGlobalAdmin: true,
IsForbidden: false,
}
AddUser(user)
}

View File

@ -40,6 +40,7 @@ type User struct {
Tag string `xorm:"varchar(100)" json:"tag"`
IsAdmin bool `json:"isAdmin"`
IsGlobalAdmin bool `json:"isGlobalAdmin"`
IsForbidden bool `json:"isForbidden"`
Github string `xorm:"varchar(100)" json:"github"`
Google string `xorm:"varchar(100)" json:"google"`

View File

@ -364,6 +364,16 @@ class UserEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: '20px'}} >
<Col style={{marginTop: '5px'}} span={2}>
{i18next.t("user:Is forbidden")}:
</Col>
<Col span={1} >
<Switch checked={this.state.user.isForbidden} onChange={checked => {
this.updateUserField('isForbidden', checked);
}} />
</Col>
</Row>
</React.Fragment>
)
}

View File

@ -211,7 +211,7 @@ class UserListPage extends React.Component {
dataIndex: 'isAdmin',
key: 'isAdmin',
width: '120px',
sorter: (a, b) => a.isAdmin.localeCompare(b.isAdmin),
sorter: (a, b) => a.isAdmin - b.isAdmin,
render: (text, record, index) => {
return (
<Switch disabled checkedChildren="ON" unCheckedChildren="OFF" checked={text} />
@ -223,7 +223,19 @@ class UserListPage extends React.Component {
dataIndex: 'isGlobalAdmin',
key: 'isGlobalAdmin',
width: '120px',
sorter: (a, b) => a.isGlobalAdmin.localeCompare(b.isGlobalAdmin),
sorter: (a, b) => a.isGlobalAdmin - b.isGlobalAdmin,
render: (text, record, index) => {
return (
<Switch disabled checkedChildren="ON" unCheckedChildren="OFF" checked={text} />
)
}
},
{
title: i18next.t("user:Is forbidden"),
dataIndex: 'isForbidden',
key: 'isForbidden',
width: '120px',
sorter: (a, b) => a.isForbidden - b.isForbidden,
render: (text, record, index) => {
return (
<Switch disabled checkedChildren="ON" unCheckedChildren="OFF" checked={text} />

View File

@ -94,7 +94,8 @@
"Link": "Link",
"Unlink": "Unlink",
"Is admin": "Is admin",
"Is global admin": "Is global admin"
"Is global admin": "Is global admin",
"Is forbidden": "Is forbidden"
},
"application":
{

View File

@ -96,7 +96,8 @@
"Link": "绑定",
"Unlink": "解绑",
"Is admin": "是管理员",
"Is global admin": "是全局管理员"
"Is global admin": "是全局管理员",
"Is forbidden": "被禁用"
},
"application":
{