Pau Pérez Fabregat
2668747237
Merge pull request #6723 from luisramos0/spree_routes_2
...
Move spree orders routes out of the spree engine routes into the main app routes
2021-01-28 16:31:49 +01:00
Luis Ramos
12dac82b8a
Delete dead route
2021-01-27 22:08:06 +00:00
Luis Ramos
c604f4c0c6
Remove dead endpoint
2021-01-27 22:05:04 +00:00
Pau Pérez Fabregat
c3897dd3df
Merge pull request #6643 from coopdevs/customer-balance-frontoffice
...
Customer balance frontoffice
2021-01-27 19:55:56 +01:00
Luis Ramos
f3da7afd55
Replace spree_order_path with order_path so we can use scope in the routes file
2021-01-25 19:55:42 +00:00
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
Pau Perez
d9c065a311
Remove outdated comment
...
This comment was related to the feature we removed in
https://github.com/openfoodfoundation/openfoodnetwork/pull/3609 .
2021-01-20 18:23:22 +01:00
Pau Perez
783863056d
Extract query object out of UsersController
...
It improves the overall readability of the code and as a result, things
became easier to manage already.
2021-01-20 18:23:22 +01:00
Pau Perez
e8ef4acb2b
Hide new data fetching implementation under toggle
2021-01-20 18:23:22 +01:00
Pau Perez
20abaaa950
Reuse outstanding balance statement across queries
...
Instead of relying on Spree::Order#outstanding_balance we make us of the
result set `balance_value` computed column. So, we ask PostgreSQL to
compute it instead of Ruby and then serialize it from that computed
column. That's a bit faster to compute that way and let's reuse logic.
We hide this new implementation under this features' toggle so it's only
used when enabled. We want hit the old behaviour by default.
2021-01-20 18:23:22 +01:00
Pau Perez
681a009eb6
Extract outstanding balance SQL CASE/WHEN
2021-01-20 18:23:22 +01:00
Pau Perez
caf1c9ecd9
Move data fetching from injection helper to action
...
Data fetching is a controller action responsibility. We shouldn't couple
the controller with it too much but it should trigger it, not the
view-layer.
2021-01-20 18:23:22 +01: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