Nihal Mohammed
6bd28bcad8
Update products_renderer for pagy pagination
2021-07-14 13:17:33 +01:00
Matt-Yorkley
eba60a6130
Deal with Api::OrdersController and SearchOrders service
2021-07-14 13:17:33 +01:00
Nihal Mohammed
e5bdaa603a
Setup pagy
2021-07-14 13:17:33 +01:00
Andy Brett
46cd05c54a
Merge pull request #7712 from guidoDutra/1861-enable-shopfront-sorting-by-producer
...
Enable sorting by producer in shopfront
2021-07-06 09:27:42 -07:00
Andy Brett
a97b5b7c90
rename payment state machine events to be verbs
2021-06-29 11:54:51 -07:00
Andy Brett
9b1da14380
mark payment failed after failed authorization
2021-06-29 11:54:51 -07:00
Andy Brett
f61fbee52a
refactor to advance_to_state method
...
this leaves `advance_order!` as is since it's not directly touched by this PR and the metaprogramming looks like it would decrease readability
2021-06-29 11:54:51 -07:00
Andy Brett
aa8067f96b
process payments separately from completing the order
2021-06-29 11:54:48 -07:00
Andy Brett
d2701226b6
complete order immediately before adding payment
2021-06-29 11:45:33 -07:00
Pau Perez
1f3560e964
Pass in the order when it's already initialized
...
At `CapQuantity`'s instantiation time the proxy's order is not yet
initialized, and so `CapQuantity` was checking against nil all the time.
This went unnoticed because the job's specs were not integration-level
tests and were stubbing way too many things.
2021-06-23 13:47:42 +02:00
Pau Perez
827faef690
Fix call to #record_and_log_error
2021-06-21 10:30:12 +02:00
Pau Perez
b69aeae892
Rename PlaceOrder to PlaceProxyOrder
...
As discussed in
https://github.com/openfoodfoundation/openfoodnetwork/pull/7281#discussion_r650183813 .
2021-06-21 10:30:12 +02:00
Pau Perez
f92ca964db
Improve service name
...
As discussed in
https://github.com/openfoodfoundation/openfoodnetwork/pull/7281#discussion_r650069982 .
2021-06-21 10:30:12 +02:00
Pau Perez
8bcb19f293
Split method into higher-level smaller methods
2021-06-21 09:49:07 +02:00
Pau Perez
f61cdb6608
Extract CapQuantityAndStoreChanges service
...
This is a responsiblity of its own that makes the job's tests really
complex.
2021-06-21 09:49:07 +02:00
Pau Perez
f785851236
Use time with zone
2021-06-21 09:47:49 +02:00
Pau Perez
fcb013eb2a
Extract subs placement job logic into new service
...
While doing that we pass stock changes to the service but we
lazy-evaluate them. This way we don't fetch all this data from DB when
it might not be used due to an early return.
Also, this makes it possible to save the stock-related logic for later.
Finally, when changing things to rely on `#initialize_order`'s boolean
return value I noticed though, that we were evaluating
`proxy_order.order` too early. When instantiating the service object it
won't exist yet.
2021-06-21 09:47:49 +02:00
Pau Pérez Fabregat
db993652c4
Merge branch 'master' into payment-states
2021-06-18 12:20:26 +02:00
Luis Ramos
5a05a21dad
Revert to false so strings can be mutated in this class
2021-06-17 23:07:54 +01:00
Luis Ramos
755222a35d
Revert to false so strings can be mutated in this class
2021-06-17 23:07:35 +01:00
Luis Ramos
e52937c113
Use rubocop auto correct to add frozen string literal to all files
...
This is an unsafe auto corection, we will need to trust our build here
2021-06-17 23:07:26 +01:00
Andy Brett
b41302d5d8
update state transitions for new requires_authorization state
2021-06-17 14:23:59 -07:00
Andy Brett
dd0375aed4
clear authorization url after failing the payment
2021-06-17 14:23:59 -07:00
Andy Brett
674ca3026b
change states after failure/requiring auth
2021-06-17 14:23:58 -07:00
Andy Brett
a3d9f1f3cc
create requires_authorization payment state and migration
2021-06-17 14:23:58 -07:00
Luis Ramos
23627c5453
Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
...
9290 issues fixed
2021-06-17 22:19:26 +01:00
Guido Oliveira
92031120e3
Create service for select2 autocomplete
2021-06-17 13:54:18 -03:00
Pau Pérez Fabregat
a8efbffca6
Merge pull request #7429 from Matt-Yorkley/adjustments-taxrate
...
[Adjustments] TaxRate changes
2021-06-17 11:51:01 +02:00
Guido Oliveira
baca89c575
allow select producers for ordering
2021-06-16 15:02:27 -03:00
Guido Oliveira
c5471fc25c
enable ordering shopfront by producer id
2021-06-16 15:02:27 -03:00
Matt-Yorkley
690cbe3ad3
Merge pull request #7468 from mkllnk/6328-tos-tracking
...
6328 tos tracking
2021-06-10 19:48:13 +02:00
Andy Brett
2b66d270c0
Merge pull request #7704 from coopdevs/drop-master-variant-leftovers
...
Drop product.price from /api/order_cycles/:id/products
2021-06-09 08:20:44 -07:00
Andy Brett
e0cdf4ff49
refactor to TOS service
2021-06-09 14:06:54 +10:00
Matt-Yorkley
bfea47802e
Move fee tax call outside of lock and simplify order updating
2021-06-06 20:18:05 +01:00
Matt-Yorkley
c84f9e56fb
Tax enterprise fee adjustments when calling #recreate_all_fees!
2021-06-06 20:17:03 +01:00
Matt-Yorkley
510f74f654
Update OrderTaxAdjustmentsFetcher
...
Taxes on Enterprise Fees are now recorded in proper tax adjustments, so they don't need special treatment.
2021-06-06 20:16:03 +01:00
Matt-Yorkley
38ce9eb0c4
Update line item removal in CartService when the line item doesn't exist
2021-06-04 17:10:50 +01:00
Matt-Yorkley
3b52b173e8
Delete more dead code in CartService
2021-06-04 17:10:50 +01:00
Matt-Yorkley
b8ccee5f30
Simplify use of #to_i in variant data hash
2021-06-04 17:10:50 +01:00
Matt-Yorkley
a883b2cf63
Remove dead code CartService#cart_remove
2021-06-04 17:10:50 +01:00
Matt-Yorkley
398d4b2612
Tidy up public interface of CartService
...
We don't need this extra hash to be passed around
2021-06-04 17:10:50 +01:00
Matt-Yorkley
4a7c0e8297
Remove variant early if we're deleting them and they're already loaded
2021-06-04 17:10:50 +01:00
Matt-Yorkley
0178cd7530
Adapt OrderContents to allow use with frontend cart service and updating :max_quantity
...
The cart service and it's surrounding logic is a bit messy, as it jumps through hoops to add extra logic for the :max_quantity attribute used with the "group buy" feature.
This is the last bit of code where an order's line items could be changed where we were not using OrderContents.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
cb92231835
Clarify behavior via variable names
...
This is a small semantic thing to clarify that we're not adding to / incrementing the quantity here, we're setting it to the given value. In other places where we change line items on an order we are actually adding the given value to the existing quantity.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6e8fd3c3f8
Simplify CartService interface
...
There's only one place this method is called, and the "overwrite" argument is always explicitly true. It doesn't need to be there if it's mandatory.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
6451ef173c
Use OrderContents when removing line items with soft-deleted variants in CartService
2021-06-04 17:10:50 +01:00
Matt-Yorkley
9045cc7d65
Use OrderContents in CartService for removing line items from cart
2021-06-04 17:10:50 +01:00
Matt-Yorkley
423c140670
Remove pointless currency code in Order and CartService
...
The currency will always be the currency of the variant, there's no need to pass this value around.
2021-06-04 17:10:50 +01:00
Matt-Yorkley
c1c69b00b4
Update order explicitly in OrderSyncer
2021-06-04 17:10:50 +01:00
Matt-Yorkley
c55e47f6af
Remove superfluous updates in OrderFeesHandler
2021-06-04 17:10:50 +01:00