Merge pull request #13 from wknet123/master

fixed visiting project details for a admin user.
This commit is contained in:
reasonerjt 2016-03-08 12:29:46 +08:00
commit cc7bd8b126
2 changed files with 16 additions and 6 deletions

View File

@ -64,21 +64,31 @@ func (idc *ItemDetailController) Get() {
if sessionUserID != nil {
idc.Data["Username"] = idc.GetSession("username")
idc.Data["UserId"] = sessionUserID.(int)
userID := sessionUserID.(int)
roleList, err := dao.GetUserProjectRoles(models.User{UserID: sessionUserID.(int)}, projectID)
idc.Data["Username"] = idc.GetSession("username")
idc.Data["UserId"] = userID
roleList, err := dao.GetUserProjectRoles(models.User{UserID: userID}, projectID)
if err != nil {
beego.Error("Error occurred in GetUserProjectRoles:", err)
idc.CustomAbort(http.StatusInternalServerError, "Internal error.")
}
if project.Public == 0 && len(roleList) == 0 {
isAdmin, err := dao.IsAdminRole(userID)
if err != nil {
beego.Error("Error occurred in IsAdminRole:", err)
idc.CustomAbort(http.StatusInternalServerError, "Internal error.")
}
if !isAdmin && (project.Public == 0 && len(roleList) == 0) {
idc.Redirect("/registry/project", http.StatusFound)
return
}
if len(roleList) > 0 {
if isAdmin {
idc.Data["RoleId"] = models.SYSADMIN
} else if len(roleList) > 0 {
idc.Data["RoleId"] = roleList[0].RoleID
}
}

View File

@ -152,7 +152,7 @@ jQuery(function(){
url: "/api/projects/" + $("#projectId").val() + "/members/current",
type: "get",
success: function(data, status, xhr){
if(xhr && xhr.status == 200 && data.roles.length > 0){
if(xhr && xhr.status == 200 && data.roles != null && data.roles.length > 0){
hasAuthorization = true;
}
}