Commit Graph

1935 Commits

Author SHA1 Message Date
Kevin Ansfield
581f0b34b4
🐛 Fixed missing validation of offer amounts in the admin panel (#16022)
closes https://github.com/TryGhost/Team/issues/2380

- improved offer validation for `amount` field to cover all type/amount cases
- added validate-on-blur to the amount field to match our standard validation behaviour
- added re-validation of the amount field when the type is changed and the amount gets reset
- removed the internal parsing of a decimal trial days entry to an integer so the field value matches what is set internally and we let the user know that partial trial days are not supported

Non-user-facing refactors:
- renamed `_saveOfferProperty` to `_updateOfferProperty` to better reflect what it does
- fixed missing indentation for conditional blocks in the offer template
2023-01-03 09:23:11 +00:00
Simon Backx
6a266be239
🐛 Fixed archived offers return button not working (#16023)
fixes https://github.com/TryGhost/Team/issues/2374

When clicking 'Show active offers' in the archived offers view, it would
always return to an empty offers list, even when there are active
offers.
2022-12-16 11:32:05 +01:00
Rishabh
25c530293f Added playwright tests for forever and multiple month offers
- adds test that cover creating and signing up to multiple-month/forever offers
- checks that the offer information is shown to members during signup and in account detail
2022-12-14 17:13:20 +05:30
Elena Baidakova
88b056dc86
Added Playwright member's actions tests (#15968)
refs TryGhost/Team#2371
- check that members can unsubscribe from newsletters by toggling
preferences in their account settings
- check that member can log out
2022-12-12 10:13:08 +04:00
Kevin Ansfield
9fd87f565d Migrated <GhValidationStatusContainer> to {{validation-status}} modifier
no issue

- moved logic from `<GhValidationStatusContainer>` to a new `validation-status` modifier
  - removes a usage of the `ValidationState` mixin
  - migrated uses of the component to a mixin
  - paves the way for full removal of the `ValidationState` mixin in later refactors (mixins are deprecated)
- migrated `<GhFormGroup>` to a glimmer component
  - swapped the extend of `GhValidationStatusContainer` to usage of the `validation-status` modifier with a template-only component
  - updated all `<GhFormGroup>` to use the standard `class=""` instead of `@classNames=""` and `@class=""`
  - allows `data-test-*` attributes to be added to uses of `<FormGroup>` to help when complex components are grouped as a form input
2022-12-09 12:38:35 +00:00
Kevin Ansfield
3817f583fa 🐛 Fixed unexpected "unsaved changes" modal when deleting a member
closes https://github.com/TryGhost/Team/issues/2275

When deleting a member, after confirming deletion another "unsaved changes" modal popped up. From that point, if you clicked to stay you remained on the member screen with stale data (the member was still deleted) resulting in further errors when any attempt to make changes was made.

- prevented the unsaved changes check running for a deleted member because it would always return `true` in that case
- ensured the data setup for the unsaved changes check still occurs when a member is accessed directly via the URL
  - previously it was skipped because the data setup only occurred inside `fetchMemberTask` but that isn't called when the route already loaded the model via it's `model()` hook
2022-12-05 11:48:37 +00:00
Rishabh Garg
a8a879ef53
Wired email debug screen with API (#15919)
refs https://github.com/TryGhost/Team/issues/2327

- wires email debug screen with real data from API
- fetches email batch data for showing all batches along with those errored
- fetches all recipient failures - temporary and permanent
- shows email settings that was used for sending out the email
2022-12-02 14:38:40 +05:30
Peter Zimon
7df63d67b4 Added static "Settings" tab to debug screen
refs. https://github.com/TryGhost/Team/issues/2327

- there was only a placeholder for the Settings tab, this adds the structure so we can test and wire in dynamic data
2022-12-01 18:14:55 +01:00
Peter Zimon
a51f3a124d Added static batch errors to error debug
refs. https://github.com/TryGhost/Team/issues/2327

- the batch errors tab content was just a placeholder, this adds static version to be able to test and wire it in
2022-12-01 17:30:13 +01:00
Peter Zimon
dee00e36a0 Added static UI to email debug screen
refs. https://github.com/TryGhost/Team/issues/2327

- static UI was needed on the email debug screen for testing and backend wiring
2022-12-01 15:13:48 +01:00
Rishabh Garg
a5ca64f693
Added basic email debug design (#15914)
refs https://github.com/TryGhost/Team/issues/2327

As part of improving visibility for email failures, this change adds a new debug screen that allows visualising the email failures for a post. The screen is hidden on the UI for now and only accessible via URL directly.

Co-authored-by: Djordje Vlaisavljevic <dzvlais@gmail.com>
2022-12-01 17:58:37 +05:30
Simon Backx
6c84e10e46 Added email stability feature flag
no issue
2022-11-18 15:46:18 +01:00
Elena Baidakova
9d6bcdba47
Added spam event to feed in frontend admin (#15847)
closes TryGhost/Team#2248
2022-11-18 14:33:48 +04:00
Ronald Langeveld
08232bd538
Cleaned up GA Flags (#15762)
closes https://github.com/TryGhost/Team/issues/2126

- Cleaned up the following GA flags: `newsletterPaywall`, `freeTrial`, `compExpiring`, `searchHelper`, `emailAlerts`, `fixNewsletterLinks`.
2022-11-18 16:09:25 +07:00
Sam Lord
5619348c26 Replaced "Open Importer" button with one that works
no issue
2022-11-17 14:40:24 +00:00
Sam Lord
d5f8a2b59d WIP importer modal
no issue
2022-11-17 14:40:24 +00:00
Simon Backx
cdccf5c46a
Reduced default post relations (#15798)
fixes https://github.com/TryGhost/Team/issues/2085

Don't load relations we don't need anymore for the posts table. And
reload the individual post when we open the analytics page with more
relations that we actually need.
2022-11-15 10:17:26 +01:00
Elena Baidakova
2d61d5e94e
Added suppression list feature flag (#15821)
closes TryGhost/Team#2247
2022-11-14 16:50:19 +04:00
Kevin Ansfield
f92c62b59a Switched API key regeneration modal to new modal pattern
refs https://github.com/TryGhost/Team/issues/1734
refs https://github.com/TryGhost/Team/issues/559
refs https://github.com/TryGhost/Ghost/issues/14101

- switches to newer modal patterns ready for later Ember upgrades
- migrated Zapier controller to native class syntax
- fixed regeneration confirmation text not being visible on Zapier screen
2022-11-14 09:55:34 +00:00
Kevin Ansfield
332dd4fbf1 Switched editor re-authenticate modal to new modal pattern
refs https://github.com/TryGhost/Team/issues/1734
refs https://github.com/TryGhost/Team/issues/559
refs https://github.com/TryGhost/Ghost/issues/14101

- switches to newer modal patterns ready for later Ember upgrades
- simplified unauthed save behaviour because we now have a promise for the modal enabling us to wait for the modal to close before continuing
2022-11-14 09:55:34 +00:00
Kevin Ansfield
f74913cfb6 Switched snippet update modal to new modal pattern
refs https://github.com/TryGhost/Team/issues/1734
refs https://github.com/TryGhost/Team/issues/559
refs https://github.com/TryGhost/Ghost/issues/14101

- switches to newer modal patterns ready for later Ember upgrades
2022-11-14 09:55:34 +00:00
Kevin Ansfield
d4398cacf7 Switched publish limit upgrade modal to new modal pattern
refs https://github.com/TryGhost/Team/issues/1734
refs https://github.com/TryGhost/Team/issues/559
refs https://github.com/TryGhost/Ghost/issues/14101

- switches to newer modal patterns ready for later Ember upgrades
2022-11-14 09:55:34 +00:00
Kevin Ansfield
2d6f48093e Renamed {{scroll-to}}'s shouldScroll argument to when
no issue

- `when` makes the modifier a little easier to read for it's typical use-case, eg:
  - `{{scroll-to when=(eq entry.slug this.entry)}}`
  - `{{scroll-to when=(eq this.focusArea "analytics")}}`
2022-11-11 11:53:53 +00:00
Kevin Ansfield
8ae28ed309 Copied "from analytics" changes over to lexical editor
no issue

- changes were made to the default editor to adjust the header nav options when accessed from an analytics page but they weren't copied over to the duplicate editor route/controller we use for the in-development lexical editor
2022-11-11 09:49:26 +00:00
Simon Backx
28e4eb60ae
🐛 Fixed offer links with an archived tier (#15792)
refs https://github.com/TryGhost/Team/issues/2233

**Problem**
When a user clicks an offer link that has an archived tier, the site
blocks and you are no longer able to scroll. This is because the product
for that offer can't be found. This has been fixed by updating the
`isActiveOffer` helper to also check for the existence of the
corresponding tier.

**Solution**
- You no longer are able to create new offers if there are no active
tiers
- A custom message is shown that instructs the user to create a new tier
if there are not active tiers on the offers page
- Improved detection of changes in tiers by correctly reloading the
members utils service after tier changes
- Portal redirects to the homepage for offers with an archived tier
(same behaviour as invalid offers)
- Offers of an archived tier are no longer visible in the dashboard
2022-11-11 10:11:34 +01:00
Simon Backx
b821c84b9e
Cleaned up member filters (#15784)
fixes https://github.com/TryGhost/Team/issues/2134
fixes https://github.com/TryGhost/Team/issues/2133

- Moved all filters to separate files to make the filter component a lot more readable and easier to maintain.
- Removed long switch style code from hbs for filter column values
- Filters for features that are disabled (such as open tracking, click tracking or member attribution) are now hidden when they are disabled
- The open rate column in the members table is now only visible if open tracking is enabled
2022-11-10 11:05:12 +01:00
Kevin Ansfield
2d2ac0102a Refactored signin controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to native class syntax and glimmer component patterns
- removed use of jQuery, the workaround to trigger change events no longer appears necessary
2022-11-01 14:12:23 +00:00
Kevin Ansfield
5bf3fe9cb8 🐛 Fixed error preventing admin area being usable by staff users with Contributor role
closes https://github.com/TryGhost/Team/issues/2190

- added a guard around the tier fetches in `membersUtils` service so the fetch doesn't occur unless we have a logged in user and they aren't a contributor
- extracted the `withPermissionsCheck` mirage util function and added role checks around the mocked tiers endpoints
- added an acceptance test that loads the content screen and creates a draft post as a contributor to help catch regressions
2022-10-31 12:01:39 +00:00
Arjuna Kristophe Sankar
096dffb817
🐛 Fixed missing active theme breaks design screen (#15602)
closes: https://github.com/TryGhost/Ghost/issues/15505

When starting Ghost with a missing active theme, the design settings screen and change theme screen both end up in a broken state with the user unable to select a new theme as the active one.

The design screen has no default (or blank) slate, and so shows a preview of an empty theme.
- First added a new default screen to serve as a placeholder for when the state contains no active theme.
- Added a check for when there was no active theme, then redirects the user to the default screen .

The change theme screen wants to set an active property on the theme that should be active in the theme list.
- Added a check to see whether there is an active theme set.
- If there isn't one, don't bother trying to add the active property.
2022-10-30 14:14:11 +00:00
Simon Backx
8bf8134500 Removed GA flags from labs page 2022-10-27 19:16:31 +02:00
Aileen Nowak
93f20d4664 Added changelog subscribe button to What's new page
no issue
2022-10-27 17:01:27 +01:00
Simon Backx
2903a30d39 Fixed member page breadcrumbs coming from analytics
fixes https://github.com/TryGhost/Team/issues/2140
2022-10-27 17:24:57 +02:00
Djordje Vlaisavljevic
1f48e728c4 Updated copy
refs https://github.com/TryGhost/Team/issues/2168
2022-10-27 14:27:08 +02:00
Rishabh
9503ca1c7b Wired new analytics settings for tracking email and sources
refs https://github.com/TryGhost/Team/issues/2168

- wires new source tracking setting for members to UI
- splits the new analytics page settings to its own component, cleaned up the files and wired up the settings upstream
2022-10-27 17:29:33 +05:30
Djordje Vlaisavljevic
9719f25452 Added link to analytics settings to the settings page
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Djordje Vlaisavljevic
957d789857 Added mock component for analytics settings page
refs https://github.com/TryGhost/Team/issues/2168
2022-10-26 15:15:09 +02:00
Aileen Nowak
b79006d7f3 Added Ghost Explore app
no issue

- bumps Ghost Explore integrated app  to GA from alpha
2022-10-26 10:05:50 +01:00
Simon Backx
e508baa540 Added breadcrumbs to members pages when coming from analytics
fixes https://github.com/TryGhost/Team/issues/2140
2022-10-25 16:21:10 +02:00
Simon Backx
7c824556c2
Added new members filters and refactored filters (#15667)
fixes https://github.com/TryGhost/Team/issues/2112

- Removed a bit of duplicate code across templates and components that was used to handle filters
- Updated filter objects to contain information about the filter
- Added resource filters that are able to select a single resource, which can be used in columns
- Filters can now define columns by themselves. Not all columns already make use of this functionality, but we can move those over later (cleanup: https://github.com/TryGhost/Team/issues/2133)
- The filter definitions became quite long. We should move them to separate files in the future: https://github.com/TryGhost/Team/issues/2134
- Filters can now have custom NQL parsing
- Improved support for parsing recursive or grouped NQL queries
- Added support for filtering members by feedback
2022-10-21 17:18:00 +02:00
Rishabh Garg
05330316e3
Allowed fixing newsletter links (#15672)
refs https://github.com/TryGhost/Team/issues/2116

- allows site owners to edit a link in a post that has already been sent out, fixing any typos or other mistakes
- resets click counter for the edited link back to 0 so site owners can see the clicks on new link, doesn't change the overall click count
2022-10-21 19:38:57 +05:30
Simon Backx
22fe1c01de
Added conversions count and separate analytics page (#15637)
fixes https://github.com/TryGhost/Team/issues/2084

- When audience feedback is enabled, we use a single 'conversions' count instead of having separate ones for signups and paid conversions.
- The analytics component is separated so we can change it without breaking the existing page.
2022-10-17 13:02:39 +02:00
Djordje Vlaisavljevic
88d4872346 Added fix links in newsletter feature flag
refs https://github.com/TryGhost/Team/issues/2063
2022-10-11 17:08:41 +02:00
Djordje Vlaisavljevic
09efa27630 Fixed date range dropdown without flag
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
fd790ae4c6 Made the dashboard header sticky
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Simon Backx
73f5fd92eb Added audience feedback feature flag
closes https://github.com/TryGhost/Team/issues/2039
2022-10-10 09:27:45 +02:00
Kevin Ansfield
717e89113c Refactored reset controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
- swapped use of `<GhTextInput>` in favor of native `<input>` and removed use of `{{action}}` in associated template
2022-10-07 19:07:51 +01:00
Kevin Ansfield
ef0178cd06 Refactored posts and pages controllers to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
- removed loading of snippets as they are not needed on post lists (they are needed on the editor screen which does it's own loading)
- removed `access` query param definition leftover from earlier development
- removed use of `{{action}}` in associated templates
2022-10-07 18:39:34 +01:00
Kevin Ansfield
48af4ab3a1 Moved navigation screen components
no issue

- moved screen-specific components out of the top-level components directory
- top-level directory should eventually only contain generally re-usable/application-wide components
2022-10-07 17:23:39 +01:00
Kevin Ansfield
ea05b30380 Refactored navigation controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to native class syntax
- removed use of jQuery that was long out of date and not necessary
2022-10-07 17:23:17 +01:00
Kevin Ansfield
74daa02b52 Moved members list item components
no issue

- moved screen-specific components out of the top-level components directory
- top-level directory should eventually only contain generally re-usable/application-wide components
2022-10-07 17:09:18 +01:00