Fix app side bug in org renaming.

This commit is contained in:
Yang Luo 2021-12-23 01:01:23 +08:00
parent f5bc76016d
commit c88edc4d3e
2 changed files with 24 additions and 0 deletions

View File

@ -15,6 +15,8 @@
package object
import (
"fmt"
"github.com/casbin/casdoor/util"
"xorm.io/core"
)
@ -80,6 +82,16 @@ func GetPaginationApplications(owner string, offset, limit int) []*Application {
return applications
}
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 {
panic(err)
}
return applications
}
func getProviderMap(owner string) map[string]*Provider {
providers := GetProviders(owner)
m := map[string]*Provider{}
@ -249,3 +261,7 @@ func DeleteApplication(application *Application) bool {
return affected != 0
}
func (application *Application) GetId() string {
return fmt.Sprintf("%s/%s", application.Owner, application.Name)
}

View File

@ -116,6 +116,14 @@ func UpdateOrganization(id string, organization *Organization) bool {
organization.Name = name
}
if name != organization.Name {
applications := getApplicationsByOrganizationName("admin", name)
for _, application := range applications {
application.Organization = organization.Name
UpdateApplication(application.GetId(), application)
}
}
if organization.MasterPassword != "" {
credManager := cred.GetCredManager(organization.PasswordType)
if credManager != nil {