Commit Graph

1514 Commits

Author SHA1 Message Date
Naz
107ed0e1f3 Added post distribution labels to publish menu
refs https://github.com/TryGhost/Team/issues/947

- With email-only posts there's a new "send" status that deserved it's own publishing action in the post publish menu. With with addition the post ended up having few more publishing states: publish, send, and publish&send. In addition to all this there's a "schedule" option. An addition of the "send" only select option there became a need to persist the "email_only" flag when the option was changed in the publish menu. Such persistance was not done before from the publishing menu and led a whole chain of additional methods being passed down from publishmenu component all the way down to distribution-action-select component
- At this moment only a happy path work properly when selecting one of the publishing options and publishing. More states will need to be handled for scheduled, unblished, etc. states of the post
2021-08-26 23:37:51 +04:00
Naz
9d292fd5a1 Hidden the publish menu when the post was "sent"
refs https://github.com/TryGhost/Team/issues/947

- There is no way to "unpublish" the email-only post that has been sent already. For current alpha version the menu is hidden and up for further development when needed
2021-08-26 23:01:52 +04:00
Rishabh
b5bc870a3b Handled dummy subscription for comped members
refs https://github.com/TryGhost/Team/issues/986#issuecomment-900281186

The tiers features updated the "comped" functionality to no longer create a Stripe Subscription for members. Since theme developers expect comped members will have a subscription, we added a dummy subscription object for comped members in API.

Since Admin previously expected comped members to be ones without any subscription but access to product, this change updates Admin behavior to identify comped subscriptions on a product and show them the same way as before.
2021-08-26 22:06:10 +05:30
Kevin Ansfield
23c6547b5b Fixed missing outline on <GhInputWithSelect> when focused
refs https://github.com/TryGhost/Team/issues/993

- added calls to `onFocus()` and `onBlur()` arguments inside the trigger when the input is focused/blurred so that the active class is correctly applied by ember-power-select
- removed unnecessary mousedown propagation cancellation, it was a copied from `<GhTokenInput>` where extra mouse handling is necessary for buttons inside tokens
- updated `.gh-input-with-select` styles to add the border when active
2021-08-26 17:19:00 +01:00
Sanne de Vries
a83830db7a Styled publishing action dropdown in publish menu 2021-08-26 13:01:45 +02:00
Kevin Ansfield
d0ef530df3 Fixed Safari showing contact suggestions when adding/replacing snippet
refs https://github.com/TryGhost/Team/issues/1008

- Safari doesn't respect `autocomplete="off"` and will attempt to show autofill suggestions, in this case it was picking up "name" from the "Snippet name" placeholder and showing suggestions for contacts on top of the snippets dropdown
- having the input name include "search" overrides the autofill behaviour
- https://bytes.grubhub.com/disabling-safari-autofill-for-a-single-line-address-input-b83137b5b1c7
2021-08-26 10:18:25 +01:00
Kevin Ansfield
ed85901607 Fixed tabbing in and out of <GhInputWithSelect>
refs https://github.com/TryGhost/Team/issues/1009

- setting `tabIndex="-1"` on the trigger prevents the trigger container receiving focus rather than the container input element (fixes general tabbing in and out)
- added extra blur handling to the input element so that it is not left in an open dropdown state when tabbing out
2021-08-25 15:41:30 +01:00
Sanne de Vries
d8c7673a94 Capitalized email preview footer buttons 2021-08-25 13:13:55 +02:00
Naz
f0d2a9c253 Added copy to pre publish modal of email only post
refs https://github.com/TryGhost/Team/issues/947

- The wording makes it clear the post wont be accessible publicly after sending it
2021-08-25 14:56:12 +04:00
Naz
299a557cca Updated component syntax
refs https://github.com/TryGhost/Team/issues/947

- There is no need to use proxy objects in the newest versions of Ember. It's an old patterns that should not be perpetuated
2021-08-25 22:20:11 +12:00
Naz
eef3ee8942 Integrated post distribution dropdown into publish menu
refs https://github.com/TryGhost/Team/issues/947

