Commit Graph

29238 Commits

Author SHA1 Message Date
Rishabh
ad2934ba71 Cleaned up staff service package
refs https://github.com/TryGhost/Team/issues/1826
2022-08-25 20:36:09 +05:30
James Morris
22b0586667 Tweaks to column sizes for events and a way to show new event icons for feature flag
- Has better column widths and fixed a bug with the time one
- Now allows to show alternative icons for feature flag

refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 16:01:53 +01:00
James Morris
b01a56e057 Adjustments to the event look in the table
- More adjustments to make the event stronger and the link lighter and less messy
- Checking in the icons but need to wire them up

refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 16:01:53 +01:00
Simon Backx
38ce6ee66e Fixed blank line linting issue 2022-08-25 16:47:52 +02:00
Rishabh
e6246b191e Updated options format in email alert method to prevent filter override
refs https://github.com/TryGhost/Team/issues/1826

- doesn't allow `filter` to be overridden by passed in options
2022-08-25 20:15:54 +05:30
Simon Backx
6e2579ec9d Moved parse-member-event helper to class syntax
no issue

- Added feature service in it
2022-08-25 16:42:19 +02:00
Rishabh
4ac1a2c21e Added paid subscription cancel email alert
refs TryGhost/Team#1826

- triggers paid subscription cancellation alert for staff users
- passes tier and subscription information for the email - loads tier info from DB for the subscription tier
2022-08-25 19:53:02 +05:30
Rishabh
216eeb9d71 Added paid subscription start email alert
refs TryGhost/Team#1826

- triggers paid subscription start email via staff service
2022-08-25 19:53:02 +05:30
Rishabh
aeadf8a5e1 Added email alert trigger for free member signup
refs TryGhost/Team#1826

- fires email alert on free member creation after they finish signing up via checkout link
2022-08-25 19:53:02 +05:30
Peter Zimon
5f157efcd9 Added avatars to Audit log
refs. https://github.com/TryGhost/Toolbox/issues/356

