Commit Graph

14886 Commits

Author SHA1 Message Date
Matt-Yorkley
d58f5aa25d Move initialization to initialize() 2021-12-20 15:29:52 +00:00
Matt-Yorkley
33c156bb55 Extract (arrow) functions for callbacks used by event listeners and reduce variable assignments 2021-12-20 15:29:52 +00:00
Matt-Yorkley
24c051bad3 Simplify stripe selected check 2021-12-20 15:21:13 +00:00
Jean-Baptiste Bellet
ad24351bb3 Reorganize CSS to display error correctly
`.card-errors` is no more child of `.stripe-card`
2021-12-20 15:34:58 +01:00
Jean-Baptiste Bellet
2c5667ef56 Initialize stripe-cards controller when selecting a payment method 2021-12-20 15:34:58 +01:00
Jean-Baptiste Bellet
d4ec075dfc Disabled stripe-cards input if a already registred card is select
And then re-enabled it, if use decide to register a new card
2021-12-20 15:34:58 +01:00
Jean-Baptiste Bellet
7b6aa99de2 Handle when input is already checked
ie. user hasn't click on anything
2021-12-20 15:34:58 +01:00
Jean-Baptiste Bellet
6ef7256295 Only submit handle form submit if stripeElementsForm is visible 2021-12-20 15:34:58 +01:00
Maikel Linke
6d1e984af7 Enable testers to activate StripeConnect
This will make it easier to test the removal of StripeConnect.
2021-12-20 17:16:39 +11:00
Maikel Linke
470fc92825 Fix old, confusing typo 2021-12-20 17:13:40 +11:00
Maikel Linke
22de357724 Hide deprecated StripeConnect payment gateway
StripeConnect has been replaced by StripeSCA but some people still use
the old StripeConnect. Let's prevent people from creating deprecated
payment methods before migrating existing data.
2021-12-20 17:12:19 +11:00
Maikel Linke
6966dea0f5 Extract changing Stripe method selection logic
It will change and it's clearer in a separate method.
2021-12-20 17:09:57 +11:00
Maikel Linke
60adaf3646 Disallow StripeConnect in subscriptions 2021-12-20 15:00:14 +11:00
Matt-Yorkley
68af9b6e80 Only email the hub about authorization required when necessary
This is needed in subscriptions, but in the backoffice the hub manager gets a notification in the UI, so the email is not needed.
2021-12-17 19:03:23 +00:00
Cillian O'Ruanaidh
401cc19532 Fix Rubocop LineTooLong violation in spree/admin/variants_controller 2021-12-17 15:40:51 +00:00
Cillian O'Ruanaidh
84eaafb822 Add a :captured_at column on payments to store when they are captured
Fixes #8611.
2021-12-17 14:45:47 +00:00
Filipe
0cc7bdeafa Merge pull request #8521 from seballot/confirm-hub-change
Confirmation popup on shop change in admin section.
2021-12-17 10:56:37 +00:00
Filipe
cd70ce95a6 Merge pull request #8594 from seballot/products-index
Hide loading html components on product index
2021-12-17 09:36:54 +00:00
Filipe
e1bd2fc695 Merge pull request #8600 from seballot/shop-filters
Make the shop filter section always visible when scrolling
2021-12-17 09:31:51 +00:00
Filipe
e85101e5ff Merge pull request #8599 from seballot/select
Style all standard select as the text input in the backoffice
2021-12-17 09:25:43 +00:00
Matt-Yorkley
542e3ad1aa Reuse StripeScaPaymentAuthorize in Admin::PaymentsController 2021-12-16 20:42:19 +00:00
Matt-Yorkley
bbdbf387b7 Combine SendAuthorizationEmails and StripeScaPaymentAuthorize 2021-12-16 17:13:16 +00:00
Matt-Yorkley
fb2c0a253b Remove reference to params[:token] in Admin::Orders::CustomerDetailsController
params[:token] and session[:access_token] are only really used in the context of guest users in the customer-facing parts of the app. Here the user should be fully authenticated already to view the page. There aren't any URL that point at this controller which append a token to the params.
2021-12-16 14:02:50 +00:00
Matt-Yorkley
ec3dadfe68 Remove reference to params[:token] in PaymentsController
There seemingly shouldn't be any case where this controller actually receives a token param. There's only one place that creates urls that direct to this controller (Stripe authorization emails), and they do not attach any kind of token to the URL.