- Shows the publish option selector based on the "emailOnlyPosts" feature status
2021-08-25 22:20:11 +12:00
Naz
9e84441e75 Added publishing action dropdown to publish menu
refs https://github.com/TryGhost/Team/issues/947

- Added a "distribution" dropdown component to the post publish menu allowing to select from one of three available types of distribution: publish, poblush&send, and send
2021-08-25 22:20:11 +12:00
Naz
2ad745e429 Removed email-only post checkbox from PSM
refs https://github.com/TryGhost/Team/issues/947

- The checkbox will live in the post publish menu instead
2021-08-25 22:20:11 +12:00
Sanne de Vries
e9f2bfa92b Updated emailed status in posts list and added email icon to scheduled posts
Refs https://github.com/TryGhost/Team/issues/954
2021-08-24 14:11:15 +02:00
Sanne de Vries
6198019de1 Updated snippet replacement dropdown 2021-08-24 12:28:07 +02:00
Sanne de Vries
e21669dfa9 Fixed test 2021-08-24 11:39:04 +02:00
Sanne de Vries
f59fae71eb Updated snippet replacement dropdown 2021-08-24 11:21:47 +02:00
Kevin Ansfield
d45ba1aa78 Updated snippet replacement modal copy and button colour
no issue

- red -> black for button colour, red was a copy pasta from the delete confirmation modal
2021-08-24 09:13:13 +01:00
Kevin Ansfield
ddf6360ae2 Passed post as a card option through to editor cards
refs https://github.com/TryGhost/Team/issues/992

- within cards we sometimes want access to the `post` record so that UI or copy can be changed based on what is currently being edited
- added ability to pass `@cardOptions` through to the editor components
- fixed KoenigEditor not correctly assigning the `cardOptions` object to the `options` object that gets passed to every card when they are rendered
2021-08-23 18:42:14 +01:00
Kevin Ansfield
330d264550 Fixed linting error
no issue

- removed unused variable
2021-08-23 17:34:17 +01:00
Kevin Ansfield
4184543307 Added confirmation modal when updating an existing snippet
refs https://github.com/TryGhost/Team/issues/973

- show confirmation modal instead of immediately replacing content of the existing snippet
2021-08-23 17:12:26 +01:00
Kevin Ansfield
daa7f2e781 Added ability to update snippet contents
refs https://github.com/TryGhost/Team/issues/973

- added `@showCreate` option to `<GhInputWithSelect>` that enables the create option without having to pass a function in `@showCreateWhen`
- fixed autofocus not focusing input element in `<GhInputWithSelect>` when `autofocus="true"` isn't enough by itself
- updated `selectOrCreate` in `<GhInputWithSelect>` to trigger `onChange` if it's passed in rather than `onInput`
- swapped input in labs snippet input to `<GhInputWithSelect>`
- added actions for updating a snippet when an existing snippet is selected
- added action to editor control for saving an updated snippet
2021-08-23 16:00:01 +01:00
Rishabh
e71feeae5f Moved "Free" to "Tiers" section in Portal settings when visible
closes https://github.com/TryGhost/Team/issues/878

"Free" should be part of "Tiers" section in Portal settings when there are more than one product
2021-08-23 16:24:33 +05:30
Rishabh
6c7309d9bd Fixed labels and tiers crammed in recipient select dropdown
closes https://github.com/TryGhost/Team/issues/983

- fixes overlap of labels and tiers when there are a lot of labels in the recipient select dropdown of publishing menu.
2021-08-23 16:15:31 +05:30
Naz
0ae602cf70 Added email icon to posts list sent status
refs https://github.com/TryGhost/Team/issues/954

- The email icon is signalling there was a newsletter sent with the post and allows to identify the "email only" posts easier
2021-08-23 14:28:55 +04:00
Rishabh
8d6c677b35 Fixed multiple "Specific tier" option in post access dropdown
closes https://github.com/TryGhost/Team/issues/903

- fixes multiple instances of "Specific tier" option in post access dropdown as main visibility list was getting modified on each load instead of using a separate instance
2021-08-23 12:40:59 +05:30
Rishabh
31d608f7dd Refined available tiers UI on Portal settings for single product
closes https://github.com/TryGhost/Team/issues/812

