From 746667bb38cfd136225c032e0f60e5218bade98f Mon Sep 17 00:00:00 2001 From: Wenkai Yin Date: Fri, 7 Apr 2017 17:43:18 +0800 Subject: [PATCH] donot add projectadmin role to sysadmin when return roles, fix #1957 --- src/ui/api/project.go | 17 +++++++---------- src/ui/api/search.go | 20 ++++++++------------ 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/ui/api/project.go b/src/ui/api/project.go index 0c7774f89..babcd20d2 100644 --- a/src/ui/api/project.go +++ b/src/ui/api/project.go @@ -297,17 +297,14 @@ func (p *ProjectAPI) List() { for i := 0; i < len(projectList); i++ { if public != 1 { - if isAdmin { - projectList[i].Role = models.PROJECTADMIN - } else { - roles, err := dao.GetUserProjectRoles(p.userID, projectList[i].ProjectID) - if err != nil { - log.Errorf("failed to get user's project role: %v", err) - p.CustomAbort(http.StatusInternalServerError, "") - } - projectList[i].Role = roles[0].RoleID + roles, err := dao.GetUserProjectRoles(p.userID, projectList[i].ProjectID) + if err != nil { + log.Errorf("failed to get user's project role: %v", err) + p.CustomAbort(http.StatusInternalServerError, "") } - if projectList[i].Role == models.PROJECTADMIN { + projectList[i].Role = roles[0].RoleID + if projectList[i].Role == models.PROJECTADMIN || + isAdmin { projectList[i].Togglable = true } } diff --git a/src/ui/api/search.go b/src/ui/api/search.go index a62c5b740..ba5b6e0a5 100644 --- a/src/ui/api/search.go +++ b/src/ui/api/search.go @@ -78,20 +78,16 @@ func (s *SearchAPI) Get() { } if userID != dao.NonExistUserID { - if isSysAdmin { - p.Role = models.PROJECTADMIN - } else { - roles, err := dao.GetUserProjectRoles(userID, p.ProjectID) - if err != nil { - log.Errorf("failed to get user's project role: %v", err) - s.CustomAbort(http.StatusInternalServerError, "") - } - if len(roles) != 0 { - p.Role = roles[0].RoleID - } + roles, err := dao.GetUserProjectRoles(userID, p.ProjectID) + if err != nil { + log.Errorf("failed to get user's project role: %v", err) + s.CustomAbort(http.StatusInternalServerError, "") + } + if len(roles) != 0 { + p.Role = roles[0].RoleID } - if p.Role == models.PROJECTADMIN { + if p.Role == models.PROJECTADMIN || isSysAdmin { p.Togglable = true } }