|
|
@ -7,6 +7,8 @@ package models |
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/util" |
|
|
|
|
|
|
|
"xorm.io/xorm" |
|
|
|
) |
|
|
|
|
|
|
@ -171,25 +173,20 @@ func toggleUserAssignee(e *xorm.Session, issue *Issue, assigneeID int64) (remove |
|
|
|
// MakeIDsFromAPIAssigneesToAdd returns an array with all assignee IDs
|
|
|
|
func MakeIDsFromAPIAssigneesToAdd(oneAssignee string, multipleAssignees []string) (assigneeIDs []int64, err error) { |
|
|
|
|
|
|
|
var requestAssignees []string |
|
|
|
|
|
|
|
// Keeping the old assigning method for compatibility reasons
|
|
|
|
if oneAssignee != "" { |
|
|
|
|
|
|
|
// Prevent double adding assignees
|
|
|
|
var isDouble bool |
|
|
|
for _, assignee := range multipleAssignees { |
|
|
|
if assignee == oneAssignee { |
|
|
|
isDouble = true |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
if oneAssignee != "" && !util.IsStringInSlice(oneAssignee, multipleAssignees) { |
|
|
|
requestAssignees = append(requestAssignees, oneAssignee) |
|
|
|
} |
|
|
|
|
|
|
|
if !isDouble { |
|
|
|
multipleAssignees = append(multipleAssignees, oneAssignee) |
|
|
|
} |
|
|
|
//Prevent empty assignees
|
|
|
|
if len(multipleAssignees) > 0 && multipleAssignees[0] != "" { |
|
|
|
requestAssignees = append(requestAssignees, multipleAssignees...) |
|
|
|
} |
|
|
|
|
|
|
|
// Get the IDs of all assignees
|
|
|
|
assigneeIDs, err = GetUserIDsByNames(multipleAssignees, false) |
|
|
|
assigneeIDs, err = GetUserIDsByNames(requestAssignees, false) |
|
|
|
|
|
|
|
return |
|
|
|
} |