refs TryGhost/Team#1826
- allows staff users to manage their email alert settings behind the flag
- only owner and admin users are able to toggle their email alerts
closes https://github.com/TryGhost/Team/issues/1727
- allows site owners to give cardless free trials to members by setting expiry on complimentary subscriptions
- also allows complimentary members to upgrade as paid member
refs. https://github.com/TryGhost/Toolbox/issues/356
- The page title in Audit log didn't reset the filters and the search value
- Also, the button on the empty list screen didn't work
refs. https://github.com/TryGhost/Toolbox/issues/356
- The entry for Audit log had been temporarily put on the top level Settings screen. Instead it's now accessible from Settings / General from a generic About box which had been moved from the What's new page. This also required to update the layout of the What's new page a little bit.
refs https://github.com/TryGhost/Toolbox/issues/356
- events and resources needed to be filtered and sent to the API
differently
- this commit splits them apart and wires up the toggles to query params
and therefore API requests
refs https://github.com/TryGhost/Toolbox/issues/356
- this adds some basic filtering and search across the audit log events
- not all of it works, but filtering by objects and searching for users
should work
refs https://github.com/TryGhost/Team/issues/1727
- adds alpha feature flag for expiring comped subs
- adds duration to complimentary subs to set expiry
- shows details for expiring comped subs
refs https://github.com/TryGhost/Toolbox/issues/356
- some resources don't have titles, like users, so we should optionally
see if they have a name
- this is starting to become unwieldy so I'll likely pull this logic out
in an upcoming commit
refs https://github.com/TryGhost/Toolbox/issues/356
- this allows you to click on the title and go to whatever resource was
acted upon
- if the resource has not be found, it'll just show the resource ID
no issue
- switched `parse-audit-log-event` to a class helper to get access to dependency injection
- added `get actor()` to the parsed event object
- uses the store to find the related user record, returning an already loaded record if it exists otherwise fetches the record
- allows use of `event.actor.*` in templates because they are promise-aware and will be filled in once the record is loaded
refs https://github.com/TryGhost/Team/issues/1650
- Some places only checked for Stripe being connected via the 'connect' method and ignored the 'direct' method
- Updated (where possible) admin to use the new calculated `paid_members_enabled` setting