Commit Graph

2450 Commits

Author SHA1 Message Date
Luis Ramos
592474189d Fix order route in paypal controller 2021-01-25 19:52:48 +00:00
Luis Ramos
f25e06ddb6 Fix order path route in payments controller 2021-01-25 19:52:48 +00:00
Luis Ramos
6e7ee02191 Change spree.order_path to spree_order_path everywhere 2021-01-25 19:52:48 +00:00
Andy Brett
84689c43be Merge pull request #6534 from andrewpbrett/sca-emails
Send email when SCA authorization is required for admin payment
2021-01-21 13:53:35 -08:00
Andy Brett
d2b2e46124 Merge pull request #6701 from Matt-Yorkley/admin-order-performance
Fix performance issue in loading payment methods
2021-01-21 10:58:35 -08:00
Andy Brett
ce4621858d base authorization on the payment's order 2021-01-21 09:18:29 -08:00
Andy Brett
8bcaeff6c8 resolve merge conflict; add ssl helper to base controller 2021-01-21 09:18:29 -08:00
Andy Brett
903b2e7ff4 whitelist allowed events to be sent to a Payment 2021-01-21 09:18:29 -08:00
Andy Brett
affc82b2b5 update payment jobs delivery methods 2021-01-21 09:18:29 -08:00
Andy Brett
d9b27bc556 move controller and mailer outside of spree namespace; use haml in template 2021-01-21 09:18:29 -08:00
Andy Brett
b669ccdc74 refactor admin payments controller 2021-01-21 09:17:07 -08:00
Andy Brett
8507dacc10 pass return_url option to gateway authorize 2021-01-21 08:48:33 -08:00
Andy Brett
802e49bed3 add PaymentMailer and send email if payment auth is required 2021-01-21 08:24:01 -08:00
Andy Brett
e31d566f7f Merge pull request #6283 from luisramos0/sets
Move sets out of app/models to app/services/sets
2021-01-20 19:22:15 -08:00
Matt-Yorkley
a184075c5c Fix performance issue in loading payment methods
This was loading and initializing every payment method in the database, and every calculator for each of those payment methods.

🔥
2021-01-19 15:33:44 +00:00
Luis Ramos
fc40775ca8 Make paypal controller inherit from base controller and not from old store controller 2021-01-18 23:33:05 +00:00
Luis Ramos
4060e7debf Replace usages of Spree::BaseController with ApplicationController 2021-01-15 21:59:16 +00:00
Luis Ramos
7a22367b4a Make controllers use ::Basecontroller instead of StoreController 2021-01-15 21:59:16 +00:00
Luis Ramos
23e6048bde Merge StoreController with BaseController 2021-01-15 21:59:16 +00:00
Luis Ramos
ff8a81cee7 Remove includes already present in parent ApplicationController 2021-01-15 21:59:16 +00:00
Luis Ramos
0eab1b2339 Merge Spree::BaseController with ApplicationController 2021-01-15 21:59:16 +00:00
Pau Pérez Fabregat
929ae82e00 Merge pull request #6574 from Matt-Yorkley/bye-bye-spree-paypal
Bye Bye Spree Paypal
2021-01-14 18:16:44 +01:00
Luis Ramos
fd0bba19a7 Adapt enterprises code and specs to new namespace Sets::EnterpriseSet 2021-01-14 09:41:07 +00:00
Luis Ramos
ed0441dc41 Fix a few more rubocop issues 2021-01-14 09:41:07 +00:00
Luis Ramos
5d6d7f7ad0 Adapt enterprise fees code and specs to new namespace of Sets::EnterpriseFeeSet 2021-01-14 09:41:07 +00:00
Luis Ramos
96a351ad0e Adapt usage of Sets to their new location 2021-01-14 09:41:07 +00:00
Pau Pérez Fabregat
9db4f9be15 Merge pull request #6634 from Matt-Yorkley/jobs-cleanup
Jobs cleanup
2021-01-14 10:08:15 +01:00
Pau Perez
398467e7ed Hide new balance impl. under feature toggle
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.

