Show signupApplication in user edit page.

This commit is contained in:
Gucheng Wang 2022-01-15 18:29:10 +08:00
parent e7a6986b62
commit dee9bac110
13 changed files with 57 additions and 4 deletions

View File

@ -38,8 +38,17 @@ func (c *ApiController) GetApplications() {
value := c.Input().Get("value")
sortField := c.Input().Get("sortField")
sortOrder := c.Input().Get("sortOrder")
organization := c.Input().Get("organization")
if limit == "" || page == "" {
c.Data["json"] = object.GetMaskedApplications(object.GetApplications(owner), userId)
var applications []*object.Application
if organization == "" {
applications = object.GetApplications(owner)
} else {
applications = object.GetApplicationsByOrganizationName(owner, organization)
}
c.Data["json"] = object.GetMaskedApplications(applications, userId)
c.ServeJSON()
} else {
limit := util.ParseInt(limit)

View File

@ -89,7 +89,7 @@ func GetPaginationApplications(owner string, offset, limit int, field, value, so
return applications
}
func getApplicationsByOrganizationName(owner string, organization string) []*Application {
func GetApplicationsByOrganizationName(owner string, organization string) []*Application {
applications := []*Application{}
err := adapter.Engine.Desc("created_time").Find(&applications, &Application{Owner: owner, Organization: organization})
if err != nil {

View File

@ -124,7 +124,7 @@ func UpdateOrganization(id string, organization *Organization) bool {
}
if name != organization.Name {
applications := getApplicationsByOrganizationName("admin", name)
applications := GetApplicationsByOrganizationName("admin", name)
for _, application := range applications {
application.Organization = organization.Name
UpdateApplication(application.GetId(), application)

View File

@ -285,7 +285,7 @@ func UpdateUser(id string, user *User, columns []string, isGlobalAdmin bool) boo
if len(columns) == 0 {
columns = []string{"owner", "display_name", "avatar",
"location", "address", "region", "language", "affiliation", "title", "homepage", "bio", "score", "tag",
"location", "address", "region", "language", "affiliation", "title", "homepage", "bio", "score", "tag", "signup_application",
"is_admin", "is_global_admin", "is_forbidden", "is_deleted", "hash", "is_default_avatar", "properties"}
}
if isGlobalAdmin {

View File

@ -45,12 +45,14 @@ class UserEditPage extends React.Component {
user: null,
application: null,
organizations: [],
applications: [],
};
}
UNSAFE_componentWillMount() {
this.getUser();
this.getOrganizations();
this.getApplicationsByOrganization(this.state.organizationName);
this.getUserApplication();
}
@ -72,6 +74,15 @@ class UserEditPage extends React.Component {
});
}
getApplicationsByOrganization(organizationName) {
ApplicationBackend.getApplicationsByOrganization("admin", organizationName)
.then((res) => {
this.setState({
applications: (res.msg === undefined) ? res : [],
});
});
}
getUserApplication() {
ApplicationBackend.getUserApplication(this.state.organizationName, this.state.userName)
.then((application) => {
@ -293,6 +304,18 @@ class UserEditPage extends React.Component {
}} />
</Col>
</Row>
<Row style={{marginTop: '20px'}} >
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
{Setting.getLabel(i18next.t("general:Signup application"), i18next.t("general:Signup application - Tooltip"))} :
</Col>
<Col span={22} >
<Select virtual={false} style={{width: '100%'}} disabled={!Setting.isAdminUser(this.props.account)} value={this.state.user.signupApplication} onChange={(value => {this.updateUserField('signupApplication', value);})}>
{
this.state.applications.map((application, index) => <Option key={index} value={application.name}>{application.name}</Option>)
}
</Select>
</Col>
</Row>
{
!this.isSelfOrAdmin() ? null : (
<Row style={{marginTop: '20px'}} >

View File

@ -21,6 +21,13 @@ export function getApplications(owner, page = "", pageSize = "", field = "", val
}).then(res => res.json());
}
export function getApplicationsByOrganization(owner, organization) {
return fetch(`${Setting.ServerUrl}/api/get-applications?owner=${owner}&organization=${organization}`, {
method: "GET",
credentials: "include"
}).then(res => res.json());
}
export function getApplication(owner, name) {
return fetch(`${Setting.ServerUrl}/api/get-application?id=${owner}/${encodeURIComponent(name)}`, {
method: "GET",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "sign in url",
"Signup URL": "Registrierungs-URL",
"Signup URL - Tooltip": "sign up url",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "Die von Ihnen besuchte Seite existiert leider nicht.",
"Swagger": "Swagger",
"Syncers": "Syncers",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "Signin URL - Tooltip",
"Signup URL": "Signup URL",
"Signup URL - Tooltip": "Signup URL - Tooltip",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "Sorry, the page you visited does not exist.",
"Swagger": "Swagger",
"Syncers": "Syncers",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "sign in url",
"Signup URL": "URL d'inscription",
"Signup URL - Tooltip": "sign up url",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "Désolé, la page que vous avez visitée n'existe pas.",
"Swagger": "Swagger",
"Syncers": "Synchronisateurs",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "sign in url",
"Signup URL": "サインアップURL",
"Signup URL - Tooltip": "sign up url",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "申し訳ありませんが、訪問したページは存在しません。",
"Swagger": "Swagger",
"Syncers": "Syncers",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "sign in url",
"Signup URL": "Signup URL",
"Signup URL - Tooltip": "sign up url",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "Sorry, the page you visited does not exist.",
"Swagger": "Swagger",
"Syncers": "Syncers",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "sign in url",
"Signup URL": "URL регистрации",
"Signup URL - Tooltip": "sign up url",
"Signup application": "Signup application",
"Signup application - Tooltip": "Signup application - Tooltip",
"Sorry, the page you visited does not exist.": "Извините, посещенная вами страница не существует.",
"Swagger": "Swagger",
"Syncers": "Синхронизаторы",

View File

@ -154,6 +154,8 @@
"Signin URL - Tooltip": "用户的登录地址",
"Signup URL": "注册URL",
"Signup URL - Tooltip": "展示给用户的注册地址",
"Signup application": "注册应用",
"Signup application - Tooltip": "表示用户注册时通过哪个应用注册的",
"Sorry, the page you visited does not exist.": "抱歉,您访问的页面不存在",
"Swagger": "API文档",
"Syncers": "同步器",