Merge remote-tracking branch 'upstream/job-service' into author

This commit is contained in:
wemeya 2016-06-15 16:55:34 +08:00
commit f8e4749950
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) {
return fmt.Errorf("project name must be in lower case")
}
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...)