fix(labels): make sure labels of shared sub projects are usable
Resolves https://community.vikunja.io/t/cannot-filter-on-projets-labels/1736
This commit is contained in:
parent
d35c30dd0c
commit
8a3f16fcfb
@ -176,11 +176,23 @@ func GetLabelsByTaskIDs(s *xorm.Session, opts *LabelByTaskIDsOptions) (ls []*Lab
|
|||||||
cond = builder.And(builder.In("label_tasks.task_id", opts.TaskIDs), cond)
|
cond = builder.And(builder.In("label_tasks.task_id", opts.TaskIDs), cond)
|
||||||
}
|
}
|
||||||
if opts.GetForUser != 0 {
|
if opts.GetForUser != 0 {
|
||||||
|
|
||||||
|
projects, _, _, err := getRawProjectsForUser(s, &projectOptions{
|
||||||
|
user: &user.User{ID: opts.GetForUser},
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, 0, 0, err
|
||||||
|
}
|
||||||
|
projectIDs := make([]int64, 0, len(projects))
|
||||||
|
for _, project := range projects {
|
||||||
|
projectIDs = append(projectIDs, project.ID)
|
||||||
|
}
|
||||||
|
|
||||||
cond = builder.And(builder.In("label_tasks.task_id",
|
cond = builder.And(builder.In("label_tasks.task_id",
|
||||||
builder.
|
builder.
|
||||||
Select("id").
|
Select("id").
|
||||||
From("tasks").
|
From("tasks").
|
||||||
Where(builder.In("project_id", getUserProjectsStatement(nil, opts.GetForUser, "", false).Select("l.id"))),
|
Where(builder.In("project_id", projectIDs)),
|
||||||
), cond)
|
), cond)
|
||||||
}
|
}
|
||||||
if opts.GetUnusedLabels {
|
if opts.GetUnusedLabels {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user