Kanban bucket limits #652
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user