mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-01 04:12:10 +00:00
parent
ac97ea573c
commit
c69c01d2b6
6 changed files with 73 additions and 16 deletions
|
@ -36,6 +36,7 @@ type ProjectBoard struct {
|
|||
ID int64 `xorm:"pk autoincr"`
|
||||
Title string
|
||||
Default bool `xorm:"NOT NULL DEFAULT false"` // issues not assigned to a specific board will be assigned to this board
|
||||
Sorting int8 `xorm:"DEFAULT 0"`
|
||||
|
||||
ProjectID int64 `xorm:"INDEX NOT NULL"`
|
||||
CreatorID int64 `xorm:"NOT NULL"`
|
||||
|
@ -157,15 +158,24 @@ func getProjectBoard(e Engine, boardID int64) (*ProjectBoard, error) {
|
|||
return board, nil
|
||||
}
|
||||
|
||||
// UpdateProjectBoard updates the title of a project board
|
||||
// UpdateProjectBoard updates a project board
|
||||
func UpdateProjectBoard(board *ProjectBoard) error {
|
||||
return updateProjectBoard(x, board)
|
||||
}
|
||||
|
||||
func updateProjectBoard(e Engine, board *ProjectBoard) error {
|
||||
_, err := e.ID(board.ID).Cols(
|
||||
"title",
|
||||
).Update(board)
|
||||
var fieldToUpdate []string
|
||||
|
||||
if board.Sorting != 0 {
|
||||
fieldToUpdate = append(fieldToUpdate, "sorting")
|
||||
}
|
||||
|
||||
if board.Title != "" {
|
||||
fieldToUpdate = append(fieldToUpdate, "title")
|
||||
}
|
||||
|
||||
_, err := e.ID(board.ID).Cols(fieldToUpdate...).Update(board)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -178,7 +188,7 @@ func GetProjectBoards(projectID int64) (ProjectBoardList, error) {
|
|||
func getProjectBoards(e Engine, projectID int64) ([]*ProjectBoard, error) {
|
||||
var boards = make([]*ProjectBoard, 0, 5)
|
||||
|
||||
if err := e.Where("project_id=? AND `default`=?", projectID, false).Find(&boards); err != nil {
|
||||
if err := e.Where("project_id=? AND `default`=?", projectID, false).OrderBy("Sorting").Find(&boards); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -277,3 +287,17 @@ func (bs ProjectBoardList) LoadIssues() (IssueList, error) {
|
|||
}
|
||||
return issues, nil
|
||||
}
|
||||
|
||||
// UpdateProjectBoardSorting update project board sorting
|
||||
func UpdateProjectBoardSorting(bs ProjectBoardList) error {
|
||||
for i := range bs {
|
||||
_, err := x.ID(bs[i].ID).Cols(
|
||||
"sorting",
|
||||
).Update(bs[i])
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue