Commit Graph

5629 Commits

Author SHA1 Message Date
renovate[bot] c83d6c1f7a
Update dependency ember-concurrency to v1.2.0 (#1609)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 08:57:25 +01:00
Daniel Lockyer 202a284760 Added Slack build notifications
no issue
2020-06-16 22:06:11 +01:00
Daniel Lockyer 84287b75f9 Fixed error message in tests
no issue
2020-06-16 22:06:11 +01:00
Peter Zimon ba00aa6e05 Updated members import validation warning design
no issues.
- changed warning style when import can still happen
- combines all warnings to a single section
- hides details for warnings behind an expandable list so that
- updated copy
2020-06-16 19:08:37 +02:00
renovate[bot] d2eded6602
Update dependency ember-cli-string-helpers to v5 (#1608)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-16 13:31:51 +01:00
Kevin Ansfield 8b81b4d967 Lock file maintenance 2020-06-16 13:22:45 +01:00
renovate[bot] 17b33c213d
Update dependency ember-cli-babel to v7.21.0 (#1607)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-16 13:05:33 +01:00
renovate[bot] 000d59ca89
Update dependency ember-composable-helpers to v4.2.1 (#1602)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-16 13:05:18 +01:00
Daniel Lockyer 243321fd2d v3.20.0 2020-06-16 11:55:57 +01:00
Nazar Gargol c666cbbed8 Renamed members import/export endpoints to match API changes
refs 5f00619d1a
2020-06-16 18:13:06 +12:00
Renovate Bot c114c1c2c3
Update dependency ember-cli-string-helpers to v4.0.7 2020-06-15 17:45:11 +00:00
Kevin Ansfield e8336b847d Fixed stripe connect persistent button and "unsaved changes" warnings
no issue

- hook template up directly to the `settings.stripeConnectIntegrationToken` value
- reset `settings.stripeConnectIntegrationToken` when leaving the labs route
  - without the reset, after a failed save other settings screens will show the "unsaved changes" warning
2020-06-15 17:43:02 +01:00
Peter Zimon 99788c25d1 Made save Stripe settings button dynamic
no issues.
- shows/hides the "Save Stripe settings" button depending on the token value. This allows better focus and less distraction UX
2020-06-15 17:57:46 +02:00
Renovate Bot 75463b135e
Update dependency @tryghost/kg-parser-plugins to v1.0.3 2020-06-15 12:20:54 +00:00
Kevin Ansfield 388053dfd4 Updated image card to store original width/height in payload
no issue

- extract width/height from selected local image when uploading and store in the payload with `src` once upload finishes
- capture width/height from Unsplash and store in the payload after selecting an image
2020-06-15 13:16:37 +01:00
Nazar Gargol d13a38c1e3 Hidden member import validation messages bahind the experiments flag
refs e9cae26ed4

- The feature still needs polishing UI side and will move out of `enableDeveloperExperiments` flag once that's ready
2020-06-15 22:42:56 +12:00
Renovate Bot b7fffecaed
Update dependency @tryghost/kg-clean-basic-html to v1.0.3 2020-06-15 08:23:14 +00:00
Hannah Wolfe a4a892a93e Adding INR currency support
- We have many customers asking for INR as there are special rules in Stripe for this currency
- As well as a desire for local-selling
- Meaning it's not valid to use e.g. USD instead
2020-06-12 15:17:22 +01:00
Nazar Gargol ef59dbf74d Added imported member count to the "Import" button
no issue

- When importing members from CSV file this change shows total amount of members that will attempt to be imported
2020-06-13 00:51:19 +12:00
Kevin Ansfield d94f4a436a 🐛 Fixed file inputs not allowing same file to be re-uploaded in Firefox
closes https://github.com/TryGhost/Ghost/issues/11707

- Firefox is different to every other browser and doesn't allow file input values to be reset by doing `input.value = null`
- outcome of reset not working is that Firefox won't trigger the change event when the same file is re-selected
- fixed by cloning the input element and replacing it
2020-06-12 13:45:28 +01:00
Nazar Gargol 1cae4f5184 Added Stripe customer id duplication detection for member import
no issue

- Added client side detection rule for Stripe's customer ids. Based on the check performed on the server side - cb26fd9305/core/server/api/canary/members.js (L43-L60)
- Also expanded check to a whole set of data as that should not be too slow of a check (did the same for emails). Kept the rest consistent to the data that is sent to the server for the check.
2020-06-13 00:23:58 +12:00
Nazar Gargol e101f6f139 Updated members import validation endpoint name
refs cb26fd9305

- Rename in line with the changes in referenced commit
2020-06-12 23:36:06 +12:00
Kevin Ansfield 67d195179f
Added all/free/paid filter to members admin screen (#1600)
requires https://github.com/TryGhost/Ghost/pull/11892

- adds `?paid` query parameter to members route that is tied to the `?paid` query param in the API request
- added all/free/paid members dropdown to members filter component
2020-06-12 12:12:27 +01:00
Fabien O'Carroll 2b87988f96 Updated isStripeEnabled to use stripeConnectIntegration
no-issue

This is now the central place for checking if stripe is configured for
members and we want to make sure that the Stripe Connect correctly
affects this value
2020-06-12 10:27:39 +02:00
Nazar Gargol e443368d0d Updated import results response handling with new error format
refs 7904c303a7

- Adds failed import records details to post members import screen
2020-06-12 20:01:46 +12:00
Nazar Gargol aac8f8f4a2 Fixed isStripeEnabled usage in import validator tests
refs 222d95233b

- Reason for the fix same as in the referenced commit
2020-06-12 18:28:15 +12:00
Nazar Gargol 222d95233b Fixed isStripeEnabled call in member validator
no issue

- Method has been changed into a getter, code was missed to adjust
2020-06-12 17:44:58 +12:00
Nazar Gargol e9cae26ed4 Added improved validations for 2nd step of members import
no issue

- Adds validations for imported CSV data
- These checks include obvious validation checks for data - like if email addresses are valid, checking if Stripe configured when entries with stripe_customer_id are present and additional server-side validation for entries with stripe_customer_id to check if they appear in connected Stripe account
- The validation set is calculated by naive choosing of first 5, middle 5 and 5 tail records from imported set. This logic comes from observations that errors usually apear withing "test" records in the beggining or the end of the file. These selection rules might change in the future if we find a need for it.
- Adds papaparse CSV parser, which was chosen for it's maturity and relatively small minified size. In the future this library should be lazy-loaded to make the first page load UX nicer
2020-06-12 17:22:36 +12:00
Daniel Lockyer cc79dc4711 v3.19.2 2020-06-11 19:55:43 +01:00
Peter Zimon ac27a4f2eb Added success state for Stripe Connect
no issue
- adds success message when Stripe Connect is successfully set up
- automatically closes the setting section on success
2020-06-11 17:14:20 +02:00
Daniel Lockyer 19f16f5a0d v3.19.1 2020-06-11 15:43:03 +01:00
Renovate Bot 2ddfaf4baf Update dependency @tryghost/kg-clean-basic-html to v1.0.2 2020-06-11 15:24:06 +01:00
Renovate Bot 3ce589cc22 Update dependency @tryghost/kg-parser-plugins to v1.0.2 2020-06-11 14:10:09 +00:00
Peter Zimon 042fb1e501 Added "Test mode" label UI to Stripe Connect
no issues.
- added label to indicate if the connected Stripe account is in test mode
2020-06-11 15:36:22 +02:00
Peter Zimon 41bf50e777
Stripe connect design (#1603)
no issues

Updated and refined Stripe Connect design in Labs/Members settings:
- refined visuals and UI logic
- updated copy
- added switch for test mode
- added error handling
2020-06-11 15:15:44 +02:00
Nazar Gargol d57154aaab Fixed linting error for using this.get() in octane syntax
no issue

- Switched to getter as this.get() is not available in native classes
2020-06-12 00:46:04 +12:00
Nazar Gargol d52a1cf2bb Removed stray debugger statement 2020-06-11 21:09:56 +12:00
Nazar Gargol 4c138268ff Refactored stripe configuration checks into separate service
no issue

- This logic is planned to be reused in more places, e.g. members import data validation. This change is meant to be a prep work for that.
- With stripe connect functionality coming it is important to have a central place checking for configured Stripe
2020-06-11 21:05:40 +12:00
Kevin Ansfield 443364c619 Fixed missing rename of <GhMembersFilter> in members.hbs 2020-06-09 23:22:43 +01:00
Kevin Ansfield 4a758c7a5f Renamed <GhMembersContentFilter> to <GhMembersFilter> (fixed)
refs c5d718dee9

- adds the template rename that was missed in previous commit
2020-06-09 22:58:12 +01:00
Kevin Ansfield c5d718dee9 Renamed <GhMembersContentFilter> to <GhMembersFilter>
no issue

- "Content" referred to content as in posts/pages so the naming didn't make sense in the members filter component
2020-06-09 22:54:07 +01:00
Kevin Ansfield 24bf414cc3 Added access level filter to posts and pages lists in admin
no issue

- adds `visibility` query param to posts and pages controllers/routes that is tied to the `filter` query param used in API requests
- adds dropdown for selecting post/page visibility to `<GhContentFilter>`
2020-06-09 12:19:40 +01:00
Daniel Lockyer 5342800d10 v3.19.0 2020-06-09 10:27:45 +01:00
Kevin Ansfield 49700d9b64 Fixed delete-tag modal showing unexpectedly
no issue

- there was a race condition when deleting tags...
    - the delete tag modal's `close` action toggles the `showDeleteTagModal` property to `false`
    - the `deleteTag` action triggered when clicking the delete button was transitioning to the tags screen
    - if the transition occurs before the close action is triggered, the modal component is destroyed and it's close action is never triggered leaving the `showDeleteTagModal` property on the controller set to `true`
    - the next time the tag screen is accessed the delete tag modal is displayed because the `showDeleteTagModal` property is `true`
- adds an explicit reset of `showDeleteTagModal` after a tag is successfully destroyed
- makes open/close of the delete tag modal explicit actions so there's no ambiguity when toggling
2020-06-09 10:15:28 +01:00
Nazar Gargol c1866ed3ec Fixes labels duplicating themselves across lalbe inputs when unsaved
no issue

- Unsaved labels were still persisted in the store. This was causing unsaved labels reappearing on different instances and caused broken states
2020-06-09 20:31:09 +12:00
Kevin Ansfield d8ddf4ee2e 🐛 Fixed `searchParam` query param errors when deleting member labels
no issue

- error was "You passed the `searchParam` query parameter during a transition into members, please update to search"
- this was caused by the `reset-query-params` helper specifying `searchParam` as the query parameter which is the controller property name, not the query param name
2020-06-09 08:48:57 +01:00
Rish 2ae388504b Fixed incorrect "from" address save
refs https://github.com/TryGhost/Ghost/issues/11414

- From address input value was refactored but update was still using the old value
2020-06-09 11:52:09 +05:30
Rish c16381bb42 Added site domain for default from address
refs https://github.com/TryGhost/Ghost/issues/11414

- Appends blog domain as default for from address members setting
- Disabled update button when current from address is same as in field
2020-06-09 11:14:53 +05:30
Renovate Bot 9c9814d0f7
Update dependency ember-composable-helpers to v4.1.3 2020-06-08 22:37:49 +00:00
Rishabh Garg 1e7c80a1da
Allowed domain change for members "from" address (#1597)
refs TryGhost/Ghost#11414

- Restructures member settings in labs, from address gets its own section
- Removes explicit site domain for fromAddress as we allow updating the full address
- Adds new CTA to trigger magic link for updating members from address
- Adds new confirmation modal for email sent to new from address
- Adds notification banner for from address update redirect link
2020-06-09 01:52:58 +05:30