If the user is not logged in here (or doesn't have an access_token in their session), they get asked to log in.

Note to future devs: see previous commit for additional context.
2021-12-16 13:41:04 +00:00
Matt-Yorkley
9f49a84e7f Clarify use of access tokens used for viewing order details as a guest user
There are 4 or 5 different places in the app where we reference a :token and params[:token] for completely different purposes (they're not even vaguely the *same* token).

This is an attempt to clarify the places in the app where we use params[:token] in relation to *orders*, for allowing guest users (who are not logged in) to view details of an order they have placed (like after checkout completion), and differentiate it from the various other places where params[:token] can actually be used for something entirely different!
2021-12-16 13:35:55 +00:00
Matt-Yorkley
35e20fc179 Can sort orders via bill_address.lastname
We only need to check the orders sort

Fix ordering in api/v0/orders_controller_spec
2021-12-16 09:33:38 +01:00
Matt-Yorkley
45beefc533 Keep the order of passed argument
Do not retrieve the orders list sorted by completed_at but by the order_ids array itself

Add BulkInvoiceJob spec and cover sorting behaviour
2021-12-16 09:33:38 +01:00
Jean-Baptiste Bellet
7a48ffdd38 Add order.full_name as new column
+ add the linked sortable header via `bill_address_lastname`
2021-12-16 09:26:49 +01:00
Jean-Baptiste Bellet
9c280ee612 add new line 2021-12-16 09:26:49 +01:00
Matt-Yorkley
b77ff346a3 Replace #raise with #return in Checkout::StripeRedirect
The (potential) unhappy code path here was raising an error which would not be explicitly handled, and would in theory not return a useful message / response.
2021-12-15 21:20:58 +00:00
Matt-Yorkley
0fc4b851f2 Refactor payment gateway redirects handling
The checkout was holding a lot of responsibility for knowing which kinds of payment gateways are available and how to initiate the process of redirecting to the external payment page (if needed). This was being hidden somewhat by the way the logic was tucked away in services.

PaymentMethod objects now know whether or not they require an external payment process, and know how that process should be started and how to build the required URL.

So we can now *ask* any payment method if it requires external payment processing or not, and *tell* it to start the process and return the relevant URL (if needed).
2021-12-15 21:20:58 +00:00
Filipe
fd94f26765 Merge pull request #8557 from Matt-Yorkley/card-brand-formatting
Credit card brand formatting
2021-12-15 20:18:21 +00:00
Filipe
f6385215d3 Merge pull request #8568 from Matt-Yorkley/paypal-controller
Move paypal controller
2021-12-15 18:12:27 +00:00
Filipe
c4f4d67fc0 Merge pull request #8503 from jibees/split-checkout-payment-forms
Split checkout payment forms
2021-12-15 12:57:03 +00:00
Nihal M. Kelanthodika
44c3820a8f Update units when variant unit name is edited 2021-12-15 12:30:10 +05:30
Maikel Linke
bc50a01953 Ensure deterministic query to avoid deadlocks 2021-12-14 11:33:16 +11:00
Maikel Linke
9b6c9bd773 Synchronise processing of proxy orders 2021-12-14 11:33:16 +11:00
Maikel Linke
ce0913758b Bring initial proxy order processing closer
We want to make it one transaction soon.
2021-12-14 11:33:16 +11:00
Matt-Yorkley
3800eb0eef Merge pull request #8610 from Matt-Yorkley/user-class
Remove Spree.user_class
2021-12-13 15:52:00 +00:00
Matt-Yorkley
aecdfee364 Reorganise :though associations on line_item and allow searching/filtering on product, supplier, order_cycle 2021-12-12 13:23:56 +00:00
Matt-Yorkley
1efaa7e726 Switch search filters from orders to line_items 2021-12-12 13:23:56 +00:00
Filipe
f7087842b4 Merge pull request #8556 from sinansonmez/8546-include-navigation-only-for-super-admins
Navigation is included only for super admin users
2021-12-11 16:34:10 +00:00
Sebastian Castro
e20a8122b1 Make the shop filter section always visible when scrolling 2021-12-10 20:53:47 +01:00
Sebastian Castro
8fe125bd1b Adds thin-scroll-bar class 2021-12-10 20:53:47 +01:00
Matt-Yorkley
6d2521bf5f Remove Spree.user_class
This construct was previously used in Spree to switch out the user class with a dummy class during certain tests. We don't use this any more, so it's just mess.

🔥
2021-12-10 18:18:20 +00:00
Matt-Yorkley
f101b06226 Update all references to paypal routes 2021-12-10 11:46:53 +00:00
Matt-Yorkley
0d620aac94 Move paypal_controller out of spree namespace 2021-12-10 11:46:52 +00:00
Maikel Linke
207cc8908a Remove useless assignments
Rubocop highlighted this. The todo list actually contains these files
but somehow the cop still runs and reports these as violations.
2021-12-10 09:26:57 +11:00
Maikel Linke
64d25b2999 Remove dead code highlighted by Rubocop
The assignments here didn't actually do anything and `number` was
restricted to numbers only already. No whitespace to remove.
2021-12-10 09:26:57 +11:00
Jean-Baptiste Bellet
a80818d2b6 Fix rubocop warning
Extra empty line detected at module body end.
2021-12-09 11:30:57 +01:00