David Cook
a8490a9b11
Record the exact event time for the webhook
...
There might be a delay before it gets sent, so it's better to record the time the event occurred at.
It would have been simpler to just add it to the data hash, but I felt it was an important detail for an event and should be at the top level along with event name.
In the case of order cycle opening, this is the same as opened_at. I've included this in the payload for clarity too.
2025-03-25 10:38:30 +11:00
David Cook
6f5a58ac47
Refactor spec
...
It was probably better to be explicit at each test, but this one is always repeated and approaches the line length, so I wanted to just define it once at the top.
2025-03-25 10:27:47 +11:00
cyrillefr
fa4fc7c3c5
Fixes Rails TimeZone rubocop offenses
2025-03-21 13:13:52 +01:00
Gaetan Craig-Riou
11e08dcc26
Revert "Update line items enterprise fee instead of deleting and recreating "
2025-03-19 09:40:02 +11:00
Filipe
b3c7968e50
Merge pull request #13144 from rioug/13100-removed-fee-when-product-removed
...
Update line items enterprise fee instead of deleting and recreating
2025-03-14 10:12:50 +00:00
Filipe
9baed8536c
Merge pull request #13121 from rioug/13054-out-of-stock-autoremove
...
Autoremove/update item from the cart if stock changed during checkout
2025-02-20 22:35:40 -06:00
Gaetan Craig-Riou
8116ad986e
Delete fees when fee are removed from the Order Cycle
...
This is to be consistent with the current behavior
2025-02-19 15:34:39 +11:00
Gaetan Craig-Riou
67ad532908
Handle scenario where the enterprise fee has been deleted
2025-02-19 15:34:32 +11:00
Gaetan Craig-Riou
12a54dd8f0
Move #recreate_all_fees! spec to HandleFeesService
...
Spree::Order just delegate Orders::HandleFeesService so there is no
point testing fees in the order spec
2025-02-19 15:13:35 +11:00
Gaetan Craig-Riou
46315c4045
Update Orders::HandleFeesService#recreate_all_fees!
...
We now update or create line item fees instead of deleting them and
recreating them. This is to cover the case when a product has been
removed from an Order Cycle but we want to keep the fee already applied
on existing order. This was an issue only if the existing order got
updated after the product was removed.
2025-02-19 15:13:26 +11:00
Maikel Linke
d9cb1e8e74
Improve var naming, thanks Gaetan
2025-02-12 15:33:33 +11:00
Maikel Linke
079d09b8b8
Report simple values easily
2025-02-11 15:36:07 +11:00
Maikel Linke
fa7edbb073
Alert ensures to pass metadata correctly
2025-02-11 15:27:58 +11:00
Maikel Linke
c90472ebf9
Update Bugsnag config naming
2025-02-11 14:57:46 +11:00
Maikel Linke
cc6a3f4e5b
Use Bugsnag key with valid format in specs
...
That's why Bugsnag wasn't active in CI.
2025-02-11 14:55:40 +11:00
Gaetan Craig-Riou
7d62a7f5dd
Add CheckStockService#update_line_items
...
Update line item if any related variant has run out of stock or has had
stock reduced
2025-02-04 15:39:47 +11:00
Gaetan Craig-Riou
a7cde069c6
Add Orders::CheckStockService and spec
...
Move sufficient_stock? to Orders::CheckStockService
2025-02-04 15:39:40 +11:00
Konrad
01036e6321
Merge pull request #13087 from mkllnk/stock-location
...
Remove class Spree::StockLocation
2025-01-25 12:41:37 +01:00
Maikel
c258bee44d
Merge pull request #13065 from mkllnk/dfc-amend-nothing
...
Admin updates can trigger new backorders until the order cycle is closed
2025-01-22 16:32:23 +11:00
Maikel Linke
64608beaa8
Remove DefaultStockLocation created in setup
2025-01-22 12:01:57 +11:00
Maikel Linke
70ebe7b964
Remove stock location from specs
2025-01-22 11:52:25 +11:00
Maikel Linke
06d9d96f54
Fix error on removed product from catalog
2025-01-17 12:21:28 +11:00
Filipe
3c1dd10219
Merge pull request #13047 from mkllnk/spree-roles
...
Clarify that our only user role is "admin" and simplify code
2025-01-16 18:06:49 -06:00
Maikel Linke
2297b650f8
Skip amending backorder if there's none
2025-01-09 12:10:07 +11:00
Maikel Linke
ddaeff7c53
Use DfcCatalog in offer broker
2025-01-07 11:03:34 +11:00
Maikel Linke
54f83b45c8
Replace has_spree_role? with simpler admin?
...
We have only one role, so let's get rid of the unneeded method.
Now we are in a better place to get rid of Spree::Role and replace it
with a simple boolean.
2024-12-19 09:19:01 +11:00
Maikel Linke
60b62d41d6
Remove old, replaced backorder lookup
2024-12-17 13:48:03 +11:00
Maikel Linke
d5c3e94b24
OfferBroker needs only catalog URL, no other URLs
2024-12-12 15:45:42 +11:00
Maikel Linke
bf41658d32
Fix nil error when amending backorder
2024-12-11 12:40:46 +11:00
Maikel Linke
7d7253cf0e
Re-use BackorderUpdater to complete backorder
2024-12-11 12:40:46 +11:00
Maikel Linke
4fa4eb1b4e
Move backorder update code to re-usable class
2024-12-11 12:40:46 +11:00
Maikel
de938f6f10
Merge pull request #12949 from rioug/12859-use-VINE-voucher
...
[City OFN Voucher] A shopper can use a VINE voucher
2024-12-03 14:04:44 +11:00
Maikel
697f430156
Merge pull request #12992 from mkllnk/errors
...
Add simpler Alert.raise interface to notify Bugsnag
2024-12-03 13:29:11 +11:00
Gaetan Craig-Riou
f5b9ca361c
Use the voucher adjustment amount for redeeming
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
1e6fbadd8b
Fix Vine::VoucherRedeemerService to handle exceptions
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d102652c03
Fix Vine::VoucherValidatorService to handle exceptions
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
1b50217242
Re worked the Vine::ApiService to raise exception on error
...
Log Client and Server error, and re raise exception for the caller
to handle
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d413a142c9
Update various voucher related file to use the new Vouchers::Vine
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
48ad7ed8a0
Add voucher used by multiple enterprise and recycle code scenario
...
Plus optimise code with `find_or_initialize_by` as suggested in review
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
e7ece294cc
Better error for VineVoucherValidatorService
...
Co-authored-by: David Cook <david@redcliffs.net >
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
d7313ffec9
Per review, improve Vine::VoucherValidatorService
...
plus specs
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
b42cba8c37
Add vine_voucher factory
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
12cf62c2ff
Refactor, add OrderManagement::Order::Updater#update_voucher
...
Move the logic to update a voucher and associated order to
`OrderManagement`
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
0569b30e0d
Refactor Vine related services
...
Move them under Vine module to keep the code nicely organised
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
9399c7e129
Add VineVoucherRedeemerService
...
It handles redeeming a voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
b30096317c
VineApiService, add voucher_redemptions
...
It is used to redeem a voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
f9fb7bf399
Add VineVoucherValidatorService and spec
...
It handles validating and creating vine voucher
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
7cbe77668a
VineApiService, add voucher_validation
...
It is used to validate a voucher using the given short code
2024-11-28 13:35:01 +01:00
Maikel Linke
14e7c57102
Deactivate some specs on CI
...
Somehow Bugsnag doesn't report in CI environment and I have no idea how
to circumvent that. And I don't want to spend more time on this.
2024-11-21 16:17:27 +11:00
Maikel Linke
6a8cc410d2
Replace broken order data
...
Bugsnag expects a string as value, not an ActiveRecord object. The
result was just "filtered" data, not showing any of the order's
attributes.
Since wanting to share the order data seems a common pattern, I added a
convenience method for it.
2024-11-21 15:58:55 +11:00