- Like subscribers, select one-or more or 'all' items and delete them
on the lists and campaigns UIs.
- New `DELETE /api/lists` and `DELETE /api/campaigns` endpoints that
take one or more `id` params or a single `query` param.
This patch adds a new `status` field (active, archived) to the lists table and
an 'Archived?' toggle on the UI that allows a list to be marked as archived.
This hides the lists from the lists page, campaigns list selection, list roles,
and public forms. A new "View archived lists" link on the lists UI allows
viewing the list of archived lists.
This is useful to hide/declutter lists by archiving historical, temporary lists
etc. This is largely a UX value addition.
Closes#2613.
Prior to this patch, when a new campaign was created, the `to send` count of
subscribers was counted from the subscriptions and added to the campaign to be
displayed on the frontend. However, this had several issues:
- On large databases, the count can be extremely slow, slowing down campaign
creation.
- The count was purely cosmetic. When a campaign starts, it's recounted (for real)
anyway.
- The count was also inaccurate. Changing the list on a campaign, or changes to
the subscribers in a list never updated the count on the campaign, rendering
it wholly incorrect sometimes.
Closes#2431.