Commit Graph

6984 Commits

Author SHA1 Message Date
Rishabh Garg
69367de59e Added SSL precondition for Stripe Connect UI (#1967)
refs https://github.com/TryGhost/Team/issues/598

Stripe Webhooks require SSL in production, and so we should not be
allowing connecting to Stripe in production mode unless the site is
running with SSL. This change -

- Updates Setup wizard to skip Stripe Connect steps if site is not on SSL in production
- Adds warning on set subscriptions page

Co-authored-by: Peter Zimon <zimo@ghost.org>
2021-05-19 19:56:45 +05:30
Kevin Ansfield
5422496dbc Lock file maintenance 2021-05-19 09:57:32 +01:00
renovate[bot]
38ad67cf60 Update dependency reframe.js to v3.0.3 (#1968)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-19 09:52:53 +01:00
renovate[bot]
b65314af09 Update dependency ember-cli-babel to v7.26.6 (#1969)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-19 09:51:39 +01:00
renovate[bot]
58a5fe64e2 Update dependency ember-test-selectors to v5.2.0 (#1966)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-19 09:51:20 +01:00
renovate[bot]
46910dbf41 Update dependency @tryghost/timezone-data to v0.2.43 (#1964)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-19 09:51:06 +01:00
renovate[bot]
7b8bcc0925 Update dependency @tryghost/helpers to v1.1.45 (#1963)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-19 09:50:54 +01:00
Sanne de Vries
1222260e36 Styled access dropdowns pseudo-classes 2021-05-18 22:17:46 +02:00
Rishabh
e22d54ba3b Updated portal preview to update on price change
no refs

Portal preview on membership settings reflects the currently set monthly/yearly price directly by passing in the updated amount to portal preview URL
2021-05-18 23:00:10 +05:30
Kevin Ansfield
db09b317eb Added auto height adjustment to membership portal preview
no issue

- added `@onDestroyed` argument to `<GhSiteIframe>` so consumers can clean up any references
- used `@onLoaded` and `@onDestroyed` to handle a reference to the preview iframe
- updated portal preview load handler and update method to trigger a resize task
  - add a 100ms delay to allow for portal to re-render itself
  - reach through the two iframes to get the portal container element and use it's height to set the style attribute on the portal preview container element
2021-05-18 18:26:07 +01:00
Rishabh
2a0c2c3f48 Updated portal links UI to fixed values
no refs

We are reverting Portal links to use monthly/yearly for now instead of price ids, this change updates to use old nickname and if mapping.
2021-05-18 22:05:29 +05:30
Rishabh
f9672e7095 Updated portal plans on monthly/yearly price change
no refs

Portal plans setting contains list of prices that are allowed by site owner to use in Portal UI. Since we now switch monthly/yearly prices dynamically, we need to update portal plans on price change to still reflect updated monthly/yearly prices in Portal UI.
2021-05-18 21:50:38 +05:30
Kevin Ansfield
eecd6d03b6 Fixed linting error 2021-05-18 16:38:29 +01:00
Kevin Ansfield
602549097a Fixed flash of site when portal preview is loading
no issue

- added `@invisibleUntilLoaded` boolean argument to `<GhSiteIframe>`
  - when set to true add `.invisible` class until iframe's `load` event is triggered
- removed manual iframe hiding with 1.2sec delay from portal settings modal
- added `@onLoad` argument to `<GhSiteIframe>` for consumers to hook in if needed
2021-05-18 16:36:18 +01:00
Kevin Ansfield
b4a6eb594d Converted <GhSiteIframe> to a glimmer component
no issue

- updated to class syntax and glimmer component behaviour
- tidied up and standardised usage of the component
2021-05-18 16:08:13 +01:00
Rishabh
11be983d99 Filtered active monthly/yearly prices in portal settings
no refs

We only want to show currently active monthly/yearly prices in Portal and Portal settings based on new settings for price ids, and hide all other prices
2021-05-18 20:25:05 +05:30
Sanne de Vries
fcef76cebf Fixed responsive issues for membership settings 2021-05-18 15:59:32 +02:00
Rishabh
d2162f02a0 Added missing action modifier on memberships setup
no refs

Last commit missed the `action` modifier for setup method used in memberships screen insert.
2021-05-18 19:26:50 +05:30
Rishabh
d746265a52 Fixed active prices not read from settings
no refs

Previously, we were fetching product and prices in the constructor of the controller which did not guarantee settings were updated when picking active prices from the price list. This updates the setup to use `did-insert` modifier to correctly fetch and populate product/price data.
2021-05-18 19:17:25 +05:30
Kevin Ansfield
6b287a41c0 Hid button in memberships portal preview
no issue

- added button override to `getPortalPreviewUrl()` and set it to `false` when generating preview URL for memberships preview
2021-05-18 14:34:55 +01:00
Sanne de Vries
dce8d77cf0 Updated access settings dropdowns and icons 2021-05-18 15:10:42 +02:00
Kevin Ansfield
8a1ae88192 Added portal preview to memberships screen
no issue

- fixed styling issues
    - fixed portal preview taking over the screen by adding `position: relative` to the container
    - fixed portal preview being interactive by disabling pointer events
- added portal preview URL generation to memberships controller
    - moved much of the preview params knowledge/calculations from the `<ModalPortalSettings>` component into the `members-utils` service so that a portal preview URL can be generated from anywhere using current settings values rather than the method consumer needing to have knowledge of all params and how to generate them
    - updated actions in controller that modify settings to also update the preview url
    - added `onChange` event to the `<Settings/MembersSubscriptionAccess>` component so the controller can react and update preview
- used `<GhSiteIframe>` with generated portal preview URL for live display of portal changes on memberships screen
2021-05-18 13:59:57 +01:00
Peter Zimon
37de5f957d Updated launch wizard Stripe connect info styles 2021-05-18 14:15:44 +02:00
Peter Zimon
b9ba7045a4 Copy update on Member details 2021-05-18 11:42:16 +02:00
Peter Zimon
97866adb37 Minor spacing refinements on Membership settings 2021-05-18 11:09:42 +02:00
Rishabh
995b102617 Wired premium prices in membership settings
refs 4627d1c26a

- Adds new settings for monthly/yearly price ids in the settings modal
- Updates logic to save product on membership settings - Creates new prices for monthly/yearly when it doesn't exist, updates the monthly/yearly price ids in the settings
- Fixes selected currency value in dropdown
2021-05-18 13:41:36 +05:30
Sanne de Vries
a237dc73d9 Refined membership access settings 2021-05-17 19:36:36 +02:00
Peter Zimon
87e2a3db37 Refined currency dropdown 2021-05-17 18:12:49 +02:00
Peter Zimon
ee7ac5588a Fix tests 2021-05-17 17:39:41 +02:00
Peter Zimon
fa95868c36 Moved Stripe connect settings to modal 2021-05-17 17:28:39 +02:00
Rishabh
35612db851 Wired membership tiers UI in new members setting
no refs

- Wired Premium membership UI to existing monthly/yearly prices in the default product
- Wired free membership UI to redirect URI setting
- Updated save to validate settings/errors
2021-05-17 20:06:03 +05:30
Kevin Ansfield
686dadbeda Fixed errors when closing portal settings modal
no issue

- added actions for handling close/confirm/cancel of portal settings rather than re-using the route-level leave modal because the portal settings modal does not need any knowledge of the route
- added controller reset that is called when the route is exited to ensure no modals are shown when navigating back to the membership screen
- fixed "cannot set on destroyed" error when portal settings are opened and closed quickly
- removed usage of old `{{action}}` helper - this has been replaced with `{{on}}` and `{{fn}}`
2021-05-17 12:41:21 +01:00
Peter Zimon
c3748e4d18 Membership settings UI refinements
- added Portal mock container and background
- updated header behavior
2021-05-17 13:35:31 +02:00
Peter Zimon
bf3349ca0f Applied basic layout for membership settings
- created main blocks
- added tier forms
- added button for Stripe connect modal
2021-05-17 13:01:54 +02:00
Kevin Ansfield
27a2bc7722 Removed products options from members segment select
no issue

- we're currently limited to a single product so it doesn't make sense to show it as an option as it creates two different routes to "paid members" that we'd like to avoid for now
2021-05-17 10:15:37 +01:00
Kevin Ansfield
51536fb2ef Added icons to membership dropdown options
no issue

- add icon + icon color to the subscription access and default post access option lists
- updated templates to use icon in trigger and option display
- fixed ember-power-select styles overriding svgs in trigger
2021-05-17 09:42:44 +01:00
Rishabh
4c736d1c80 Added basic portal settings in new membership area
no refs

Members related settings are being consolidated into a single screen.

- Adds basic portal settings UI
2021-05-17 13:28:15 +05:30
Kevin Ansfield
de560733c5 🎨 Reverted ability to set post access level to labels
refs https://github.com/TryGhost/Team/issues/581

Setting post visibility to a label results in undesirable and confusing behaviour with no good way to manage access long-term. Coupled with products being limited to a single product for now we're reverting the UI back to the "Public", "Members", and "Paid" options.
2021-05-14 16:01:14 +01:00
Kevin Ansfield
42ef8df7ca Switched signup and default post access settings to dropdowns
no issue

- provides clearer indication of current setting without having to expand anything
- has more minimal UI which helps when settings screen has multiple areas
2021-05-14 15:44:10 +01:00
Kevin Ansfield
06ff9dfb10 Fixed unsaved confirmation when leaving membership settings screen
refs bdcbfcb92c

- previous commit missed rename of access route to membership
2021-05-14 15:35:07 +01:00
Kevin Ansfield
cb3b01c020 Extracted individual members setting blocks into components
no issue

- the membership setting screen will be covering a lot of areas, having individual settings as discrete components allows for easier re-organisation and cleaner parent templates and controllers
2021-05-14 15:01:50 +01:00
Kevin Ansfield
bdcbfcb92c Renamed access settings route to membership
no issue

Members related settings are being consolidated into a single screen.

- renamed access to membership as the starting point for redesign and consolidation of other settings screens
2021-05-14 14:33:18 +01:00
Peter Zimon
52d55a311a Fixed account menu positioning bug 2021-05-13 12:06:46 +02:00
Peter Zimon
8fab84418e Fixed button hover state bugs in dark mode 2021-05-13 11:47:14 +02:00
Peter Zimon
ba14318de0 Fix "Add subscription" button dark mode UI bug 2021-05-13 11:38:19 +02:00
renovate[bot]
91e01ab70f Update dependency testem to v3.4.1 (#1962)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 17:11:51 +01:00
renovate[bot]
db434972c6 Lock file maintenance (added missing uids) (#1939)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 15:56:22 +01:00
Kevin Ansfield
0099238030 Removed ember-testing group from Renovate config
no issue

- the dependencies are released at different cadences and are not interlinked
- allows independent upgrades when one dependency with a slow release is buggy
2021-05-12 15:52:17 +01:00
Kevin Ansfield
4c9eeddd79 Lock file maintenance with fixes
no issue

- catch `undefined` error when saving posts in editor which is thrown by our validation system and handled elsewhere
- bumped `ember-power-select` and switched `ember-power-datepicker` to a github ref so dependency-update fixes are included (version not released yet, see https://github.com/cibernox/ember-power-datepicker/issues/61)
- added a resolution for `ember-basic-dropdown@3.0.16`, with the latest `3.0.17` nothing is shown for the publish/post-settings menus for the date picker dropdown
2021-05-12 15:47:37 +01:00
Rishabh
052c5f62a9 Fixed checkbox state not persisted in wizard
closes https://github.com/TryGhost/Team/issues/676

The checkbox state for portal plans was not stored between wizard pages and kept switching back to original state.
2021-05-12 17:20:32 +05:30
renovate[bot]
724cbc6123 Update dependency ember-infinity to v2.2.0 (#1950)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:43:08 +01:00
renovate[bot]
7730720c84 Update dependency @tryghost/timezone-data to v0.2.42 (#1960)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:41:31 +01:00
Kevin Ansfield
e584569914 Switch deprecated htmlSafe imports from @ember/string to @ember/template
no issue

See https://deprecations.emberjs.com/v3.x#toc_ember-string-htmlsafe-ishtmlsafe
2021-05-12 12:33:40 +01:00
Kevin Ansfield
74b08e19b8 Switch deprecated {{hasBlock}} to (has-block)
no issue

See https://github.com/emberjs/rfcs/blob/master/text/0689-deprecate-has-block.md
2021-05-12 12:33:40 +01:00
renovate[bot]
b003327975 Update dependency ember-test-selectors to v5.1.0 (#1953)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:20:51 +01:00
renovate[bot]
0c46f36809 Update dependency ember-cli-babel to v7.26.5 (#1948)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:20:28 +01:00
renovate[bot]
28e87fe281 Update dependency glob to v7.1.7 (#1952)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:20:13 +01:00
renovate[bot]
b473740a4c Update dependency @tryghost/string to v0.1.19 (#1959)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:19:53 +01:00
renovate[bot]
d1eb0ff44d Update dependency @tryghost/helpers to v1.1.44 (#1958)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:19:44 +01:00
renovate[bot]
c789a6578d Update dependency ember-cli-string-helpers to v6.1.0 (#1957)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-12 12:19:27 +01:00
Daniel Lockyer
e6fe8dc009 v4.5.0 2021-05-11 13:34:31 +01:00
Rishabh
d776aedda4 Fixed interval for default price
no refs
2021-05-11 17:52:59 +05:30
Kevin Ansfield
b08716a981 Fixed publish menu email recipients not matching post visibility
no issue

- updated to use the NQL query that now exists in `posts.visibility` rather than the older `members` and `paid` values
2021-05-11 13:20:53 +01:00
Kevin Ansfield
92f041713b Removed additional options from visibility select when all members selected
refs https://github.com/TryGhost/Team/issues/581

- when free and paid members are selected it doesn't make sense to offer any other options because they will have no effect
- reduces confusion from showing options that get removed by the API as soon as they are selected
  - `status:free,status:-free,...` is always shortened to `members` (`status:free,status:-free` equivalent)
2021-05-11 12:23:34 +01:00
Kevin Ansfield
0357b984fb Fixed click on "Members-only" radio button in PSM not changing selection
no issue

- moved click handler so it applies to the whole button/field/select element
2021-05-11 12:14:26 +01:00
Sanne de Vries
df835fd4e2 Refined segment selector in post settings menu and email newsletter settings
Refs https://github.com/TryGhost/Team/issues/581
2021-05-11 13:09:52 +02:00
Peter Zimon
8af115aeee Custom product copy refinements 2021-05-11 11:55:24 +02:00
Rishabh
d08264e4f9 Fixed set pricing page default view
no refs

It may take couple of seconds before we fetch product information on set-pricing launch wizard, we don't want to show the subscription is set message till the loading is complete.
2021-05-11 14:12:40 +05:30
Rishabh
ba993686a3 Removed default currency option in payment settings
no refs

The default currency option is not currently mapped to the relevant setting, so its hidden till the new setting is added for default currency.
2021-05-11 14:10:44 +05:30
Naz
45bb8ef633 Enabled creating client side "max periodic" checks
refs https://github.com/TryGhost/Team/issues/588

- The bump is done to have the latest fixes in the upstream. The feature for checking the max periodic emails limit will be implemented once there's an apetite for it. Note, it might need some thinking around how to approach this problem (outlined in the referenced commit)
2021-05-11 10:27:37 +04:00
Kevin Ansfield
6b6f220300 Fixed tests
no issue

- added basic products mocked endpoint
- fixed error when extracting filter param when filter is empty
2021-05-10 21:02:54 +01:00
Kevin Ansfield
95b450d412 Fixed linting 2021-05-10 20:38:07 +01:00
Kevin Ansfield
3e4b9a6865 🎨 Updated post settings menu visibility option to support member segments
https://github.com/TryGhost/Team/issues/581

The API now supports `posts.visibility` being an NQL string as well as the special-case `'members'` and  `'paid'` values so the post settings menu visibility select needs to be updated to reflect that.

- swapped visibility dropdown for two radio buttons, "Public" and "Members-only" which uses the `<GhMembersSegmentSelect>` component
- updated post model to use a `visibility-string` transform
  - converts `members` and `paid` to/from the NQL equivalent for correct display in the segment select
- updated post model with two additional properties `isPublic` and `visibilitySegment`
  - `isPublic` helps with the radio button display
  - `visibilitySegment` allows fallback to the default content visibility setting when set to public
- added validation for `post.visibility` so we can show an error and skip saving when members-only is selected and the segment select is cleared
- deleted the now-unused `<GhPsmVisibilityInput>` component
2021-05-10 20:34:23 +01:00
Peter Zimon
c47be38785 Updated site wizrd copy 2021-05-10 21:16:33 +02:00
Rishabh
2862d68f99 Fixed add price not erroring on empty amount
refs https://github.com/TryGhost/Team/issues/641

Updated error handling for empty amount on price modal
2021-05-11 00:18:45 +05:30
Rishabh
d3ac517056 Updated set pricing wizard if custom price exists
no refs

If a custom price is already set before completing the wizard, the set pricing wizard hides the UI to create default custom prices as it doesn't make sense and instead shows a custom message.
2021-05-11 00:17:28 +05:30
Rishabh
67d0c94c40 Removed dev experiment flag for custom products
closes https://github.com/TryGhost/Team/issues/672

Custom products and prices were behind dev experiment flag as it was under active development over last couple of releases. Now that its coming out of development, this removes the dev flag for custom products changes.
2021-05-10 23:38:47 +05:30
Rishabh
c449e32121 Cleaned add subscription prices for member details
closes https://github.com/TryGhost/Team/issues/678
closes https://github.com/TryGhost/Team/issues/681

The prices in "Add subscription" modal should follow the same ordering as on the product detail screen, ie. currency, amount. Also, we only want to allow adding subscriptions for active prices, so the list is filtered on that. Since a Stripe customer is not allowed to have subscriptions in multiple currencies, this also filters the available currency prices based on any active subscription for a member.
2021-05-10 22:25:01 +05:30
Rishabh
d3efc29f08 Added error handling for price modal
refs https://github.com/TryGhost/Team/issues/678

Covers error handling for missing name/amount/billing period for a price modal when adding a new price or editing existing price.
2021-05-10 20:59:05 +05:30
Rishabh
42463e4fdd Added error handling for product details page
refs https://github.com/TryGhost/Team/issues/678

Product name is a mandatory field for a custom product, this change adds error handling on save and custom error message if product is attempted to save without name.
2021-05-10 19:18:30 +05:30
Rishabh
76319c2717 Updated price description to sentence case
closes https://github.com/TryGhost/Team/issues/680

We use sentence case for labels everywhere, updating price descriptions to use the same.
2021-05-10 18:48:39 +05:30
Naz
a1aa9be287 Fixed hardcoded limit error message
refs https://github.com/TryGhost/Team/issues/588

- When the email limit was reached the hardcoded "members" error message was shown. Have changed implementation of the upgrade modal to take the "message" coming from the server into account
2021-05-10 15:04:10 +04:00
Renovate Bot
be60133f13 Update dependency eslint to v7.26.0 2021-05-10 01:17:31 +00:00
Rishabh
f3766091bd Disabled price actions on product save
no refs

Disables Edit/Archive actions on a price while an active save is ongoing for Product to avoid unwanted states due to multiple saves being called.
2021-05-09 23:28:44 +05:30
Rishabh
b762d3a873 Fixed price amount changing on save
no refs

On (un)archiving a price, the visible amount for a price fluctuated till the save was completed due to incorrect amount calculation, fixed here.
2021-05-09 23:27:16 +05:30
Rishabh
fab98939fd Updated sorted price list in product details
refs https://github.com/TryGhost/Team/issues/641

By default, the prices list for a Product will be now shown sorted based on this order -> Active -> Currency -> Amount.
2021-05-09 18:22:42 +05:30
Rishabh
575f85a8ca Added default description to prices
refs https://github.com/TryGhost/Team/issues/641

When default prices are created via the setup wizard, this adds a default description for Monthly and Yearly prices that mimics the values set for them currently in Portal.
2021-05-09 17:36:45 +05:30
Kevin Ansfield
d00d1c2052 Removed unnecessary options from default email recipients setting
refs https://github.com/TryGhost/Team/issues/496

- all/free/paid are selectable via the segment select
- radio buttons should be kept to 3-4 max
- fixed pluralisation of member count below member segment when only 1 member is selected
2021-05-08 12:21:22 +01:00
Renovate Bot
d5e7d6cac1 Update dependency eslint-plugin-ghost to v2.2.0 2021-05-07 17:53:14 +00:00
Rishabh
d2c82c8d27 Fixed signup link for Portal prices
refs https://github.com/TryGhost/Team/issues/643
refs dd75d831c0

Last commit had incorrectly formatted the signup links for custom prices, fixed.
2021-05-07 22:59:59 +05:30
Rishabh Garg
5d598d5e50 Wired free membership settings to API (#1949)
refs https://github.com/TryGhost/Team/issues/637

With custom products it's possible to change the name and description of any price. This assumes that people would want to change the same properties of a Free membership, and wires up the values for free membership price settings to API


Co-authored-by: Peter Zimon <zimo@ghost.org>
2021-05-07 22:46:35 +05:30
Peter Zimon
6f6951700b Refined Portal links UI details 2021-05-07 19:15:04 +02:00
Rishabh
dd75d831c0 Updated Portal links to show dynamic prices
refs https://github.com/TryGhost/Team/issues/643

Currently, the whole setup for choosing plans is built around hardcoded `monthly` / `yearly` which is also exposed in the Portal links/data attributes. Since we now have custom prices, this updates the UI to show links/attributes for all available custom prices and allowing them to function via their price ids.
2021-05-07 22:08:54 +05:30
Peter Zimon
af5b053aab Removed welcome page settings from Portal settings UI 2021-05-07 18:36:39 +02:00
Peter Zimon
8eee71f2d6 Refined archive/unarchive prices 2021-05-07 17:45:59 +02:00
Peter Zimon
ad41a44620 Removed prices from payment settings 2021-05-07 17:10:28 +02:00
Peter Zimon
a94f27bbc0 Removed 'Add price' button when not connected to Stripe 2021-05-07 17:10:28 +02:00
Sanne de Vries
b6cfe7ed7c Updated publishmenu styles
Refs https://github.com/TryGhost/Team/issues/581
2021-05-07 15:59:32 +02:00
Rishabh
c53e0fce77 Added handling for active prices
refs https://github.com/TryGhost/Team/issues/665

- Allows (un)archiving of prices
- Filters Portal settings on active prices only
2021-05-07 19:14:22 +05:30
Daniel Lockyer
998d42fc33 ⬆️ Bumped minimum Node version to 12.22.1 and 14.16.1
refs https://nodejs.org/en/blog/vulnerability/april-2021-security-releases/

- these are the latest security releases and we should encourage people
  to upgrade to them
- also replaces Node 12 in the tests with Node 14 as this is soon our
  recommended version
2021-05-07 14:10:26 +01:00
Peter Zimon
4a7f313282 Updated portal copy 2021-05-07 14:13:53 +02:00
Kevin Ansfield
0642a8b3cc Fixed email segment selector counts not taking subscription status into account
refs https://github.com/TryGhost/Team/issues/496
refs https://github.com/TryGhost/Team/issues/581

- added ability to pass an enforced filter to the segment count component
- used the enforced filter to add `subscribed:true` to segment counts where we're counting the number of members that would receive an email
2021-05-07 12:04:01 +01:00
Kevin Ansfield
0caa539330 Added label and product options for email recipients (#1947)
refs https://github.com/TryGhost/Team/issues/581
requires https://github.com/TryGhost/Ghost/pull/12932

- added segment option and select to default newsletter recipients setting
- updated segment selector to fetch labels/products and show as options
- updated segment selector and count component to call an action when count changes so we can use it in the email confirmation modal
- removed usage and mapping of older `'none'`, `'all'`, `'free'`, and `'paid'` email recipient filter values
2021-05-07 11:58:05 +01:00
Rishabh
e066fb5345 Reverted "Added home redirect for pricing wizard"
This reverts commit 0cf2fc9c24.

Hiding the launch wizard when there are existing prices causes an annoying flicker on the dashboard everytime we reload the page or navigate away. Instead of handling this client side, we'll push up the logic to hide the wizard on server.
2021-05-07 16:15:29 +05:30
Kevin Ansfield
fa454a8e47 Hid segment count for non-admins
refs https://github.com/TryGhost/Team/issues/496
refs https://github.com/TryGhost/Team/issues/581

Only owners and admins have browse access to members so they are the only ones able to fetch member counts. Don't render segment counts if there's no permission because we'll get errors back from the API and the count will be useless.
2021-05-07 10:25:44 +01:00
Rishabh
0cf2fc9c24 Added home redirect for pricing wizard
refs https://github.com/TryGhost/Team/issues/644

In case the prices are already set for the default product, its confusing to have the launch wizard show the price setup again. We remove the wizard completely if the prices are already created for the default product.
2021-05-07 14:34:59 +05:30
Kevin Ansfield
da49dc4922 Added default newsletter recipients setting (#1946)
refs https://github.com/TryGhost/Team/issues/496
reqs https://github.com/TryGhost/Ghost/pull/12925

The publish menu was meant to default to matching post visibility but that wasn't working consistently and didn't make sense for sites which don't email every post to their members.

A "Default newsletter recipients" option has been added to the "Email newsletter" settings screen and the publish menu updated to reflect the option. The free/paid toggles in the publish menu have also been swapped out for a multi-select style component that will cater to more complex member segmentation.
2021-05-07 10:02:19 +01:00
Peter Zimon
09b50995ec Removed subscription count from pricelist 2021-05-07 10:56:10 +02:00
Peter Zimon
764aa9a132 Updated product description on Product list screen 2021-05-07 10:26:58 +02:00
Rishabh
6bdc1c85e0 Wired welcome page UI to settings API
refs https://github.com/TryGhost/Team/issues/611

The UI for welcome page for paid signups is moved from Portal settings to Product page, this change wires up the new UI to the settings API as in Portal settings to function correctly
2021-05-06 22:28:34 +05:30
Peter Zimon
f4a4ef52fd Fixed select dropdown UI bug 2021-05-06 18:33:08 +02:00
Peter Zimon
897acb1909 Updated select style 2021-05-06 18:28:23 +02:00
Peter Zimon
4f16d2cf16 Updated subscription action menu button 2021-05-06 18:24:08 +02:00
Peter Zimon
e6dd0ee56b Removed product from add subscription modal 2021-05-06 18:16:56 +02:00
Peter Zimon
ccf2dff413 Added welcome page UI to product details 2021-05-06 17:40:29 +02:00
Peter Zimon
be30046419 Updated member detail screen for custom products
- added "Add subscription" button to product list
- copy updates
2021-05-06 17:13:08 +02:00
Rishabh
ea49c4d89c Fixed paid signup input in portal setting
refs https://github.com/TryGhost/Team/issues/637

The paid signup setting was incorrectly still checking only for Monthly and yearly prices instead of custom prices list to show the paid signup input.
2021-05-06 17:55:27 +05:30
Kevin Ansfield
7b340929ef Refactored members email settings screen
no issue

- simplified query params as they are only used to display a notification
  - removed all controller knowledge and associated reset behaviour for query params
  - moved notification display from `setupController` to `beforeModel` so the raw query params can be pulled off of the transition object
- removed unused service injections from `<GhMembersEmailSetting>`
- removed unused service injections and properties from members-email controller that were left over from a copy/paste
- converted members-email controller to a native class
- fixed "leave settings" confirmation modal behaviour that wasn't moved across in the the settings screen re-org
2021-05-05 16:59:26 +01:00
Peter Zimon
284b012083 Member activity list refinements 2021-05-05 17:46:50 +02:00
Renovate Bot
015ab8cec0 Update dependency fs-extra to v10 2021-05-05 16:37:02 +01:00
Sanne de Vries
d47352fd29 Updated metadata description preview cutoff point across admin 2021-05-05 17:33:59 +02:00
Peter Zimon
cf215328a4 Member product list cleanup 2021-05-05 15:58:47 +02:00
Peter Zimon
18696a6ee4 Added subscription count to member's product list
no refs.

- added subscription count to the product list in member details screen if there are multiple subscriptions for the given product. This is to make it clear and avoid confusion around the edge case when members have multiple subscriptions for the same product.
2021-05-05 15:42:29 +02:00
Daniel Lockyer
7aebb410bc 🔥 Dropped support for Node 10
refs https://github.com/TryGhost/Team/issues/658

- Node 10 become EOL as of April 30th so it's time to drop support
- this commit removes the 10.x range from the `node` `engines` block
2021-05-05 14:29:58 +01:00
Peter Zimon
abe7857e18 Moved Stripe customer link to subscriptions
- since there can be different Stripe customers for each subscription, it makes more sense to place the customer link together with it
2021-05-05 15:23:44 +02:00
Peter Zimon
6cf86f431b Product price cleanup
- removed bottom block (welcome page and stripe checkout link) from price modal
2021-05-05 15:09:01 +02:00
Peter Zimon
1d660218ae Custom product cleanups
- removed "New product" button
- removed "Delete product" button
2021-05-05 15:03:17 +02:00
Peter Zimon
76f3bfb093 Refined product list on member details screen
- updated subscription list for multiple subscriptions
2021-05-05 14:06:19 +02:00
Peter Zimon
893289eac9 Member detail screen refinements
- removed Stripe section and added View on Stripe link to member main info block
- fixed dropdown UI bugs in Product list
2021-05-05 13:40:09 +02:00
renovate[bot]
6eb3e810a2 Update dependency ember-cli-mirage to v2.2.0 (#1944)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-05 10:59:54 +01:00
Sanne de Vries
30b03b68b0 Updated email limit notification styling in publish-menu
Refs https://github.com/TryGhost/Team/issues/588
2021-05-05 11:53:36 +02:00
Rishabh
da58ef638b Wired product and price description to API
refs https://github.com/TryGhost/Team/issues/586

The `products` and `prices` UI were not hooked to description
data which will be used by Portal to display information about the
products and prices, this change wires it to the API for edit/read.
2021-05-05 14:21:14 +05:30
Kevin Ansfield
67db3f51c2 Fixed <GhTokenInput> not removing selected options when grouped
no issue

Our token input component removes already-selected options from the list of available options but it was expecting a non-grouped set of options.

- updated to recursively walk the options list and build a filtered list being careful not to modify the original groups by reference
- swapped task decorator syntax out for the more easily readable `ember-concurrency-decorators` style
2021-05-04 22:20:11 +01:00
Naz
36feb46c65 Added email limit check in post's publish menu
refs https://github.com/TryGhost/Team/issues/588

- The change allows to give information about not being able to send a newsletter along with publishing the post instead of waiting for a server response to fail
- Implements client-side limit check for email along with information coming from limit's error message
2021-05-04 21:46:29 +04:00
Rishabh
839d18425c Updated type attribute for dropdown button
no refs

The dropdown button component was missing `type="button"` when used as a button, which caused it to act like a `submit` button when used as part of a form, like in Member details page. This change adds type attribute to the button to fix the issue.
2021-05-04 21:52:14 +05:30
Rishabh
22de604ede Added free membership settings modal
refs https://github.com/TryGhost/Team/issues/648

All sites will include a default Free "Product" which is used for free memberships. This change adds UI for handling free membership settings. Also -

- Updates product icons in list and responsive sizes
- Copy updates
2021-05-04 21:42:48 +05:30
Rishabh
2a6d7226d2 Updated launch wizard to create custom price
refs https://github.com/TryGhost/Team/issues/644

Updates site setup to create custom Monthly/Yearly prices in default product as part of launch wizard. Also updates available portal plans based on user selection.
2021-05-04 21:42:48 +05:30
Rishabh
5d2e456f61 Handled custom prices in portal settings
refs https://github.com/TryGhost/Team/issues/637

Updates Portal settings to use list of custom prices for default product instead of hardcoded Monthly/Yearly
2021-05-04 21:42:48 +05:30
Daniel Lockyer
ae95eee5df v4.4.0 2021-05-04 11:55:33 +01:00
Naz
c876033483 Enabled "emails" limit configuration
refs https://github.com/TryGhost/Team/issues/588
refs a83cccd84b

- This bump allows to pass configuration for "emails" limit (flag type for now) and allows to do checks against this limit as a consequence
- Useful to be able to do basic checks for newsletter-related functionality
- It's a symmetric change to the server-side one
2021-05-04 11:21:35 +04:00
renovate[bot]
1b67547688 Update dependency broccoli-funnel to v3.0.5 (#1942)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-04 08:14:51 +01:00
Peter Zimon
d44c127978 Updated "What's new?" badge position
- aligned "What's new?" dot position on account icon in nav bar
2021-05-03 18:53:56 +02:00
Sanne de Vries
b8cdb26e70 Styled Google OAuth login button
Refs https://github.com/TryGhost/Team/issues/612
2021-04-29 15:01:42 +02:00
Daniel Lockyer
3b02987f86 Merged v4.3.3 into main
v4.3.3
2021-04-29 12:15:21 +01:00
Daniel Lockyer
6d84aac6b0 v4.3.3 2021-04-29 12:12:55 +01:00
Sanne de Vries
2a4d7e09aa Updated upgrade button styles 2021-04-29 11:47:44 +02:00
Renovate Bot
2d45f5d8cb Update dependency ember-cli-terser to v4.0.2 2021-04-29 08:55:06 +01:00
Renovate Bot
2fef23e78f Update dependency ember-cli-babel to v7.26.4 2021-04-29 08:54:54 +01:00
Aileen Nowak
c6635370dd Disabled Twitter link in footer
no issue

This is to remove some load from the Support team. Only commented it out, so it can be re-activated when we see fit.
2021-04-29 16:23:14 +12:00
Naz
24570d627f Updated copy for user role upgrade and invite limits
refs https://github.com/TryGhost/Team/issues/587

- Because we lack context when the component is called in "create new users" (invite) or in "modify existing user" (role upgrade) made copy more generic to fit both cases.
2021-04-28 18:08:58 +04:00
Naz
abfbaa8d9b Added upgrade moal when unsuspending staff user
refs https://github.com/TryGhost/Team/issues/587

- Previous behavior wa showing a generic API error in the top banner which wasn't ideal UX
- With these changes user is informed about the limitation before performing any action with clear call to upgrade through the billing page
2021-04-28 18:07:18 +04:00
Naz
8594126dc9 Fixed upgrade modal cta when activating a theme
refs https://github.com/TryGhost/Team/issues/590

- Previous upgrade button behavior was opening up a new browser window leading to now retired billing site. Tha behavior change looks like an oversight we missed to cleanup when introducing an in-admin billing pabe "/pro"
- The change follows similar pattern used in other limit check mesages where tha "upgrade" button takes the user to the billing page
2021-04-28 14:15:56 +04:00
Thibaut Patel
06c7db78b2 Added the oauth login button
issue https://github.com/TryGhost/Team/issues/614

Shown conditionally only when oauth is setup on the server side.
2021-04-28 12:05:32 +02:00
renovate[bot]
2827d2fd5d Update dependency ember-auto-import to v1.11.3 (#1932)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 10:20:21 +01:00
renovate[bot]
e8ee1aebf3 Update dependency ember-cli-string-helpers to v6 (#1931)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-28 10:20:04 +01:00
Naz
3435ffcf21 Fixed upgrade modal cta when publishing a post
refs https://github.com/TryGhost/Team/issues/589

- Previous upgrade button behavior was opening up a new browser window leading to now retired billing site. Tha behavior change looks like an oversight we missed to cleanup when introducing an in-admin billing pabe "/pro"
- The change follows similar pattern used in other limit check mesages where tha "upgrade" button takes the user to the billing page
2021-04-28 12:13:24 +04:00
naz
3b7cbaef05 Added limit check before adding new integration (#1934)
refs https://github.com/TryGhost/Team/issues/599

- Previously user received genetic limit error after putting in integration name and clicking "create" button. This created a little frustrating experience.
- The updated flow does the check before loading the integration modal, so the user receives communication about needed upgrade before doing any work
2021-04-28 19:29:25 +12:00
Kevin Ansfield
9c4f1b893b Fixed linting error 2021-04-27 18:39:51 +01:00
Kevin Ansfield
b7d7cbb269 Updated portal preview to pass allowSelfSignup as query param
refs https://github.com/TryGhost/Team/issues/579

- portal reads `allowSelfSignup` from config at startup and so won't show the free plan if it was not selected when preview is first opened
- updated `membersUtils.getPortalPreviewUrl()` to duplicate the `allowSelfSignup` logic from the server so it can be passed through to portal dynamically
2021-04-27 18:35:05 +01:00
Kevin Ansfield
6a6f50cf15 Fixed rollback of selected plans when leaving portal settings
no issue

- the original `portalPlans` array was being modified by reference which was throwing off Ember Data's change tracking
- switched to always creating a new plans array before any modifications take place
2021-04-27 18:03:13 +01:00
Kevin Ansfield
49b83add43 Fixed rollback when leaving portal settings without saving
no issue

- base modal component was throwing an error because the passed in `confirm` action for the leave settings modal wasn't async and didn't have a `.finally()` method
2021-04-27 17:34:04 +01:00
Kevin Ansfield
6a039be595 Disabled portal subscription options when signup is disabled
refs https://github.com/TryGhost/Team/issues/579

- subscription access set to 'invite' or 'none' disables signup so it doesn't make sense to allow those options to be changed when the portal preview won't reflect the settings
- fixed "expand"/"close" button not changing on the access screen signup access block
2021-04-27 15:36:45 +01:00
Sanne de Vries
68c07bde4c Fixed modal shadows being cut off bug 2021-04-27 12:24:45 +02:00
Rishabh
6bde09bd11 Added default sorting to product list
refs https://github.com/TryGhost/Team/issues/633

Adds default alphabetical sorted order for Product list
2021-04-27 13:55:35 +05:30
Rishabh
0a41167f52 Added adapter for products
refs TryGhost/Team#627

Adds adapter for `product` to query records correctly
2021-04-27 13:47:32 +05:30
Peter Zimon
9f74d83657 Updated billing period prompt 2021-04-27 10:00:50 +02:00
Renovate Bot
ec9d5fad4b Update dependency eslint-plugin-ghost to v2.1.0 2021-04-26 20:42:57 +00:00
Sanne de Vries
ac74fe6224 Updated Google SSO settings copy and styling 2021-04-26 22:15:22 +02:00
Sanne de Vries
63db462fbc Updated SSO configuration settings styles in Labs 2021-04-26 21:27:35 +02:00
Peter Zimon
c105dff604 Updated new product header 2021-04-26 21:09:37 +02:00
Peter Zimon
5762147e52 Updated add product to member modal
- added footnote to price dropdown
2021-04-26 21:01:46 +02:00
Peter Zimon
ece37d3475 Updated custom products styles
- updated mocked data for product and price list
- updated disabled button style on "Add product to member" modal
2021-04-26 20:55:25 +02:00
Peter Zimon
7240f9234f Updated price form design
- rearranged order of input fields and dropdowns on new/edit Price modal
2021-04-26 20:42:16 +02:00
Rishabh Garg
2555b70456 Wired new Products settings UI to API data (#1930)
refs TryGhost/Team#627

This updates the new Products settings screens to use real data from API for existing Custom Products and Prices to populate them on UI and allow site owners to edit them.

- List all Products of site and allow editing Product name
- List all Prices for a product and allow editing individual Price names
- Add new Prices on a Product
2021-04-26 23:52:04 +05:30
Fabien 'egg' O'Carroll
540c50f331 Wired up Member details screen to Custom Products
refs https://github.com/TryGhost/Team/issues/627

This is the reworked Member detail screen for Custom Products and adds
new functionality, or includes existing including:

- List Products for a Member, and the associated Subscriptions
- Allow cancelling/continuing said Subscriptions
- Adding a Product to a Member with a zero-amount Price
2021-04-26 17:28:39 +01:00
Kevin Ansfield
9c1eef178c Revert "Tweaked wording of members access options"
This reverts commit 7c6bace12e.

- the previous wording was correct and the behaviour needs to be changed to match rather than following the "allow free member signup" toggle behaviour
2021-04-26 08:20:51 +01:00
Kevin Ansfield
a08c2dfe12 Added grouped and custom option support to <GhTokenInput>
no issue

- `<GhTokenInput>` is based around `<PowerSelect>` but using Power Select's grouped options feature didn't work because we weren't falling back to it's built-in group component
- updated the `<GhTokenInput>` template to use a supplied block as the option display rather than only displaying the option's label (allows for counts etc to be shown alongside dropdown options)
2021-04-26 08:17:50 +01:00
Renovate Bot
23428f3d01 Update dependency eslint to v7.25.0 2021-04-23 23:35:45 +00:00
Renovate Bot
dfde881163 Update dependency grunt to v1.4.0 2021-04-23 14:34:18 +01:00
Sanne de Vries
691c1a8241 Fixed spacing issue in Firstpromoter settings 2021-04-23 15:29:26 +02:00
Sanne de Vries
ef05626bf7 Fixed theme install modal height bug 2021-04-23 15:06:56 +02:00
Kevin Ansfield
7c6bace12e Tweaked wording of members access options
refs https://github.com/TryGhost/Team/issues/579

"Only people I invite" did not marry with behaviour. When selected it matches the old "Allow free member signup = false" toggle setting which only disables free member signup rather than disabling all front-end signup
2021-04-23 10:00:10 +01:00
Thibaut Patel
8c874904d6 Added UI for setting OAuth settings
issue https://github.com/TryGhost/Team/issues/614
2021-04-22 19:41:41 +02:00
Rishabh Garg
a544005c1f Wired products data to Product settings screen (#1927)
refs https://github.com/TryGhost/Team/issues/627

Wires the real Products data from API to the mock Product settings screen including Product Prices list as well as opening of edit/new price modals. The new Product setting is still behind the developer experiment flag as is under active development, the changes in this commit only allows readonly data but not save/edit upstream.

Co-authored-by: Fabien O'Carroll <fabien@allou.is>
2021-04-22 22:17:19 +05:30
Daniel Lockyer
9855197e07 Merged v4.3.2 into main
v4.3.2
2021-04-22 17:34:23 +01:00
Daniel Lockyer
f31863fea7 v4.3.2 2021-04-22 17:32:38 +01:00
Sanne de Vries
f0da772bbd Fixed icons alignment in post preview 2021-04-22 14:43:57 +02:00
Daniel Lockyer
462bae82ff Merged v4.3.1 into main
v4.3.1
2021-04-22 09:50:58 +01:00
Daniel Lockyer
cbb5c13e81 v4.3.1 2021-04-22 09:48:44 +01:00
Sanne de Vries
494e8c5c20 Fixed spacing bug in AMP settings 2021-04-22 09:59:53 +02:00
Kevin Ansfield
58759b3069 Added option to disable member subscriptions (#1925)
refs https://github.com/TryGhost/Team/issues/579

- new Access settings screen that moves subscription access and default post visibility from the Payments settings screen
- expanded "Free signup" toggle into three signup access options
  - "anyone" - same as previous "allow free member signup" option set to `true`
  - "invite only" -  same as previous "allow free member signup" option set to `false`
  - "nobody" - completely disables member signup and login. Removes injected portal and stripe scripts on the front-end and hides member related sections on the admin dashboard

(this commit moves the above changes out from behind the developer experiments flag and cleans up now-unused code)
2021-04-21 12:09:40 +01:00
Sanne de Vries
dda67edd82 Fixed marketplace link in theme settings 2021-04-21 12:22:02 +02:00
Daniel Lockyer
7708438be2 v4.3.0 2021-04-21 09:10:21 +01:00
Thibaut Patel
53d77d82df Added an upgrade modal to the custom theme activation failure scenario
no issue

- The modal only appears when the user hits a limitation trying to activate a custom theme not part of the allowlist (if the custom theme allowlist is configured)
- Changed the upgrade button to green to match the design
2021-04-20 19:15:33 +02:00
Kevin Ansfield
89b9f6cfc6 Added unsaved changes modal to members-payments screen
no issue

Unsaved changes handling hadn't been moved across fully to the payments screen when settings were re-jigged meaning changes on the payments screen would make settings dirty and show unsaved changes modal unexpectedly on other screens.

- refactored `members-payments` route to use native classes
- used same unsaved changes pattern as `members-access` route/controller
2021-04-20 17:41:21 +01:00
Kevin Ansfield
4febcdf7ae Refactored members-payments controller to native class style
no issue

- refactored to use more modern Ember style native classes, no functionality change
2021-04-20 17:25:30 +01:00
Kevin Ansfield
1dcc83aad5 Removed unused code from members-payments route
no issue

- unused code was left over from settings re-jig copy and paste
2021-04-20 17:23:20 +01:00
Kevin Ansfield
04760132e9 Moved payment settings access control to route
no issue

- having owner-only access control in the template meant the route was accessible but would show a blank page
- updated access control in the `members-payments` route to redirect admins to the settings index screen and non-admins to the default home screen
2021-04-20 17:08:54 +01:00
Kevin Ansfield
4e2a7b9af5 Removed unused code from members-payments controller
no issue

- unused code was left over from settings re-jig copy and paste
2021-04-20 17:02:43 +01:00
Kevin Ansfield
5337a96074 Removed unused code from <GhMembersPaymentSettings>
no issue

- code relating to "portal settings" and "leave settings" modals was unused, presumably left over from settings re-jig copy and paste
2021-04-20 16:55:31 +01:00