- removes `Products available at signup` in Portal settings in Admin if there is only single tier available
2021-08-23 12:26:26 +05:30
Rishabh
76b0483fd2 Added default product in portal settings on stripe connect
refs https://github.com/TryGhost/Team/issues/812

- adds default product(if none selected) to `portal_products` setting on Stripe connect, so when `Multiple tiers` are enabled there is always a default product selected for Portal
2021-08-23 12:26:26 +05:30
Rishabh
f65b5e3ef0 Handled missing benefits for products
no refs

- loads benefits for products along with monthly/yearly prices in member details screen
- handles empty benefits in product detail modal
2021-08-23 12:26:26 +05:30
Naz
633a40e8e3 Updated members import error detection
refs refs https://github.com/TryGhost/Team/issues/912
refs d6f3210fd2
2021-08-20 18:09:19 +04:00
Kevin Ansfield
33c872c859 Added <GhInputWithSelect> component
refs https://github.com/TryGhost/Team/issues/987

- `<GhInputWithSelect>` acts as a typical text input element but will also show options that are filtered whilst typing. Useful for inputs where there should be suggestions or the ability to choose an existing option
- updated `<GhSearchInput>` to use the renamed and slightly modified trigger
2021-08-20 14:33:30 +01:00
Peter Zimon
95359d56f2 Copy refinements for tiers
- changed 'Products' to 'Tiers'
- changed 'A segment' to 'Specific tiers'
2021-08-20 12:15:20 +02:00
Naz
dfb0acf1a1 Fixed error not showing up in PPM after instance freeze
refs https://github.com/TryGhost/Team/issues/999
refs 637fa58983

- Right after the freeze is triggered the post publish menu did not have the latest settings loaded to display the "disabled email" warning.
2021-08-20 14:07:19 +04:00
Rishabh
984b4a6739 Refined enter behavior for benefits section in modal
refs https://github.com/TryGhost/Team/issues/874

In the product benefits modal in Admin, hitting Enter has been updated to work as -
- when hit with focus in an empty benefit field: does nothing
- when hit with focus in any field outside benefit fields: does nothing
- add new benefit and focus on it when hit while on a non-empty benefit
2021-08-20 14:20:51 +05:30
Naz
cdfd58bc64 Removed "Try again" button on verification popup
refs https://github.com/TryGhost/Team/issues/912

- When email verification process is triggered "try again" CTA is not deireable
- The change also fixes refresh of imported members in the background
2021-08-19 21:19:23 +04:00
Naz
637fa58983 Moved the email sending validation to pre-publish step
closes https://github.com/TryGhost/Team/issues/999

- Previous UX when the error popped up after the publish action was submitted was bad. Showing a warning and not allowing to send an email preembtively gives much better UX.
2021-08-19 17:50:21 +04:00
Naz
8d7cf2a79e Fixed public preview url for email only posts
refs 148caaf06d
refs https://github.com/TryGhost/Team/issues/990

- The email only post's route has been changed from `/email/:slug` to `/email/:uuid`
2021-08-19 12:50:43 +04:00
Daniel Lockyer
f5fc64f74f Merged v4.12.0 into main
v4.12.0
2021-08-17 11:14:12 +01:00
Rishabh
7394df6137 Disabled stripe connect for non-owner users in Portal settings
refs https://github.com/TryGhost/Team/issues/994

Non-owner admin users have visibility of the "Connect with Stripe" UI in Admin, but lack permissions to setup the Stripe session in order to actually connect Stripe. This change patches the Portal settings UI by disabling Stripe Connect option for non-owner admins.
2021-08-17 15:33:29 +05:30
Kevin Ansfield
4a24e0a089 Renamed gh-search-input-trigger -> gh-power-select/input-trigger
refs https://github.com/TryGhost/Team/issues/973

- we have more uses for an input-based trigger for a power select component so the rename prepares the input-based trigger we use for the site search for more general usage
- removed hardcoded search icon and class, they can be passed in as options via the `@extra` param
2021-08-16 15:05:16 +01:00
Peter Zimon
fd59421c7a Updated copy for email tiers in publish menu 2021-08-16 13:43:52 +02:00
Peter Zimon
6d74cc7145 Removed name and email options from members filter
- Removes name and email from the members filter options since the alpha version of the feature doesn't support partial text in text fields.
2021-08-16 12:48:45 +02:00
Rishabh
91e5bddf3a Updated email filters to handle greater/less than values
refs https://github.com/TryGhost/Team/issues/943

