Kanban bucket limits #652

Merged
konrad merged 15 commits from feature/kanban-limits into master 2020-09-04 14:37:58 +00:00
Showing only changes of commit 90153fae67 - Show all commits

View File

@ -762,15 +762,19 @@ func (t *Task) Update() (err error) {
"repeat_from_current_date", "repeat_from_current_date",
} }
// If the task is being moved between lists, make sure to move the bucket + index as well // Make sure we have a bucket
if t.ListID != 0 && ot.ListID != t.ListID { var bucket *Bucket
b, err := getDefaultBucket(s, t.ListID) if t.BucketID == 0 || (t.ListID != 0 && ot.ListID != t.ListID) {
bucket, err = getDefaultBucket(s, t.ListID)
if err != nil { if err != nil {
_ = s.Rollback() _ = s.Rollback()
return err return err
} }
t.BucketID = b.ID t.BucketID = bucket.ID
}
// If the task is being moved between lists, make sure to move the bucket + index as well
if t.ListID != 0 && ot.ListID != t.ListID {
latestTask := &Task{} latestTask := &Task{}
_, err = s.Where("list_id = ?", t.ListID).OrderBy("id desc").Get(latestTask) _, err = s.Where("list_id = ?", t.ListID).OrderBy("id desc").Get(latestTask)
if err != nil { if err != nil {
@ -782,6 +786,12 @@ func (t *Task) Update() (err error) {
colsToUpdate = append(colsToUpdate, "index") colsToUpdate = append(colsToUpdate, "index")
} }
// Check the bucket limit
if err := checkBucketLimit(s, t, bucket); err != nil {
_ = s.Rollback()
return err
}
// Update the labels // Update the labels
// //
// Maybe FIXME: // Maybe FIXME: