diff --git a/forwardport/changelog/2025-02/outstanding.md b/forwardport/changelog/2025-02/outstanding.md new file mode 100644 index 00000000..eb85b8b4 --- /dev/null +++ b/forwardport/changelog/2025-02/outstanding.md @@ -0,0 +1,6 @@ +IMP: outstanding classification + +Forward ports are now considered "outstanding" if *they* were created more than +~a week ago, previously they would be counted as outstanding if their source was +merged more than a week ago (so for difficult forward ports they'd all be +considered outstanding leading to unnecessary reminders). diff --git a/forwardport/controllers.py b/forwardport/controllers.py index 7d7515d1..caa2103b 100644 --- a/forwardport/controllers.py +++ b/forwardport/controllers.py @@ -45,7 +45,6 @@ class Dashboard(MergebotDashboard): 'link': link, }) - source_filter = [('merge_date', '<', datetime.datetime.now() - DEFAULT_DELTA)] partner_filter = [] if partner or group: if partner: @@ -56,15 +55,16 @@ class Dashboard(MergebotDashboard): arg = group.id if authors: - partner_filter.append([(f'author{suffix}', '=', arg)]) + partner_filter.append([(f'source_id.author{suffix}', '=', arg)]) if reviewers: - partner_filter.append([(f'reviewed_by{suffix}', '=', arg)]) - - source_filter.extend(expression.OR(partner_filter)) + partner_filter.append([(f'source_id.reviewed_by{suffix}', '=', arg)]) outstanding = PullRequests.search([ + ('source_id', '!=', False), + ('blocked', '!=', False), ('state', 'in', ['opened', 'validated', 'approved', 'ready', 'error']), - ('source_id', 'in', PullRequests._search(source_filter)), + ('create_date', '<', datetime.datetime.now() - DEFAULT_DELTA), + *(partner_filter and expression.OR(partner_filter)), ]) outstanding_per_group = collections.Counter() diff --git a/forwardport/data/views.xml b/forwardport/data/views.xml index 36d427f7..7fb4843e 100644 --- a/forwardport/data/views.xml +++ b/forwardport/data/views.xml @@ -10,12 +10,14 @@