- handles `greater-than` and `less-than` filters for email filters
2021-08-16 14:59:55 +05:30
Rishabh
edf38cdde4 Updated filtered column labels in table
refs https://github.com/TryGhost/Team/issues/943

- fixes label shown for billing period and subscription status on the table for filtered data
2021-08-16 14:43:37 +05:30
Rishabh
5594ba7219 Added live filter update to members list
refs https://github.com/TryGhost/Team/issues/963

- adds live update to member list based on applied filters
- cleans up filter behaviour for different scenarios
2021-08-13 23:22:59 +05:30
Peter Zimon
88ea52646b Refined members filter copy 2021-08-13 18:49:22 +02:00
Rishabh
f3af99fada Refined filter builder UI to show multi-line labels
refs https://github.com/TryGhost/Team/issues/970

- refined labels dropdown on filter builder to multi-line
- cleaned up valid filter handling
2021-08-13 22:12:17 +05:30
Rishabh
6d9b8175a2 Wired bulk action operations on filtered members list
closes https://github.com/TryGhost/Team/issues/969

Wires the bulk action operation UI to Ghost API to perform operations on filtered member list - unsubscribe filtered members, add label to filtered members or remove label from filtered members
2021-08-13 21:50:46 +05:30
Peter Zimon
8a6bb20830 Updated members list heading copy 2021-08-13 16:23:56 +02:00
Peter Zimon
8ba183050b Refined member filter button 2021-08-13 16:23:56 +02:00
Naz
148caaf06d Changed the public URL for sent email only post
refs https://github.com/TryGhost/Team/issues/954

- The URL for email-only posts is served with an `/email/` prefix, so it didn't make sense to show a regular URL in the PSM for such posts
2021-08-13 17:50:05 +04:00
Rishabh
a7f3eef830 Updated filter builder behavior to always keep one filter row
closes https://github.com/TryGhost/Team/issues/965

If there's only one filter row in the members filter builder modal, then clicking on "X" in that row resets the fields instead of removing the complete row and showing empty filter builder
2021-08-13 19:00:35 +05:30
Naz
f8c75a1e22 Added 'sent' status label in the posts list view
refs https://github.com/TryGhost/Team/issues/954

- This is a first iteration before replacing the status with an email icon in the future. It's meant to signal visually the current status instead of leaving it completely blank
2021-08-13 17:18:37 +04:00
Peter Zimon
905b312383 Refined labels in members list 2021-08-13 15:17:07 +02:00
Rishabh
520252f5aa Added filter count to filter builder UI
no refs
2021-08-13 18:37:19 +05:30
Rishabh
084380d155 Wired reset filters filter button in filter builder
closes https://github.com/TryGhost/Team/issues/964

Wires the "Reset" button in filter builder to clear all filters easily and see the original full list of members.
2021-08-13 18:00:28 +05:30
Naz
f23e8bc801 Changed post publish menu copy with "send" state
refs https://github.com/TryGhost/Team/issues/947

- Before making a bigger changes - introducing an inline component with send/send&publish/publish dropdown, have made minimal copy changes to reflect what's about to happen after the publish menu submit button is pressed
2021-08-13 16:23:55 +04:00
Naz
d0576beac3 Fixed email only toggle in PSM
refs https://github.com/TryGhost/Team/issues/947

- The toggle was missing an autosave, which was causing a confusing UX where the user had to remember to save the post before publishing.
2021-08-13 16:23:55 +04:00
Peter Zimon
0c3848c23a Refined members action dropdown 2021-08-13 13:55:08 +02:00
Rishabh
38a3962368 Added bulk operations UI for filtered members
refs https://github.com/TryGhost/Team/issues/969

A lot of power of filtering members comes from ability to perform actions on the filtered member list. This change adds bulk operation actions on the the UI to apply on filtered members, but has not wired them up to the API yet.

