Use MilestoneFilter to sort out expiration

Why is this change being made?

Adopting #6185 (closed)

Now we try to treat expired milestones as closed.

MilestoneFilter will group the milestones into a hash:

  • 'active': for any milestones which are not expired yet
  • 'closed': for any milestones which are expired
  • 'undefined': for any milestones which do not have a due date

We keep the API part because it's fine when we're looking for non-expired milestones in the pool of active milestones; and looking for expired milestones in the pool of closed milestones.

We can as well change it to look for all the milestones if needed.

Closes #6185 (closed)

Edited by Lin Jen-Shin

Merge request reports

Loading