It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
2e9bae0ea5 Move relation includes out of query object
This query object is meant to be reusable but those includes are
context-specific and will likely not be needed when reusing the query
elsewhere. If we keep them there, chances are next dev might not notice
it and will introduce a performance regression.
2021-01-11 15:50:19 +01:00
Pau Perez
96a91969c9 Extract balance-specific serializer
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Pau Perez
e404225de0 Extract query object 2021-01-11 15:50:19 +01:00
Pau Perez
d62ab06504 Refactor DB query to aggregate customer balance
It's simpler and many orders of magnitude more efficient to ask the DB
to aggregate the customer balance based on their orders. It removes
a nasty N+1.

The resulting SQL query is:

```sql
SELECT customers.*, SUM(spree_orders.total - spree_orders.payment_total) AS balance
FROM "customers"
INNER JOIN "spree_orders"
    ON "spree_orders"."customer_id" = "customers"."id"
WHERE "customers"."enterprise_id" = 1
    AND (completed_at IS NOT NULL)
    AND (state != 'canceled')
GROUP BY customers.id
ORDER BY email;
```
2021-01-11 15:50:19 +01:00
Matt-Yorkley
e5be249f2c Update comment on #expire_current_order 2021-01-09 13:26:30 +00:00
Matt-Yorkley
8439b68b36 Update code comment and link 2021-01-09 13:26:30 +00:00
Matt-Yorkley
bf47db1792 Fix missing route in Spree::OrdersController
I'm not sure why this spec started failing. Fixes:

```
Spree::OrdersController viewing cart when an item is in the cart the page provides the right registration path
     Failure/Error: expect(subject.registration_path).to eq registration_path

     ActionController::UrlGenerationError:
       No route matches {:action=>"index", :controller=>"registration"}
     # ./spec/controllers/spree/orders_controller_spec.rb:140:in `block (5 levels) in <top (required)>'
```
2021-01-09 13:26:30 +00:00
Matt-Yorkley
618738db69 Fix more Rubocop offences 2021-01-09 13:22:25 +00:00
Matt-Yorkley
2dce66f079 Fix some simple Rubocop offences 2021-01-09 13:22:25 +00:00
Matt-Yorkley
4ca3e29458 Apply changes from and remove Spree::PaypalController decorator 2021-01-09 13:22:25 +00:00
Matt-Yorkley
94549e98ba Bring in Spree::PaypalController 2021-01-09 13:22:09 +00:00
Matt-Yorkley
597eed5285 Bring in Spree::Admin::PaypalPaymentsController 2021-01-09 13:22:09 +00:00
Matt-Yorkley
42468e2ef3 Apply Spree::Admin::PaymentsController decorator 2021-01-09 13:22:09 +00:00
Matt-Yorkley
dd5a197fb3 Remove ManagerInvitationJob 2021-01-09 11:56:27 +00:00
Andy Brett
3877721209 Merge pull request #6631 from Matt-Yorkley/actionmailer-deliver
[Deprecation] Replace ActionMailer#deliver with ActionMailer#deliver_now
2021-01-08 17:42:31 -08:00
Andy Brett
d6656804eb Merge pull request #6557 from luisramos0/rubocop
Rubocop exceptions update
2021-01-08 17:36:23 -08:00
Matt-Yorkley
496f2dab69 Ensure Jobs are instantiated correctly
We should not be using `Delayed::Job.enqueue` anywhere...
2021-01-08 23:18:55 +00:00
Matt-Yorkley
ff962c1c9b Change various Mailer invocations from #deliver_now to #deliver_later 2021-01-08 23:18:55 +00:00
Luis Ramos
2e4a206825 Add new offenses to exceptions file 2021-01-08 22:43:15 +00:00
Luis Ramos
0b45533237 Update rubocop todo list 2021-01-08 22:43:15 +00:00
Matt-Yorkley
3e6445c51c Replace deprecated ActionMailer#deliver with ActionMailer#deliver_now
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job.
2021-01-08 20:35:47 +00:00
Matt-Yorkley
3b1ad29d20 Fix view rendering in Api::BaseController 2021-01-08 17:47:09 +00:00