- adds unsubscribe bulk operation UI
- adds label addition bulk operation UI
- adds label removal bulk operation UI
- adds new single label selection UI for add/remove label to members UI
2021-08-13 17:11:34 +05:30
Rishabh
a34fac50b0 Added custom filter operators for filtering UI
refs https://github.com/TryGhost/Team/issues/943

- adds custom operators for each filter based on type
- adds `name or email` filter for `contains` search  on name or email
2021-08-13 13:42:30 +05:30
Peter Zimon
615dc8d24c Added Reset button to member filter builder 2021-08-12 18:26:29 +02:00
Peter Zimon
e936f3928e Members filtering refinements 2021-08-12 18:12:06 +02:00
Peter Zimon
c71e5f19bf Fixed fullwidth bug for members screen
- Added condition to make the members screen full width when filters Alpha feature is applied
2021-08-12 17:53:49 +02:00
Naz
6651b44de9 Reverted post visibility control by email-only checkbox
closes https://github.com/TryGhost/Team/issues/896
refs 3cd1c56d4e

- The visibility dropdown auto-hiding was reconsidered, so reverting parts of the referenced change
2021-08-12 17:36:33 +04:00
Rishabh
a895bafb53 Added label editing feature in filtering dropdown
refs https://github.com/TryGhost/Team/issues/966

With introduction of members filtering, the current way of editing member labels needed an upgrade. This change updates the member label input component to include editing option which allows triggering label edit modal directly from the filtering menu when working with labels. The long term idea is to make this a consistent global pattern with labels dropdown, extending to member details screen as well.
2021-08-12 17:51:18 +05:30
Rishabh
0aa7aca560 Added dynamic value selection UI for filter dropdown
refs https://github.com/TryGhost/Team/issues/943

The filter UI behind labs in Admin allows filtering members list across several filters. Since each filter type can have its own specific set of values to choose from, this change adds custom UI based on filter type to select filter value.
2021-08-12 13:33:32 +05:30
Rishabh
e224c96bba Added members filtering on subscription status and billing period
refs https://github.com/TryGhost/Team/issues/943

- updated filtering ui to handle stripe subscription status and billing period filtering
2021-08-11 18:04:11 +05:30
Rishabh
247f24394d Added dynamic columns to member list from filter UI
refs https://github.com/TryGhost/Team/issues/943

- adds new columns to member list table based on selected filters in UI
- handles dynamic columns in members list with formatted output like for labels
- works behind the filtering feature flag
2021-08-10 17:41:59 +05:30
Rishabh
30756f8882 Separated alpha members filtering feature into own component
refs https://github.com/TryGhost/Team/issues/943

- separates the new alpha members filtering to its own `-labs` component
- fixes behaviour for existing filtering feature on members list which was overwritten with last change
- updates up action handling to modern glimmer syntax
2021-08-07 09:48:47 +05:30
Rishabh
7a43c53ddb Added basic members list filtering via UI
refs https://github.com/TryGhost/Team/issues/943

- updates the static filtering ui to dynamic (behind alpha flag)
- generates basic nql filter queries for selected filters - `is` , `is not`
- filters members list on applied filters
2021-08-05 19:22:58 +05:30
Naz
3cd1c56d4e Added email only checkbox to PSM
closes https://github.com/TryGhost/Team/issues/896

- Having this checkbox allows user to control posts email_only flag
- Also sets the post automatically to "public" when the email-only toggle is switched on as the access would be controlled form within email and not through the internal gatekeeping mechanism
2021-08-04 17:13:52 +04:00
Sanne de Vries
03d46ed67e Fixed chevron character in meta-data preview in post settings 2021-08-04 14:40:45 +02:00
Rishabh
1492527b3e Added basic add/delete action on filter UI
refs https://github.com/TryGhost/Team/issues/943

Adds basic add/delete button action on dynamic filter UI to create custom filter blocks
2021-08-04 15:53:06 +05:30
Naz
ac814f32f3 Fixed typo 2021-07-29 13:53:52 +04:00
Naz
c9e29d6e9e Displed special modal header for disabled email limit
closes https://github.com/TryGhost/Team/issues/915
refs https://github.com/TryGhost/Admin/commit/a7bb783d3

