feat: emoji reactions for tasks and comments (#2196)
This PR adds reactions for tasks and comments, similar to what you can do on Gitea, GitHub, Slack and plenty of other tools. Reviewed-on: https://kolaente.dev/vikunja/vikunja/pulls/2196 Co-authored-by: kolaente <k@knt.li> Co-committed-by: kolaente <k@knt.li>
This commit is contained in:
@ -125,6 +125,9 @@ type Task struct {
|
||||
// The position of tasks in the kanban board. See the docs for the `position` property on how to use this.
|
||||
KanbanPosition float64 `xorm:"double null" json:"kanban_position"`
|
||||
|
||||
// Reactions on that task.
|
||||
Reactions ReactionMap `xorm:"-" json:"reactions"`
|
||||
|
||||
// The user who initially created the task.
|
||||
CreatedBy *user.User `xorm:"-" json:"created_by" valid:"-"`
|
||||
CreatedByID int64 `xorm:"bigint not null" json:"-"` // ID of the user who put that task on the project
|
||||
@ -584,6 +587,11 @@ func addMoreInfoToTasks(s *xorm.Session, taskMap map[int64]*Task, a web.Auth) (e
|
||||
return err
|
||||
}
|
||||
|
||||
reactions, err := getReactionsForEntityIDs(s, ReactionKindTask, taskIDs)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// Add all objects to their tasks
|
||||
for _, task := range taskMap {
|
||||
|
||||
@ -600,6 +608,11 @@ func addMoreInfoToTasks(s *xorm.Session, taskMap map[int64]*Task, a web.Auth) (e
|
||||
task.setIdentifier(projects[task.ProjectID])
|
||||
|
||||
task.IsFavorite = taskFavorites[task.ID]
|
||||
|
||||
r, has := reactions[task.ID]
|
||||
if has {
|
||||
task.Reactions = r
|
||||
}
|
||||
}
|
||||
|
||||
// Get all related tasks
|
||||
|
Reference in New Issue
Block a user