Commit Graph

5692 Commits

Author SHA1 Message Date
Kevin Ansfield
a539e93ea5 Fixed member's note field overflowing at smaller screen sizes 2020-06-18 11:39:53 +01:00
Kevin Ansfield
2d08670c9f Added exit of edit mode when changing members filters
no issue

- keeping selection does not make sense when a filter or search is changed
2020-06-18 11:23:15 +01:00
Kevin Ansfield
34c28dcc0e Added rough "edit mode" for members table behind dev flag
no issue

- initial UI for bulk-selection, focusing for now on first stage which is limited to select-all and delete actions
- adds "Edit" button to the members table that shows the "selection" toolbar in place of the table header and shows a checkbox next to each member
2020-06-18 11:08:53 +01:00
Peter Zimon
947b53a057 Fix members.css
no issues.
- adds newline at eof
2020-06-18 11:40:42 +02:00
Peter Zimon
7c540a9090 Refined members import data table design
no issues.
- refined style for members import preview table
2020-06-18 11:33:34 +02:00
Peter Zimon
2dfff367b9 Refined pre-validation of members import
no issues.
- removes email and Stripe duplicate customer ID check to focus validation that might affect the whole dataset
- applies visual style and refines copy
2020-06-18 10:30:15 +02:00
Nazar Gargol
131fd8fe2c Fixed failing test
refs ed98d89771
2020-06-18 18:11:15 +12:00
Nazar Gargol
ed98d89771 Added imported members csv data preview
no issue

- Adds a table representation of data present in a CSV file that is about to be imported. Allows to navigate through data to see how exactly the file would be parsed on server
2020-06-18 17:47:04 +12:00
Kevin Ansfield
da082fdbfb Gave members table a sticky header
no issue

- it's useful to be able to see the column headers anywhere in the list
- prep for having the table header toggle between normal and edit modes where having to scroll back up to the top of the page each time you want to toggle would be a poor experience
2020-06-17 17:37:32 +01:00
Daniel Lockyer
5378083cd0 v3.20.1 2020-06-17 17:13:05 +01:00
Kevin Ansfield
8950e46d49 Lock file maintenance 2020-06-17 13:29:14 +01:00
renovate[bot]
27aa339cde Update dependency ember-concurrency-decorators to v2 (#1610)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 10:30:45 +01:00
Kevin Ansfield
7331f8feed Fixed multiple no-shadow linting errors 2020-06-17 09:35:46 +01:00
renovate[bot]
643cc5f44c 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
19bf9cedfa Added Slack build notifications
no issue
2020-06-16 22:06:11 +01:00
Daniel Lockyer
282ce16d2c Fixed error message in tests
no issue
2020-06-16 22:06:11 +01:00
Peter Zimon
e235f20f3e 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]
2568089522 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
db1e18e59b Lock file maintenance 2020-06-16 13:22:45 +01:00
renovate[bot]
23d6cfd3d8 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]
51b8482abf 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
a4441d779a v3.20.0 2020-06-16 11:55:57 +01:00
Nazar Gargol
fca6d3300d Renamed members import/export endpoints to match API changes
refs 5f00619d1a
2020-06-16 18:13:06 +12:00
Renovate Bot
736ca84c20 Update dependency ember-cli-string-helpers to v4.0.7 2020-06-15 17:45:11 +00:00
Kevin Ansfield
839ebb0b59 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
c389015b08 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
99bcea0309 Update dependency @tryghost/kg-parser-plugins to v1.0.3 2020-06-15 12:20:54 +00:00
Kevin Ansfield
37de63e8cd 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
af648b8fb9 Hidden member import validation messages bahind the experiments flag
refs c3d141dd03

- 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
3350cd5f94 Update dependency @tryghost/kg-clean-basic-html to v1.0.3 2020-06-15 08:23:14 +00:00
Hannah Wolfe
ff84b41f91 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
095e29d83d 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
d14c432264 🐛 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
c2d57820b3 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
fbf4952d14 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
16f4b1c9af 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
fc74bed72a 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
e2db84d23b 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
060b0e759b Fixed isStripeEnabled usage in import validator tests
refs c63a0e6826

- Reason for the fix same as in the referenced commit
2020-06-12 18:28:15 +12:00
Nazar Gargol
c63a0e6826 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
c3d141dd03 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
7bf809449b v3.19.2 2020-06-11 19:55:43 +01:00
Peter Zimon
6a4db52205 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
2e11d235c0 v3.19.1 2020-06-11 15:43:03 +01:00
Renovate Bot
ef230e5a3e Update dependency @tryghost/kg-clean-basic-html to v1.0.2 2020-06-11 15:24:06 +01:00
Renovate Bot
fa03d9ebc0 Update dependency @tryghost/kg-parser-plugins to v1.0.2 2020-06-11 14:10:09 +00:00
Peter Zimon
cbc1c2a36e 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
f2bc57bbf5 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
67103be738 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
fa9fc64b53 Removed stray debugger statement 2020-06-11 21:09:56 +12:00