- When the disabled email limit is returned we want to have a special header along with the modal copy
2021-07-28 14:47:16 +04:00
Naz
2c52fab9ae Fixed limit error parsing when there are no details
refs https://github.com/TryGhost/Team/issues/913

- Some limit errors don't contain a "details" property, in those cases the code should still execute instead of throwing an errors!
2021-07-28 14:27:03 +04:00
Kevin Ansfield
e02e921b22 Fixed email tab not working in preview modal
no issue

- added missing service injection
2021-07-27 16:46:02 +01:00
Kevin Ansfield
23a1f63d24 Added free/paid toggle to email preview modal
refs https://github.com/TryGhost/Team/issues/927

- the `email-cta` card can be segmented so only free or paid members can see the content, it should be possible for authors to preview what that will look like in either case
2021-07-27 16:31:56 +01:00
Naz
a7bb783d33 Added special error modal copy on email freeze
closes https://github.com/TryGhost/Team/issues/913

- When an error is returned from the server during a CSV import and it's because of the email freeze the import modal error has to show a special header along with error message
2021-07-27 16:19:38 +04:00
Sanne de Vries
bea787f1e9 Added tooltip with last-updated timestamp on hovering "X days ago" in post list 2021-07-26 15:41:27 +02:00
Peter Zimon
5255489779 Added static members filtering
- added filter builder dropdown (alpha)
- refactored related CSS
2021-07-23 16:05:22 +02:00
Peter Zimon
d356f5451a Added static result table for members filtering
- Added horizontal scrolling, fullscreen table component.
- Mocked multiple columns in the members result list.

Alpha feature.
2021-07-22 15:47:01 +02:00
Kevin Ansfield
019a1cf41d 🐛 Fixed publication icon in nav bar sometimes appearing inverted in dark mode
no issue

- `iconClass` was set to `gh-nav-logo-default` when first loading admin with the default icon
- when a new icon was uploaded the background style was changed but the class wasn't reset so continued to appear inverted
2021-07-21 11:40:55 +01:00
Sanne de Vries
6e540cf2ef Changed drag&drop indicator color 2021-07-20 11:30:10 +02:00
Peter Zimon
a6ba245bcd Updated copy for tiers
- Updated copy of multiple products to "Tiers"
2021-07-19 12:39:59 +02:00
Rishabh
95c3759282 Removed focus out error handling for invite staff modal
refs https://github.com/TryGhost/Team/issues/732

This fix is part of the broader design change we want in Admin, moving away from showing errors on focus out in fields with feels a little aggressive and instead change it to the default behaviour of showing errors when submitting the form. This change updates this behaviour for invite staff modal.
2021-07-19 14:02:15 +05:30
Kevin Ansfield
876c2b6cdd Added first pass at feature image drag+drop uploading
refs https://github.com/TryGhost/Team/issues/884

- add `[data-user-is-dragging]` to `body` element when any drag is occurring so that we can make drop zones active
- added dropzone and drop handling to feature image component
2021-07-16 15:01:00 +01:00
Rishabh
0f9177919c Refined segment selection in default post access setting
closes https://github.com/TryGhost/Team/issues/862

- allows deleting a single product in the segment dropdown
- shows error message in segment when no product is selected
2021-07-16 18:31:23 +05:30
Kevin Ansfield
04f39e047e Always show feature image buttons when no title is set
no issue

- keeps the buttons visible for longer to aid discovery
2021-07-15 15:50:32 +01:00
Kevin Ansfield
1ad2c05d37 Bumped eslint-plugin-ghost and fixed linter errors
no issue

- new linting rules that needed fixing:
   - calling `super` in lifecycle hooks
   - no usage of String prototype extensions
2021-07-15 15:27:29 +01:00
Kevin Ansfield
7a3b171f7f Fixed error when interacting with tag accent color input
closes https://github.com/TryGhost/Team/issues/744

- we were using `{{on}}` with a function on the component that wasn't bound to `this` via the `action` decorator meaning errors were thrown every time the input lost focus
2021-07-14 16:00:24 +01:00
Kevin Ansfield
85f579b785 Fixed error when entering invalid URL in canonical URL field
closes https://github.com/TryGhost/Team/issues/745