- the list needed avatars and action icons to be able to easily scan who's doing a lot of actions and what actions have been done at the same time
2022-08-25 15:42:44 +02:00
Simon Backx
a8239bfa97
Added ENUM validation for member/subscription created events (#15312)
closes https://github.com/TryGhost/Team/issues/1842

- members_created_events: source + attribution_type
- members_subscription_created_events: attribution_type
- members_subscribe_events: source
2022-08-25 15:39:37 +02:00
James Morris
42dfa4c552 Fixed bug where MRR was coming after link in events
refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 14:27:14 +01:00
James Morris
86a0f103e9 Going for a simpler design for events
- The extra column made sense logically but was causing too many issues
- Going to try the single setence again but change visual style to be easier to parse
- Making sure this works around the feature flag

refs https://github.com/TryGhost/Team/issues/1851
2022-08-25 14:20:01 +01:00
Simon Backx
232882daa2 Mapped '/' attribution url to homepage
fixes https://github.com/TryGhost/Team/issues/1846

- Shows homepage instead of / for attribution values
2022-08-25 14:51:38 +02:00
Rishabh
281d52610f Added staff service to manage email alert notifications
refs TryGhost/Team#1826

- adds new service package that manages all the email alert notifications for free members and paid subscriptions
- includes email templates for free member signup and paid subscription start/cancel
- initializes staff service before members to allow managing email alert notifications
- passes staff service to members api for triggering alerts
2022-08-25 18:01:52 +05:30
Rishabh
effd5af615 Handled fetching staff users for email alerts
refs TryGhost/Team#1826

- adds a method on user model which fetches all eligible users for a type of email alert
- restricts users to active `Owner` and `Administrators` with setting turned on
2022-08-25 18:01:52 +05:30
Simon Backx
59e796d321 Removed signup and conversion columns on members table
fixes https://github.com/TryGhost/Team/issues/1850

When member attribution is enabled, the signup or conversion columns are shown when filtering on them. This data is not yet available via the API when browsing members. So these columns are now hidden.
2022-08-25 14:20:00 +02:00
Simon Backx
9dbb2785bb Fixed members table filters and URL handling in admin
fixes https://github.com/TryGhost/Team/issues/1344
fixes https://github.com/TryGhost/Team/issues/1127

This fixes a couple of bugs with the filter menu on the members page in admin:

- When opening the members page, the filters property was passed back from the filter component to the members controller. This caused a bug that the filter columns where not visible on reload.
- Fixed handling invalid filter parameters
- When updating the URL, the members page now properly reloads
- Fixed a bug that 'falsy' values in the NQL filter were removed on reload:
    - Filtering on unsubscribed members was gone after a page reload
    - Filtering on 0 emails was gone after a page reload
    - This is fixed by converting numbers and booleans to strings after parsing the NQL-filter
- Fixed a bug where boolean values didn't match any value in the select menu, causing the default option to be visible
    - Filtering members by 'unsubscribed' -> parsed as false (boolean) -> select menu opened -> false value (boolean) didn't match 'false' (string) so the first option was shown instead (subscribed).
    - This is also fixed by converting numbers and booleans to strings after parsing the NQL-filter

The way this is currently handled is not great. The parsing happens in the filter component, but should happen on a different layer, maybe in a different helper.
This is tracked here: https://github.com/TryGhost/Team/issues/1849
2022-08-25 14:10:18 +02:00
James Morris
403d24a01b Locked the status column so it works better at larger screen sizes
refs https://github.com/TryGhost/Team/issues/1848
2022-08-25 12:30:39 +01:00
Peter Zimon
2819dfd2ba Re-aligned post status
no refs.

- the post status was too much floating in the post list, especially on large screens
2022-08-25 13:29:50 +02:00
Peter Zimon
a94e9b2e74 Updated Audit log table view
refs. https://github.com/TryGhost/Toolbox/issues/356

- the readability of the Audit log table wasn't great as the very repetitive "actor" was the primary info
- the link to the actor (staff user) was missing
2022-08-25 13:09:38 +02:00
Rishabh Garg
da62355e18
Wired email alert settings for staff users on admin (#15313)
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
2022-08-25 15:47:14 +05:30
James Morris
b51d81843b Move back away from membership to subscription wording for events
refs https://github.com/TryGhost/Team/issues/1847
2022-08-25 10:58:58 +01:00
James Morris
258192e47c Moved from attribution to better copy
refs https://github.com/TryGhost/Team/issues/1845
2022-08-25 10:47:11 +01:00
Simon Backx
2099d1b3ee Added link to filtered members page on attribution counts
refs https://github.com/TryGhost/Team/issues/1843

- Added link to filtered members list when clicking the signup or conversion member counts in the posts and pages table
- Temporary hover style added
2022-08-25 11:37:45 +02:00
Naz
6e76fcc36a Parameterized api sourced verification threshold
refs https://github.com/TryGhost/Toolbox/issues/387

- The limit values should be as configurable as possible to adjust verification thresholds dinamically per-usecase. This solves a problem of doing a separate version release when we need to adjust the verification thresholds.
- Before this "importThreshold" was the same concept as "apiThreshold", which makes it hard&confusing to reason about and hard to parameterize each specific case.
2022-08-25 17:07:10 +08:00
Simon Backx
7d2f49a0a8 Cleaned up admin posts list item template for contributors
no issue

Contained some template code that would never be used and fixed email icon.
2022-08-25 11:04:53 +02:00
Naz
e9393ba38c Fixed tests
fixes 7e3b8ff404
refs https://github.com/TryGhost/Toolbox/issues/387

- The tests were not run properly after the referenced changes were made.
2022-08-25 15:38:26 +08:00
Rishabh
7182ee0e85 Added feature flag for email alerts
refs https://github.com/TryGhost/Team/issues/1826

- adds alpha flag for setting up email alerts for staff users
2022-08-25 13:03:13 +05:30
Naz
7e3b8ff404 Added email verification trigger for admin requests
refs https://github.com/TryGhost/Toolbox/issues/387

- When members are added through the Admin client they have to be a part of instance validation process to prevent service misuse.
2022-08-25 14:26:44 +08:00
Naz
7cae68baaa Renamed trigger amount variable
refs https://github.com/TryGhost/Toolbox/issues/387

- Similar reasoning as to previous renames - the variables were named with a single trigger source in mind and now would be confusing with multiple verification trigger sources.
2022-08-25 14:26:44 +08:00
Naz
1e96ef849f Renamed verification parameters
refs https://github.com/TryGhost/Toolbox/issues/387

- The "amountImported" was to specific to one verification trigger source. There can be multiple sources that start the verification process.
- Changed `startVerificationProcess` method signature to reflect it's a private method that's only used internally - exposed for testing purposes only.
2022-08-25 14:26:44 +08:00
Naz
780faf990b Fixed typo 2022-08-25 14:26:44 +08:00
Naz
8892a60948 Renamed verification threshold parameter
refs https://github.com/TryGhost/Toolbox/issues/387

- There will three distinct verification limits soon. To keep the naming clear "configThreshold" would be too generic/confusing to use.
- Introduced jsdoc descriptions for the "source" parameter, which will be corelating with each new config parameter ("apiTriggerThreshold", "importTriggerThreshold", "adminTriggerThreshold", etc.). This should give a better visibility into parameters we are dealing in this area.
2022-08-25 14:26:44 +08:00
Naz
243aa9c834 Refactored member subscribe handler generic
refs https://github.com/TryGhost/Toolbox/issues/387

- I'm about to add  another event source -  "admin". Before doing that made the method more parameter dependent, so it can handle limit triggering logic from multiple source and based on multiple configuration parameters.
2022-08-25 14:26:44 +08:00
renovate[bot]
966d324e7f
Update dependency eslint-plugin-react to v7.31.0 2022-08-25 01:35:14 +00:00
renovate[bot]
d8e937c635
Update dependency tough-cookie to v4.1.1 2022-08-24 21:22:24 +00:00
Hannah Wolfe
c9864ee63f Added {{search}} theme helper
closes: https://github.com/TryGhost/Team/issues/1732

- adds a theme helper which outputs a working search button with a standard icon
- the icon adopts whatever the current color is from css, and has a set of default styles
- styles can be overridden with !important or the data attribute
- alternatively, any element in a theme may be turned into a search button by adding data-ghost-search
- this is meant to be a simple tool for non-theme-developers to easily add a search icon to their themes in a way that doesn't require css or html knowledge
2022-08-24 21:34:20 +01:00
Hannah Wolfe
96f7b8fdc8 Fixed content-length, again
refs: 203c8036fa
refs: 1fadbacdec
refs: 22fd7f289c

- There is something seriously weird about how content-length changes...
- It's different on CI to local sometimes...
- This particular test should not change IMO
2022-08-24 20:38:35 +01:00
Hannah Wolfe
203c8036fa
Fixed more content-length labs issues
refs: 1fadbacdec
refs: https://github.com/TryGhost/Ghost/commit/x5447985ee2e8a4b497e9c1afbad07

- I'm trying to make it so that changing labs flags doesn't require changes to these snapshot files!
2022-08-24 19:45:20 +01:00
James Morris
0142b4535a Update the event output to be less verbose
- Some events take up quite a bit of space and so want to be less verbose
- Playing with where to add joins in the interface
- Remove references of subscription unless it's for email

refs https://github.com/TryGhost/Team/issues/1840
2022-08-24 17:06:14 +01:00
James Morris
9f4ad3d8d4 A few tweaks to the member detail page attribution data
- Changed how the links looked in both areas
- Made sure the layout didn't break with longer titles

refs https://github.com/TryGhost/Team/issues/1817
2022-08-24 16:53:46 +01:00
James Morris
e9813150eb Adding in sticky headers to posts and pages behind a feature flag
- Adding sticky headers so columns are easier to read and parse
- These are working only behind the feature flag
- Checked against narrower viewports and dark mode

refs https://github.com/TryGhost/Team/issues/1837
2022-08-24 16:53:46 +01:00
Simon Backx
f124d142c9 Added member attributions to activity feed (#15283)
refs https://github.com/TryGhost/Team/issues/1833
refs https://github.com/TryGhost/Team/issues/1834

We've added the attribution property to subscription and signup events when the
flag is enabled. The attributions resource is fetched by creating multiple relations
on the model, rather than polymorphic as we ran into issues with that as they can't
be nullable/optional.

The parse-member-event structure has been updated to make it easier to work with,
specifically `getObject` is only used when the event is clickable, and there is now a 
join property which makes it easier to join the action and the object.
2022-08-24 11:17:28 -04:00
Daniel Lockyer
2c60340a7d
Fixed maximum call stack exceeded error when filtering Action events
- after a while of browsing around filtering Actions, the endpoint will
  suddenly lock up and start throwing stack exceeded errors
- this is because every time we initialize an Actions model, we push to
  the `candidates` array with a list of the current models
- this was producing a `candidates` array with a length of several
  thousand models after a few clicks, which would cause errors when
  joining the data down the line
- the code was like this because we need to lazy-initialize the models,
  so the order of requiring the Actions model doesn't matter
- this commit switches the code to using a `candidates` function to get
  the models
- this seems to work and the performance cost is negligible given it now
  doesn't error
2022-08-24 17:03:12 +02:00
Daniel Lockyer
05e32b3ea5
Improved Audit log filtering UI
refs https://github.com/TryGhost/Toolbox/issues/356

- the existing structure of 1 checkbox per resource was becoming unsustainable
  as we added events for more resources
- instead, we're going to group resources together into categories so
  they can be disabled/enabled together
- this implements that, and also enables showing Tier and Offer events
  now we have something that works nicely
2022-08-24 17:03:12 +02:00
Daniel Lockyer
663204d308
Cleaned up unused icon definitions
- these were leftover from when I copied the Member's Activity Feed
  code, but they were also unused there too
2022-08-24 17:03:12 +02:00
Fabien "egg" O'Carroll
3c431bd8da Revert "Added member attributions to activity feed (#15283)"
This reverts commit e986b78458.

The tests were not passing for the PR and it was erroneously
merged into main
2022-08-24 11:01:47 -04:00
renovate[bot]
fce4b26601 Update dependency @types/jsonwebtoken to v8.5.9 2022-08-24 16:54:58 +02:00
Emmanuel Gatwech
d9f0db6a22
Replaced Promise.join() with .all() in user model (#14972)
refs: https://github.com/TryGhost/Ghost/issues/14882

- Usage of bluebird is deprecated in favour of using native promises
2022-08-24 15:32:44 +01:00