Matt-Yorkley
c4a8a38c8d
Soft-delete enterprise fees
...
These objects can hold critical information related to adjustments and tax categories. If they are hard-deleted we lose vital data that's needed by associated records.
2021-01-19 16:46:14 +00:00
Pau Pérez Fabregat
8b01c9c8ba
Merge pull request #6279 from luisramos0/base_controller
...
Merge Spree::BaseController with ApplicationController and merge StoreController with ::BaseController
2021-01-19 15:52:47 +01: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
Maikel
334e270a11
Merge pull request #6552 from Matt-Yorkley/adjustments-order-association
...
[Adjustments] Associate all adjustments with an order
2021-01-19 08:43:13 +11: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
Matt-Yorkley
5593da2928
Delete dead code #update_hooks
...
These hooks allow Spree core to be modified by other gems and apps without changing Spree code. We don't use it. #YAGNI
2021-01-15 16:49:45 +00:00
Pau Pérez Fabregat
f240402c43
Merge pull request #6654 from Matt-Yorkley/update-without-callbacks
...
Remove #update_attributes_without_callbacks
2021-01-15 12:24:42 +01:00
Andy Brett
7ca81f45d0
Merge pull request #6641 from Matt-Yorkley/shipping-method-soft-deletion
...
Ensure ShippingMethod is correctly using soft-deletion
2021-01-14 11:53:19 -08:00
Andy Brett
18dcbbd892
Merge pull request #6613 from Matt-Yorkley/variant-override-serialization
...
Don't serialize all variant override objects where they are not needed
2021-01-14 10:59:11 -08:00
Andy Brett
81ea71af94
Merge pull request #6652 from jibees/6651-remove-trailing-asterisk-on-non-mandatory-field
...
remove asterisk on 'display as' field unit value for a product
2021-01-14 10:09:15 -08: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
Pau Pérez Fabregat
9689fe2edf
Merge pull request #6384 from andrewpbrett/fix-product-descriptions
...
correctly display '&' and ' ' in product descriptions
2021-01-14 17:00:16 +01: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
Maikel
168958311a
Merge pull request #6656 from Matt-Yorkley/payment-identifier
...
Fix payment identifier generation
2021-01-14 17:34:38 +11:00
Maikel
fbda1fffd7
Merge pull request #6653 from Matt-Yorkley/dead-code-available-payment
...
Dead code: #has_available_payment
2021-01-14 17:33:07 +11:00
Maikel
50472d18e0
Merge pull request #6642 from coopdevs/doc-customer-serializer
...
Doc customer serializer
2021-01-14 17:28:34 +11:00
Maikel
14842f52fc
Merge pull request #6633 from Matt-Yorkley/inverse-of
...
Adding inverse_of
2021-01-14 17:25:51 +11:00
Andy Brett
bbd7fd0350
handle nil product descriptions
2021-01-13 20:57:27 -08:00
Matt-Yorkley
5f2dc38241
Merge pull request #6098 from brymut/item-counter-fix
...
Fix #5989 Item counter accepts higher amount than available stock
2021-01-13 22:33:08 +01:00
Andy Brett
c29d57b54e
Merge pull request #6369 from Matt-Yorkley/broken-variants
...
Fix variant data inconsistencies
2021-01-13 11:10:44 -08:00
Pau Pérez Fabregat
6e48607760
Merge pull request #6629 from jibees/6199-alignment-readyfor-ipad
...
6199 adjust alignment on the Order Cycle component on ipad
2021-01-13 19:20:14 +01:00
Matt-Yorkley
18c9e16303
Fix payment identifier generation
...
Upstream fix from Spree 2.2.
See: 4e747187d7
2021-01-13 17:37:22 +00:00
Matt-Yorkley
561cf23dc1
Remove #update_attributes_without_callbacks
...
This is a hacky Spree method that's removed in Spree 2.2
See: 7deba6a152
2021-01-13 16:02:21 +00:00
Matt-Yorkley
8d338a06f3
Delete dead code #has_available_payment
...
This is removed in Spree 2.2, as it serves no purpose.
See: 0617bdce30
2021-01-13 15:48:02 +00:00
Pau Perez
acd4dddf1b
Doc how balance_value works
...
[skip ci]
2021-01-13 12:50:41 +01:00
Jean-Baptiste Bellet
dcbf02bc47
remove asterisk on 'display as' field unit value for a product
...
as it's not a mandatory field
2021-01-13 11:30:08 +01:00
Andy Brett
5723a79409
check for content.present?
2021-01-11 21:21:24 -08:00
Matt-Yorkley
ca4de40fa2
Associate all adjustments with an order
...
This change is introduced in the adjustments updates from Spree 2.2 and used heavily in new scopes and methods (not included here).
2021-01-11 17:35:35 +00:00
Matt-Yorkley
46ff247bc9
Ensure ShippingMethod#destroy is using soft-deletion
...
25f5c2daf8
We've already applied some of the changes in this commit during previous Spree upgrade work, but there were a couple of bits missing.
2021-01-11 15:46:38 +00:00
Pau Perez
dfed20d634
Consider awaiting_return, returned in balance
...
These states are reached when the order is complete and shipped. An
admin can create a new return authorization, which will set the order in
`awaiting_return` state. It's only after, when we call
`return_authorization#receive` that the return authorization moves to
`received` state and the order to `returned`.
You can do so from the UI by editing the return authorization and
clicking on Receive. However, we didn't find any order in such state in
UK, FR and AU. The UX is quite obfuscated. That must be why no users
clicked on it.
The `returned` state cannot count for the balance as is, since some of
the products are returned to the shop. That's enough for now.
2021-01-11 15:50:19 +01:00
Pau Perez
aa3fc71626
Consider resumed & payment orders in balance
...
These order states are already taken care of because they fall in the
`WHEN state IS NOT NULL` case.
2021-01-11 15:50:19 +01:00
Pau Perez
5018e88a34
Consider all states prior to checkout in balance
2021-01-11 15:50:19 +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
46d997406a
Filter out cart orders when fetching customers
...
We only care about non-cart orders and skipping carts, saves PostgreSQL
query planner to go through thousands of records in production use cases
(my food hub).
We go from
```sql
-> Index Scan using index_spree_orders_on_customer_id on spree_orders (cost=0.42..12049.45 rows=152002 width=15) (actual time=0.015..11.703 rows=13867 loops=1)
```
to
```sql
-> Index Scan using index_spree_orders_on_customer_id on spree_orders (cost=0.42..12429.46 rows=10802 width=15) (actual time=0.025..17.705 rows=9954 loops=1)
```
2021-01-11 15:50:19 +01:00
Pau Perez
93cdca85c6
Return 0 balance when the customer has no orders
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
d8872bc785
Explain why Arel can't be used in statement
2021-01-11 15:50:19 +01:00
Pau Perez
1e9a1f340e
Don't consider order total when it is canceled
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
Andy Brett
c8c576ce38
keep size attribute
2021-01-09 17:49:47 -08:00
Bryan Mutai
eef6396de3
Add max attribute to item counter input
2021-01-09 17:36:35 -08:00
Andy Brett
c12abf8057
Merge pull request #6617 from Matt-Yorkley/stock-items-variant-deletion
...
Stock items and variant deletion
2021-01-09 12:12:24 -08:00
Andy Brett
9cc0f74314
Merge pull request #6620 from mkllnk/6616-emphasize-qty-button-disabled
...
Emphasize disabled Add button when out of stock
2021-01-09 11:34:57 -08:00
Matt-Yorkley
e5be249f2c
Update comment on #expire_current_order
2021-01-09 13:26:30 +00:00