- `URL()` will throw when given something it doesn't understand. As `seoURL` is just a display property it doesn't matter, we can catch the error and do nothing
2021-07-14 15:53:55 +01:00
Kevin Ansfield
8630be5a87 🐛 Fixed re-authenticate modal not showing when saving in editor
closes https://github.com/TryGhost/Team/issues/865

Ghost now returns a forbidden error rather than an unauthorized error when saving whilst logged out so the session invalidation was not being triggered.

- added forbidden check to ajax service to trigger session invalidation
- added automatic retry of save in editor when re-authenticating
- fixed re-population of user and proxy services when re-authenticating, it's not needed at that point because nothing has been cleared
2021-07-14 12:28:09 +01:00
Sanne de Vries
53d76da054 Updated feature image Unsplash integration to appear on post title hover 2021-07-14 09:50:59 +01:00
Kevin Ansfield
3dc4126397 Dropped use of @classic decorator in <GhTokenInput>
no issue

- updated component to be a glimmer component and use full "Octane" syntax
2021-07-12 14:03:48 +01:00
Thibaut Patel
dc9c812d9c Renamed isAdmin/isOwner/isAdminOrOwner to reduce confusion
issue https://github.com/TryGhost/Team/issues/857

- The goal is to avoid testing for the owner role only is cases where we should be testing for the owner or admin role
- `isOwner` => `isOwnerOnly`
- `isAdmin` => `isAdminOnly`
- `isOwnerOrAdmin` => `isAdmin` (concerns now both Owner and Admins)
2021-07-12 14:55:56 +02:00
Kevin Ansfield
7ab0db9be7 Fixed ember-test-selectors bound attributes deprecations
no issue

- converted publish menu and `gh-tags-list-item` components to glimmer syntax so data attributes can be passed in via `...attributes`
- added explicit `data-test-button` bound attribute to `gh-task-button` component
- moved `modal-theme-warnings` auto-bound data attribute from JS file to explicit html attribute in template
2021-07-08 22:44:52 +01:00
Kevin Ansfield
c646e78fff Made session.user a synchronous property rather than a promise
no issue

Having `session.user` return a promise made dealing with it in components difficult because you always had to remember it returned a promise rather than a model and had to handle the async behaviour. It also meant that you couldn't use any current user properties directly inside getters which made refactors to Glimmer/Octane idioms harder to reason about.

`session.user` was a cached computed property so it really made no sense for it to be a promise - it was loaded on first access and then always returned instantly but with a fulfilled promise rather than the  underlying model.

Refactoring to a synchronous property that is loaded as part of the authentication flows (we load the current user to check that we're logged in - we may as well make use of that!) means one less thing to be aware of/remember and provides a nicer migration process to Glimmer components. As part of the refactor, the auth flows and pre-load of required data across other services was also simplified to make it easier to find and follow.

- refactored app setup and `session.user`
  - added `session.populateUser()` that fetches a user model from the current user endpoint and sets it on `session.user`
  - removed knowledge of app setup from the `cookie` authenticator and moved it into = `session.postAuthPreparation()`, this means we have the same post-authentication setup no matter which authenticator is used so we have more consistent behaviour in tests which don't use the `cookie` authenticator
  - switched `session` service to native class syntax to get the expected `super()` behaviour
  - updated `handleAuthentication()` so it populate's `session.user` and performs post-auth setup before transitioning (handles sign-in after app load)
  - updated `application` route to remove duplicated knowledge of app preload behaviour that now lives in `session.postAuthPreparation()` (handles already-authed app load)
  - removed out-of-date attempt at pre-loading data from setup controller as that's now handled automatically via `session.handleAuthentication`
- updated app code to not treat `session.user` as a promise
  - predominant usage was router `beforeModel` hooks that transitioned users without valid permissions, this sets us up for an easier removal of the `current-user-settings` mixin in the future
2021-07-08 14:54:31 +01:00
Peter Zimon
873472ab63 Fixed theme uploader UI bug
- added max height to theme uploader modal container to avoid long list of errors leaning out of screen
- added shadow on top of footer to indicate long list of errors
2021-07-08 15:05:30 +02:00