Lunny Xiao 3 тижднів тому
джерело
коміт
be61c91492
Аккаунт користувача з таким Email не знайдено

+ 7
- 7
models/issues/issue_project.go Переглянути файл

@@ -5,6 +5,7 @@ package issues

import (
"context"
"database/sql"
"fmt"

"code.gitea.io/gitea/models/db"
@@ -131,23 +132,22 @@ func IssueAssignOrRemoveProject(ctx context.Context, issue *Issue, doer *user_mo
return nil
}

var maxSorting int64
has, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_issue").
var maxSorting sql.NullInt64
if _, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_issue").
Where("project_id=?", newProjectID).
And("project_board_id=?", newColumnID).
Get(&maxSorting)
if err != nil {
Get(&maxSorting); err != nil {
return err
}
if has {
maxSorting++
if maxSorting.Valid {
maxSorting.Int64++
}

return db.Insert(ctx, &project_model.ProjectIssue{
IssueID: issue.ID,
ProjectID: newProjectID,
ProjectBoardID: newColumnID,
Sorting: maxSorting,
Sorting: maxSorting.Int64,
})
})
}

+ 6
- 6
models/project/board.go Переглянути файл

@@ -5,6 +5,7 @@ package project

import (
"context"
"database/sql"
"errors"
"fmt"
"regexp"
@@ -184,14 +185,13 @@ func NewBoard(ctx context.Context, board *Board) error {
}

if totalColumns > 0 {
var maxSorting int8
has, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_board").
Where("project_id=?", board.ProjectID).Get(&maxSorting)
if err != nil {
var maxSorting sql.NullByte
if _, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_board").
Where("project_id=?", board.ProjectID).Get(&maxSorting); err != nil {
return err
}
if has {
board.Sorting = maxSorting + 1
if maxSorting.Valid {
board.Sorting = int8(maxSorting.Byte) + 1
}
}


+ 7
- 7
models/project/issue.go Переглянути файл

@@ -5,6 +5,7 @@ package project

import (
"context"
"database/sql"
"fmt"

"code.gitea.io/gitea/models/db"
@@ -109,16 +110,15 @@ func (b *Board) moveIssuesToAnotherColumn(ctx context.Context, newColumn *Board)
return nil
}

var maxSorting int8
has, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_issue").
var maxSorting sql.NullByte
if _, err := db.GetEngine(ctx).Select("Max(sorting)").Table("project_issue").
Where("project_id=?", newColumn.ProjectID).
And("project_board_id=?", newColumn.ID).
Get(&maxSorting)
if err != nil {
Get(&maxSorting); err != nil {
return err
}
if has {
maxSorting++
if maxSorting.Valid {
maxSorting.Byte++
}

issues, err := b.GetIssues(ctx)
@@ -132,7 +132,7 @@ func (b *Board) moveIssuesToAnotherColumn(ctx context.Context, newColumn *Board)
return db.WithTx(ctx, func(ctx context.Context) error {
for i, issue := range issues {
issue.ProjectBoardID = newColumn.ID
issue.Sorting = int64(maxSorting) + int64(i)
issue.Sorting = int64(maxSorting.Byte) + int64(i)
if _, err := db.GetEngine(ctx).ID(issue.ID).Cols("project_board_id", "sorting").Update(issue); err != nil {
return err
}

Завантаження…
Відмінити
Зберегти