change code as the review reqired

This commit is contained in:
wemeya 2016-06-02 17:33:10 +08:00
parent d66a8f913e
commit 389a6037d5
6 changed files with 16 additions and 14 deletions

View File

@ -199,7 +199,7 @@ func (p *ProjectAPI) List() {
p.ServeJSON()
}
// ToggleProjectPublic handles request POST /api/projects/:id/toggle_project_public
// ToggleProjectPulic handles request PUT /api/projects/:id/publicity
func (p *ProjectAPI) ToggleProjectPublic() {
p.userID = p.ValidateUser()
var req projectReq

View File

@ -280,7 +280,7 @@ func (ua *UserAPI) ChangePassword() {
}
}
// ToggleUserAdminRole handles Post api/users/{}/toggleadmin
// ToggleUserAdminRole handles PUT api/users/{}/toggleadmin
func (ua *UserAPI) ToggleUserAdminRole() {
if !ua.IsAdmin {
log.Warningf("current user, id: %d does not have admin role, can not update other user's role", ua.currentUserID)
@ -288,12 +288,13 @@ func (ua *UserAPI) ToggleUserAdminRole() {
return
}
userQuery := models.User{UserID: ua.userID}
if err := dao.ToggleUserAdminRole(userQuery); err != nil {
ua.DecodeJSONReq(&userQuery)
if err := dao.ToggleUserAdminRole(userQuery.UserID,userQuery.HasAdminRole); err != nil {
log.Errorf("Error occurred in ToggleUserAdminRole: %v", err)
ua.CustomAbort(http.StatusInternalServerError, "Internal error.")
}
}
// validate only validate when user register
func validate(user models.User) error {
if isIllegalLength(user.Username, 0, 20) {
@ -311,7 +312,7 @@ func validate(user models.User) error {
return nil
}
//commonValidate validates information when user register or change their profile
//commonValidate validates email, realname, comment information when user register or change their profile
func commonValidate(user models.User) error {
if len(user.Email) > 0 {

View File

@ -112,7 +112,7 @@ func (l *Auth) Authenticate(m models.AuthModel) (*models.User, error) {
u.Password = "12345678AbC"
u.Comment = "registered from LDAP."
if u.Email == "" {
u.Email = u.Username + "@vmware.com"
u.Email = u.Username + "@placeholder.com"
}
userID, err := dao.Register(u)
if err != nil {

View File

@ -17,7 +17,7 @@ package dao
import (
"strings"
"github.com/astaxie/beego/orm"
"github.com/vmware/harbor/models"
"github.com/vmware/harbor/utils/log"
)

View File

@ -109,12 +109,13 @@ func ListUsers(query models.User) ([]models.User, error) {
}
// ToggleUserAdminRole gives a user admin role.
func ToggleUserAdminRole(u models.User) error {
func ToggleUserAdminRole(userID, hasAdmin int) error {
o := GetOrmer()
sql := `update user set sysadmin_flag = not sysadmin_flag where user_id = ?`
r, err := o.Raw(sql, u.UserID).Exec()
queryParams := make([]interface{}, 1)
sql := `update user set sysadmin_flag = ? where user_id = ?`
queryParams = append(queryParams, hasAdmin)
queryParams = append(queryParams, userID)
r, err := o.Raw(sql, queryParams).Exec()
if err != nil {
return err
}

View File

@ -55,12 +55,12 @@ func initRouters() {
beego.Router("/api/projects/:pid/members/?:mid", &api.ProjectMemberAPI{})
beego.Router("/api/projects/", &api.ProjectAPI{}, "get:List")
beego.Router("/api/projects/?:id", &api.ProjectAPI{})
beego.Router("/api/projects/:id/publicity", &api.ProjectAPI{}, "post:ToggleProjectPublic")
beego.Router("/api/projects/:id/publicity", &api.ProjectAPI{}, "put:ToggleProjectPublic")
beego.Router("/api/statistics", &api.StatisticAPI{})
beego.Router("/api/projects/:id/logs/filter", &api.ProjectAPI{}, "post:FilterAccessLog")
beego.Router("/api/users/?:id", &api.UserAPI{})
beego.Router("/api/users/:id/password", &api.UserAPI{}, "put:ChangePassword")
beego.Router("/api/users/:id/sysadmin", &api.UserAPI{}, "post:ToggleUserAdminRole")
beego.Router("/api/users/:id/sysadmin", &api.UserAPI{}, "put:ToggleUserAdminRole")
beego.Router("/api/repositories", &api.RepositoryAPI{})
beego.Router("/api/repositories/tags", &api.RepositoryAPI{}, "get:GetTags")
beego.Router("/api/repositories/manifests", &api.RepositoryAPI{}, "get:GetManifests")