fix(reminders): notify subscribed users as well
Some checks failed
continuous-integration/drone/push Build is failing

Resolves https://community.vikunja.io/t/no-reminder-notification-by-e-mail-from-my-colleague/2779
This commit is contained in:
kolaente 2024-09-04 22:11:07 +02:00
parent 75f3e930cd
commit 34ac29fcce
Signed by: konrad
GPG Key ID: F40E70337AB24C9B

View File

@ -124,6 +124,39 @@ func getTaskUsersForTasks(s *xorm.Session, taskIDs []int64, cond builder.Cond) (
})
}
subscriptions, err := GetSubscriptionsForEntities(s, SubscriptionEntityTask, taskIDs)
if err != nil {
return nil, err
}
subscriberIDs := []int64{}
for _, subs := range subscriptions {
for _, sub := range subs {
subscriberIDs = append(subscriberIDs, sub.UserID)
}
}
subscribers, err := user.GetUsersByCond(s, builder.And(
builder.In("id", subscriberIDs),
cond,
))
if err != nil {
return nil, err
}
for taskID, subs := range subscriptions {
for _, sub := range subs {
u, has := subscribers[sub.UserID]
if !has {
continue
}
taskUsers = append(taskUsers, &taskUser{
Task: taskMap[taskID],
User: u,
})
}
}
return
}