Set default position when creating a bucket

This commit is contained in:
kolaente 2021-07-27 21:48:51 +02:00
parent f403a6d3f5
commit 02418c6fa5
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 10 additions and 4 deletions

View File

@ -257,6 +257,12 @@ func (b *Bucket) Create(s *xorm.Session, a web.Auth) (err error) {
b.CreatedByID = b.CreatedBy.ID
_, err = s.Insert(b)
if err != nil {
return
}
b.Position = calculateDefaultPosition(b.ID, b.Position)
_, err = s.Where("id = ?", b.ID).Update(b)
return
}

View File

@ -838,9 +838,9 @@ func setTaskBucket(s *xorm.Session, task *Task, originalTask *Task, doCheckBucke
return nil
}
func calculateDefaultTaskPosition(t *Task, position float64) float64 {
func calculateDefaultPosition(entityID int64, position float64) float64 {
if position == 0 {
return float64(t.ID+1) * math.Pow(2, 16)
return float64(entityID) * math.Pow(2, 16)
}
return position
@ -905,8 +905,8 @@ func createTask(s *xorm.Session, t *Task, a web.Auth, updateAssignees bool) (err
t.Index = latestTask.Index + 1
// If no position was supplied, set a default one
t.Position = calculateDefaultTaskPosition(latestTask, t.Position)
t.KanbanPosition = calculateDefaultTaskPosition(latestTask, t.KanbanPosition)
t.Position = calculateDefaultPosition(latestTask.ID+1, t.Position)
t.KanbanPosition = calculateDefaultPosition(latestTask.ID+1, t.KanbanPosition)
if _, err = s.Insert(t); err != nil {
return err
}