Merge pull request #345 from ywk253100/sync_image

bug fix: modify the implements of checking whether project name is in lower case
This commit is contained in:
Wenkai Yin 2016-06-15 15:26:32 +08:00 committed by GitHub
commit 805c85fabb
2 changed files with 8 additions and 5 deletions

View File

@ -18,7 +18,7 @@ package api
import (
"fmt"
"net/http"
"unicode"
"strings"
"github.com/vmware/harbor/dao"
"github.com/vmware/harbor/models"
@ -294,10 +294,10 @@ func validateProjectReq(req projectReq) error {
if isContainIllegalChar(req.ProjectName, []string{"~", "-", "$", "\\", "[", "]", "{", "}", "(", ")", "&", "^", "%", "*", "<", ">", "\"", "'", "/", "?", "@"}) {
return fmt.Errorf("project name contains illegal characters")
}
for _, v := range pn {
if !unicode.IsLower(v) {
if pn != strings.ToLower(pn) {
return fmt.Errorf("project name must be in lower case")
}
}
return nil
}

View File

@ -59,11 +59,13 @@ func listRoles(userID int, projectID int64) ([]models.Role, error) {
roles := make([]models.Role, 0, 1)
isSysAdmin, err := dao.IsAdminRole(userID)
if err != nil {
log.Errorf("failed to determine whether the user %d is system admin: %v", userID, err)
return roles, err
}
if isSysAdmin {
role, err := dao.GetRoleByID(models.PROJECTADMIN)
if err != nil {
log.Errorf("failed to get role %d: %v", models.PROJECTADMIN, err)
return roles, err
}
roles = append(roles, *role)
@ -72,6 +74,7 @@ func listRoles(userID int, projectID int64) ([]models.Role, error) {
rs, err := dao.GetUserProjectRoles(userID, projectID)
if err != nil {
log.Errorf("failed to get user %d 's roles for project %d: %v", userID, projectID, err)
return roles, err
}
roles = append(roles, rs...)