diff --git a/pkg/models/kanban_task_bucket.go b/pkg/models/kanban_task_bucket.go index 13c5c7cd3..b19e6fb0c 100644 --- a/pkg/models/kanban_task_bucket.go +++ b/pkg/models/kanban_task_bucket.go @@ -240,8 +240,9 @@ func (b *TaskBucket) Update(s *xorm.Session, a web.Auth) (err error) { } doer, _ := user.GetFromAuth(a) - return events.Dispatch(&TaskUpdatedEvent{ + events.DispatchOnCommit(s, &TaskUpdatedEvent{ Task: b.Task, Doer: doer, }) + return nil } diff --git a/pkg/models/task_assignees.go b/pkg/models/task_assignees.go index b6823238e..c2cb20483 100644 --- a/pkg/models/task_assignees.go +++ b/pkg/models/task_assignees.go @@ -187,18 +187,16 @@ func (la *TaskAssginee) Delete(s *xorm.Session, a web.Auth) (err error) { return err } - err = events.Dispatch(&TaskAssigneeDeletedEvent{ + events.DispatchOnCommit(s, &TaskAssigneeDeletedEvent{ Task: &task, Assignee: &user.User{ID: la.UserID}, Doer: doer, }) - if err != nil { - return err - } - return events.Dispatch(&TaskUpdatedEvent{ + events.DispatchOnCommit(s, &TaskUpdatedEvent{ Task: &task, Doer: doer, }) + return nil } // Create adds a new assignee to a task @@ -277,21 +275,15 @@ func (t *Task) addNewAssigneeByID(s *xorm.Session, newAssigneeID int64, project if err != nil { return err } - err = events.Dispatch(&TaskAssigneeCreatedEvent{ + events.DispatchOnCommit(s, &TaskAssigneeCreatedEvent{ Task: &task, Assignee: newAssignee, Doer: doer, }) - if err != nil { - return err - } - err = events.Dispatch(&TaskUpdatedEvent{ + events.DispatchOnCommit(s, &TaskUpdatedEvent{ Task: &task, Doer: doer, }) - if err != nil { - return err - } err = updateProjectLastUpdated(s, &Project{ID: t.ProjectID}) return diff --git a/pkg/models/task_attachment.go b/pkg/models/task_attachment.go index c63182492..9d9045704 100644 --- a/pkg/models/task_attachment.go +++ b/pkg/models/task_attachment.go @@ -97,11 +97,12 @@ func (ta *TaskAttachment) NewAttachment(s *xorm.Session, f io.ReadSeeker, realna return err } - return events.Dispatch(&TaskAttachmentCreatedEvent{ + events.DispatchOnCommit(s, &TaskAttachmentCreatedEvent{ Task: &task, Attachment: ta, Doer: ta.CreatedBy, }) + return nil } // ReadOne returns a task attachment @@ -348,11 +349,12 @@ func (ta *TaskAttachment) Delete(s *xorm.Session, a web.Auth) error { return err } - return events.Dispatch(&TaskAttachmentDeletedEvent{ + events.DispatchOnCommit(s, &TaskAttachmentDeletedEvent{ Task: &task, Attachment: ta, Doer: doer, }) + return nil } func getTaskAttachmentsByTaskIDs(s *xorm.Session, taskIDs []int64) (attachments []*TaskAttachment, err error) { diff --git a/pkg/models/task_comments.go b/pkg/models/task_comments.go index 1445aab46..45f9f8f23 100644 --- a/pkg/models/task_comments.go +++ b/pkg/models/task_comments.go @@ -99,11 +99,12 @@ func (tc *TaskComment) CreateWithTimestamps(s *xorm.Session, a web.Auth) (err er } } - return events.Dispatch(&TaskCommentCreatedEvent{ + events.DispatchOnCommit(s, &TaskCommentCreatedEvent{ Task: &task, Comment: tc, Doer: tc.Author, }) + return nil } // Delete removes a task comment @@ -144,11 +145,12 @@ func (tc *TaskComment) Delete(s *xorm.Session, a web.Auth) error { return err } - return events.Dispatch(&TaskCommentDeletedEvent{ + events.DispatchOnCommit(s, &TaskCommentDeletedEvent{ Task: &task, Comment: tc, Doer: doer, }) + return nil } // Update updates a task text by its ID @@ -183,11 +185,12 @@ func (tc *TaskComment) Update(s *xorm.Session, _ web.Auth) error { return err } - return events.Dispatch(&TaskCommentUpdatedEvent{ + events.DispatchOnCommit(s, &TaskCommentUpdatedEvent{ Task: &task, Comment: tc, Doer: tc.Author, }) + return nil } func getTaskCommentSimple(s *xorm.Session, tc *TaskComment) error { diff --git a/pkg/models/task_relation.go b/pkg/models/task_relation.go index 3b55b38f4..58280c5ee 100644 --- a/pkg/models/task_relation.go +++ b/pkg/models/task_relation.go @@ -262,11 +262,12 @@ func (rel *TaskRelation) Create(s *xorm.Session, a web.Auth) error { return err } - return events.Dispatch(&TaskRelationCreatedEvent{ + events.DispatchOnCommit(s, &TaskRelationCreatedEvent{ Task: &task, Relation: rel, Doer: doer, }) + return nil } // ReadOne returns a task relation @@ -343,9 +344,10 @@ func (rel *TaskRelation) Delete(s *xorm.Session, a web.Auth) error { return err } - return events.Dispatch(&TaskRelationDeletedEvent{ + events.DispatchOnCommit(s, &TaskRelationDeletedEvent{ Task: &task, Relation: rel, Doer: doer, }) + return nil }