getpatchwork / patchwork

Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.
http://jk.ozlabs.org/projects/patchwork/
GNU General Public License v2.0
273 stars 82 forks source link

Add series list view #575

Open miguelsaura opened 8 months ago

miguelsaura commented 8 months ago

Add a series list view - as opposed to the default view which shows patches, this new view shows a list of all series. This is a much easier way to navigate and manage large repositories with 100+ patches (Some series alone contain more than 20-30 patches in a single series). This view will allow simple management of patch series. This version is MVP - and contains the basic view needed to navigate around.

Closes #509

rossburton commented 8 months ago

As a user who missed the series view that presumably was in our ancient/horrible fork, this is great.

Can you make the list show the number of patches in the series somewhere?

miguelsaura commented 7 months ago

As a user who missed the series view that presumably was in our ancient/horrible fork, this is great.

Can you make the list show the number of patches in the series somewhere?

Thanks, yes I'll work on it

stephenfin commented 7 months ago

I've held of doing this because I wanted to add support for boolean Series states first, i.e. a series is either open/closed depending on the status of the state field of each associated Patch. I think this is still the priority, because without this the series page grows without end. This is also an issues with the /series APIs, fwiw.

I wonder if you'd be interested in working on that first? I suspect we can derive the value of an e.g. Series.is_open or Series.resolved field by inspecting the value of Patch.series.action_required. If action_required is False, the patch can be consider "closed". If all patches are "closed", then Series.is_open can be set to False. This can be done both in an initial migration and at runtime whenever we change the state of a patch (via the save method).

There are some other minor issues with the patch, which I'll leave comments for shortly, but I'd rather focus on closing the above first before we consider merging this.