Commit Graph

5079 Commits

Author SHA1 Message Date
Kevin Ansfield
56ce6aa824 Tidied up <GhMemberSettingsForm>
no issue

- removed unused `isViewingSubview` property
- replaced `hasMultipleSubscriptions` CP with the `gt` CP macro
- fixed indentation in the template
2019-12-12 18:22:31 +00:00
Kevin Ansfield
5585a781b9 Unified tag and member screen code
no issue

The tag and member screens share the same underlying UI/UX patterns but were using different code patterns. This brings both in line so that we have consistent code patterns that can be re-used for other screens.

- fixed cleanup of new tags by adding the `deactivate` hook to the `tag` route
- updated `member` and `member.new` route/controller setup to match tag route/controller setup
  - added `save` action to member controller so that Ctrl/Cmd+S works on member screen
  - updated tag route/controller to utilise the same instant display w/background refresh when accessing the tag details screen
- completed transition of non-component tag/members templates over to angle bracket component syntax
2019-12-12 13:59:46 +00:00
Naz Gargol
51ded01ed3 Added members cancel subscription fields on members page (#1423)
refs https://github.com/TryGhost/Members/pull/107

- Added 'cancel at period end' logic to members subscription details
- Added stripe subscription link in subscriptions details
2019-12-12 20:00:57 +07:00
Kevin Ansfield
c53e4f9cd7 Fixed tag deletion
no issue

- don't show "Delete tag" button when we're displaying a new/unsaved tag
- refactor the `_deleteTag()` method to be more explicit and remove handling that is no longer required since the tag screen is not nested in the tags screen
- revised the condition in `showUnsavedChangesModal()` method so that it's body doesn't fire twice when leaving the `tag` or `tag.new` route
- revised the `showUnsavedChangesModal()` method body to look at the number of changed properties on the tag rather than relying on `tag.hasChangedAttributes` which is always `true` for new models
2019-12-10 12:18:20 +00:00
Kevin Ansfield
4496ea41c4 Fixed linting 2019-12-09 17:45:51 +00:00
Kevin Ansfield
5c0cfca479 Cleaned up and re-organised tag and new tag routes/controllers
no issue

- removed unused `<GhTagsManagementContainer>` component and related `isMobile` CPs
- un-nested `tag` and `tag.new` routes
  - nested routes in Ember are used for nested UI but these are both separate screens
  - removes usage of `selectedTag` property in favour of using Ember's built-in model handling
  - removed unnecessary `tags/new` controller
  - sets up `tag.new` route which extends the `tag` route to avoid duplicate code
2019-12-09 17:44:16 +00:00
Renovate Bot
ccaece5e8d Update ember testing 2019-12-04 22:21:20 +00:00
Renovate Bot
eca532639b Update ember addons 2019-12-04 20:54:43 +00:00
Nazar Gargol
a524faf56c Version bump to 3.1.1 2019-12-04 20:39:08 +07:00
Peter Zimon
d0a0e70caf 🎨 Refined new member avatar style
no issue.
- removed outline from manually created member avatar on member detail screen
2019-12-04 11:42:58 +01:00
Hannah Wolfe
00ce91ce3a Added Secondary Navigation (#1410)
refs: https://github.com/TryGhost/Ghost/pull/11409

- Added a new UI for a second set of navigation links
- This should support most concepts of nav, e.g. left and right, or header and footer
- This PR mostly updates the design and nav components to cope with a second set of nav
2019-12-04 11:14:45 +07:00
Peter Zimon
a50cc62617 Added white border to member gravatar on member list 2019-12-03 15:40:46 +01:00
Peter Zimon
1f2e41e5e8 Refined member gravatar design
no issue.
- removed halo from member gravatars
2019-12-03 15:32:01 +01:00
Peter Zimon
97940742cf 🎨 Scaled email mobile preview
no issue.

- scaled email mobile preview to resemble mobile proportions better
2019-12-03 15:04:32 +01:00
Renovate Bot
a93fc6fd88 Update Test & linting packages 2019-12-03 12:24:26 +00:00
Naz Gargol
1df0e2b917 🎨 Added gravatars for member avatars (#1417)
no issue

- When an email has a valid gravatar handle it displays an image instead of initials for the member
- Introduces new {{gravatar}} helper which accepts an email as parameter and size/d as named parameters. The output is a URL to gravatar image
- Refactored usage of "splattribute" to explicit property. There was a need to duplicate class property usage in the component and doing that through splatttibute feature is unsafe as pointed ou here - https://github.com/TryGhost/Ghost-Admin/pull/1417#discussion_r351837584
2019-12-03 18:10:47 +07:00
Peter Zimon
6d2bc8fccc 🐛 Fixed email preview header position
no issue.
- fixed email preview header being off in Firefox and Safari
2019-12-03 11:23:51 +01:00
Peter Zimon
137f8eae7c Refined mobile email preview
no refs.
Issue was that the ratio of email mobile preview UI was completely off on higher screen resolutions.

- set the email mobile preview UI to fixed size
2019-12-03 11:18:02 +01:00
Nazar Gargol
02fe1591e5 Fixed members acceptance test
- The `await wait()` worked in combination with correct assertions
2019-12-03 16:05:56 +07:00
Naz Gargol
4bd4825902 Improved adding first members on no-members screen (#1416)
no issue

- There was a need to make the experience of adding a first member(s) as frictionless as possible, which lead to adding some actionable controls to the "no-members" screen.
- Adds the ability to make yourself a member
- Adds the ability to import CSV member
- Link to add a member manually
2019-12-03 12:04:04 +07:00
Nazar Gargol
a4ad1f6576 Fixed flaky new member test
no issue

- The test is failing only when run purely from the console if run from the browser window it alway succeeds
- Commented out intended condition and left the tricky one out for future review
2019-12-03 11:24:16 +07:00
Naz Gargol
c41c184762 Added member "add" screen (#1411)
no issue

- We have a need to create a member manually, this changeset solves this problem.
- Added new member button to the member's screen
- Needed to be able to perform add member action
- Fixed inconsistent `createAt` naming. All models use consistent `createdAtUTC`, fixed it up so that members model follows the same pattern. If we want to change this pattern should probably happen for all models at once
- Fixed member avatar when creating a new member. If the values are completely empty the screen ends up being filled with empty space. Added some dummy initials which are recalculated once the member enters the name or an email
- Refactored DS naming for consistency. Nowhere else in the codebase 'DS' name is ever used, made this consistent
- Added missing validations in members form
- Simplified if conditions in the member list template. When using the if/esle statements unnecessary new-line symbols were inserted which made it hard to test. Also by using computed property view is much cleaner
- Updated member's model default value for `subscribed` to "true". It is turned on by default in the model layer  on the backend (ref: https://github.com/TryGhost/Ghost/blob/3.1.0/core/server/data/schema/schema.js#L330), this behavior is intended and should be the same on the frontend
2019-11-28 18:30:21 +07:00
Kevin Ansfield
c376fc016a Version bump to 3.1.0 2019-11-27 14:11:19 +00:00
Peter Zimon
8d45e95ee4 Updated post paragraph spacing 2019-11-27 13:36:12 +00:00
Peter Zimon
02387ab50a Refined editor post title styles
no issue.
- fixed editor post title placeholder font-weight
- fixed spacing between editor post title and first paragraph/card
2019-11-27 13:36:12 +00:00
Kevin Ansfield
1837adf336 Lock file maintenance 2019-11-27 12:18:08 +00:00
Kevin Ansfield
47b441c41d Merge branch 'mega' 2019-11-27 12:15:09 +00:00
Rish
55cd5bbb32 Fixed lint 2019-11-27 13:21:16 +05:30
Kevin Ansfield
6aecfbfcce Fixed members count in confirm email modal
no issue

- the members count used to disable the email toggle and shown in the confirm modal was incorrect as it didn't take into account subscribed vs non-subscribed members
- adjusts the filter in the count query to only fetch subscribed members
2019-11-26 15:08:33 +00:00
Peter Zimon
5674323d2a Removed link to settings for admins in email error copy 2019-11-26 13:38:43 +01:00
Peter Zimon
e866808193 Updated email role restrictions
no issue.
Only admins and owners should have access to sending emails. Updated relevant templates
to restrict access to emails for non-admins/owners
2019-11-26 13:20:49 +01:00
Peter Zimon
727a38d5d1 Updated email copy 2019-11-26 12:10:51 +01:00
Peter Zimon
b06484553f Updated PSM/Email wording 2019-11-25 17:44:50 +01:00
Peter Zimon
8350098e45 Updated post list design for scheduled posts 2019-11-25 17:44:18 +01:00
Peter Zimon
1d78b9a903 Updated email error design in PSM 2019-11-25 17:03:54 +01:00
Kevin Ansfield
a3c17c2757 Added failed state with retry button to PSM email pane
no issue

- follow similar retry-then-poll behaviour as the confirm email modal
2019-11-25 13:20:16 +00:00
Renovate Bot
feecca2a1a Update ember testing 2019-11-25 03:28:12 +00:00
Renovate Bot
6f5c933cea Update dependency ember-source to v3.12.1 2019-11-25 02:28:22 +00:00
Renovate Bot
4c19c86fd7 Update dependency autoprefixer to v9.7.2 2019-11-25 01:31:45 +00:00
Peter Zimon
8a757cef9a 🐛 Fixed tooltip width
no issue.
- fixed a CSS bug that cut the width of tooltips
2019-11-23 10:27:22 +01:00
Peter Zimon
82ffc5a967 Updated email failure modal with dynamic error 2019-11-22 17:17:29 +01:00
Peter Zimon
5bedffdc00 Removing error box in email failure modal 2019-11-22 16:37:39 +01:00
Peter Zimon
8bf287d81e Refined email status on post list 2019-11-22 16:25:11 +01:00
Kevin Ansfield
c1039f929c Added ability to retry failed emails from the confirm modal (#1412)
no issue

- adds a `.retry()` method to the email model+adapter
- adds a retry email task to the publishmenu that follows the same retry-then-poll behaviour as the regular email confirmation
- show a retry button in the confirm email modal if the original send failed
- increases max "immediate failure" poll timeout to 15sec (an 8sec retry-to-failure time has been seen locally)
2019-11-22 15:09:48 +00:00
Peter Zimon
8be0c78c8e Refined email error modal 2019-11-22 14:31:03 +01:00
Kevin Ansfield
ca8c75b034 Removed "and sent to x members" from publish toast notification
no issue

- the toast notification occurs before polling for a successful email occurs so it was confusing to have different states represented in the UI simultaneously
2019-11-22 11:00:47 +00:00
Peter Zimon
0fef1f61e0 Getting rid of super-thin font weights 2019-11-22 11:53:57 +01:00
Kevin Ansfield
535f50ad9f Show "email failed" state in posts list 2019-11-20 23:37:37 +00:00
Kevin Ansfield
30b23f2a7c Added polling when confirming email to show immediate error
no issue

- when confirming email send, after initial save in, poll every second for a maximum of 10 seconds and check the status of the email
  - if it's `'success'` close the modal immediately
  - if it's `'failure'` switch the confirm modal to an error state
  - if the save fails for some other reason (validation, server error) close the modal immediately and let the normal editor error handling do it's thing
- fixed confirm modal not appearing when retrying a save after a post validation failed
- show email status in post status area
    - `"and sending to x members"` when email is pending or submitting
    - `"and sent to x members"` once email is fully submitted
2019-11-20 23:27:09 +00:00
renovate[bot]
31b5b9319d Lock file maintenance (#1393) 2019-11-18 11:13:39 +00:00
Renovate Bot
50dcc82c62 Update dependency @tryghost/kg-clean-basic-html to v0.1.4 2019-11-18 11:13:38 +00:00
Renovate Bot
f5aa02592f Update dependency @tryghost/timezone-data to v0.2.16 2019-11-18 11:13:38 +00:00
Renovate Bot
ec7ecab0a4 Update dependency @tryghost/kg-parser-plugins to v0.8.1 2019-11-18 11:13:38 +00:00
Renovate Bot
9c31616c75 Update dependency @tryghost/helpers to v1.1.19 2019-11-18 11:13:38 +00:00
Nazar Gargol
871dcd9ddc Version bump to 3.0.3 2019-11-18 11:13:38 +00:00
Renovate Bot
cb3c17e438 Update dependency reframe.js to v2.2.6 2019-11-18 11:13:38 +00:00
Renovate Bot
105f92d9b2 Update dependency glob to v7.1.6 2019-11-18 11:13:38 +00:00
Peter Zimon
d6c016e770 🐛 Fixed code injection input sizes when they have long lines (#1394)
no issue
2019-11-18 11:13:38 +00:00
Renovate Bot
abc0c1147a Update dependency autoprefixer to v9.7.1 2019-11-18 11:13:38 +00:00
Renovate Bot
38ae6be5d6 Update dependency @tryghost/timezone-data to v0.2.15 2019-11-18 11:13:38 +00:00
Renovate Bot
a001608d25 Update dependency @tryghost/helpers to v1.1.18 2019-11-18 11:13:38 +00:00
Peter Zimon
e936e04300 Updated copy for Mailgun error 2019-11-18 10:55:05 +01:00
renovate[bot]
f9e3e797f1 Lock file maintenance (#1393) 2019-11-18 09:51:42 +00:00
Renovate Bot
db7c492993 Update dependency @tryghost/kg-clean-basic-html to v0.1.4 2019-11-18 04:24:36 +00:00
Renovate Bot
bf04821f43 Update dependency @tryghost/timezone-data to v0.2.16 2019-11-18 03:11:52 +00:00
Renovate Bot
a8ab98cfe4 Update dependency @tryghost/kg-parser-plugins to v0.8.1 2019-11-18 02:24:31 +00:00
Renovate Bot
4da3bceb04 Update dependency @tryghost/helpers to v1.1.19 2019-11-18 01:29:23 +00:00
Peter Zimon
5305e53121 Fix power select visual bug in PSM 2019-11-16 16:44:30 +01:00
Peter Zimon
3a8b6f897b Fixed subject for email preview 2019-11-16 13:07:51 +01:00
Peter Zimon
a8dadc1a3b Fixed word wrapping bug in Members labs settings 2019-11-15 16:11:26 +01:00
Peter Zimon
ee4a61b021 Refined mailgun settings in Labs 2019-11-15 14:38:59 +01:00
Rish
c274b5fc35 Updated send test mail error for mailgun
no issue
2019-11-15 18:55:40 +05:30
Kevin Ansfield
a95f8182f8 Swapped baseUrl input for region selection for bulk email settings
no issue

- Mailgun makes it really difficult to find your baseUrl from their UI if you've previously sent emails on a domain
- use a dropdown with flag and region name instead to better match what you can see in their UI
2019-11-15 13:10:45 +00:00
Rish
813b15d1c5 Fixed custom subject not saving on post
no issue
2019-11-15 12:35:49 +05:30
Rish
8fb9710f33 Allowed pointer-events on prerview modal 2019-11-15 11:37:04 +05:30
Kevin Ansfield
6fe159c8d9 Updated handling of send_email_when_published
refs 5fd2b7fed1

- sends `?send_email_when_published=true` query param when scheduling/publishing a post with the toggle turned on
  - adds support to the posts adapter for handling the `adapterOptions` option
  - updates the editor `save` task to pass through the required adapter option when a post is being published or scheduled with the toggle checked
- moves state for the email toggle into the publish menu so that we don't try to toggle the model attribute which should only be fetched from the API
- prevent `post.send_email_when_published` being sent to the API via the serializer as it's now a read-only attribute
2019-11-14 17:33:35 +00:00
Kevin Ansfield
f49268c5fa Hid email toggle on scheduled state of publish menu if email already sent 2019-11-14 17:20:53 +00:00
Peter Zimon
8dcf5f8428 Updated copy on email confirmation popup 2019-11-14 18:05:45 +01:00
Peter Zimon
f977d32146 Reorder mailgun settings in labs 2019-11-14 16:05:37 +01:00
Peter Zimon
d5a9465ca5 Design for minimal email stats 2019-11-14 14:30:49 +01:00
Peter Zimon
61f9f6e380 Updated post list 2019-11-14 13:53:43 +01:00
Rish
db899a90f0 Updated mailgun check to use isEnabled from settings
no issue
2019-11-13 22:38:16 +05:30
Rish
6a972d8b9e Wired admin bulk email settings UI to read/write setting
no issue
2019-11-13 22:38:16 +05:30
Rish
0e43505db1 Added new top-level bulk email settings
no issue
2019-11-13 22:38:16 +05:30
Kevin Ansfield
3d1962622b Added "View email" button to view already-sent email
no issue

- refactored `renderEmailPreview` into separate fetch and render functions
- grab email info from an existing email resource if it exists on the post rather than fetching a preview
- added "View email" button the the email-sent state of the newsletter settings PSM section
2019-11-13 16:38:32 +00:00
Kevin Ansfield
11dc0f553b Fixed tests 2019-11-13 16:10:29 +00:00
Peter Zimon
dc9ad61bc7 Updated scheduled publishmenu to display email setting 2019-11-13 15:36:54 +01:00
Peter Zimon
e56b10a728 Remove GhScheduledPostCountdown component 2019-11-13 15:33:57 +01:00
Peter Zimon
f5dd75e2e5 Updated post status in editor 2019-11-13 15:31:42 +01:00
Kevin Ansfield
7351a962b7 Fixed email subject field not being disabled if mailgun is not configured
no issue

- changed `disabled=deliveredAction` to `disabled=mailgunError` so that it's switching on the correct property
- removed all references to the unused `deliveredAction` property
2019-11-13 11:17:36 +00:00
Kevin Ansfield
74cbcad362 Use logged-in-user's email as the default test email address
no issue

- removed unnecessary scratch value handling for a non-model property
- use [`oneWay`](https://api.emberjs.com/ember/release/functions/@ember%2Fobject%2Fcomputed/oneWay) to bind the logged in user's email address to the `testEmailAddress` property on the component - this allows for the default value to always be the logged in users email but changing the property value only changes the value on the component, not upstream on the user model
- use default two-way binding of the `<Input>` helper to avoid unnecessary boilerplate
- removed unnecessary usage of the `truncate` helper for the placeholder
2019-11-13 10:52:09 +00:00
Kevin Ansfield
3daf46dcf8 Display "all paid members" instead of incorrect count in email confirm modal 2019-11-13 10:17:00 +00:00
Rish
17ef3efcef Fixed tests for copy changes 2019-11-13 11:45:58 +05:30
Nazar Gargol
fe54d9566c Version bump to 3.0.3 2019-11-11 18:55:36 +07:00
Kevin Ansfield
fd26864c28 Fixed linting 2019-11-11 10:42:37 +00:00
Kevin Ansfield
875e495728 Fixed email icon not showing for scheduled posts in posts list 2019-11-11 10:37:44 +00:00
Renovate Bot
a17c9a760b Update dependency reframe.js to v2.2.6 2019-11-11 02:20:16 +00:00
Renovate Bot
597f0acfcf Update dependency glob to v7.1.6 2019-11-11 01:20:32 +00:00
Peter Zimon
829702db84 Refined email icon on post list 2019-11-08 17:17:37 +07:00
Kevin Ansfield
682c5e4190 Display basic info in PSM once an email has been sent 2019-11-08 17:07:47 +07:00