Browse Source

change tag handling in sprints to be OR instead of AND.

master
Gisle Aune 1 year ago
parent
commit
2aa5919615
  1. 4
      frontend/src/lib/components/scope/SprintBody.svelte
  2. 17
      ports/mysql/items.go

4
frontend/src/lib/components/scope/SprintBody.svelte

@ -34,10 +34,10 @@
</LabeledProgressRow>
{/if}
{#if sprint.kind !== SprintKind.Items && sprint.aggregateBurndown != null && sprint.aggregateBurndown.length > 0}
<BurndownChart data={sprint.aggregateBurndown} from={sprint.fromTime} to={sprint.toTime} milestone={sprint.aggregateRequired} />
<BurndownChart data={sprint.aggregateBurndown} from={sprint.fromTime} to={sprint.toTime} milestone={sprint.aggregateRequired||1} />
{/if}
{#if sprint.kind === SprintKind.Items && sprint.itemBurndown != null && sprint.itemBurndown.length > 0}
<BurndownChart green data={sprint.itemBurndown} from={sprint.fromTime} to={sprint.toTime} milestone={sprint.itemsRequired} />
<BurndownChart green data={sprint.itemBurndown} from={sprint.fromTime} to={sprint.toTime} milestone={sprint.itemsRequired||1} />
{/if}
{#if sprint.kind === SprintKind.Items}
{#each (sprint.items||[]) as item (item.id)}

17
ports/mysql/items.go

@ -216,19 +216,16 @@ func (r *itemRepository) Fetch(ctx context.Context, filter models.ItemFilter) ([
res = genutils.RetainInPlace(res, func(item entities.Item) bool {
for _, tag := range filter.Tags {
if !item.HasTag(tag) {
if item.RequirementID != nil {
if !genutils.Contains(requirementTagMap[*item.RequirementID], tag) &&
!genutils.Contains(projectTagMap[*item.ProjectID], tag) {
return false
}
} else {
return false
}
if item.HasTag(tag) {
return true
} else if item.RequirementID != nil &&
(genutils.Contains(requirementTagMap[*item.RequirementID], tag) ||
genutils.Contains(projectTagMap[*item.ProjectID], tag)) {
return true
}
}
return true
return false
})
}

Loading…
Cancel
Save