Commit Graph

11909 Commits

Author SHA1 Message Date
Filipe
7ca5927411 Merge pull request #12996 from chahmedejaz/bugfix/12993-fix-order-cycle-report-text-version
Order cycle mail reports to producers display different data in html and txt versions
2024-12-09 16:32:46 -06:00
Filipe
6e40e4da60 Merge pull request #13018 from chahmedejaz/task/13008-add-tax-category-in-all-products-report
Add 'tax category' to the All Products report
2024-12-09 16:21:01 -06:00
Ahmed Ejaz
93a3130851 12973: add specs 2024-12-05 16:18:21 -06:00
Maikel
4c71ea3866 Merge pull request #12994 from mkllnk/dfc-update-voc
Add new DFC vocabulary for order states
2024-12-04 12:57:03 +11:00
Ahmed Ejaz
c331d57cdb 13008: add tax category in all products report 2024-12-04 03:36:42 +05: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
Ahmed Ejaz
af200ab4a0 12993: fix lint issues 2024-12-02 18:40:18 +05:00
Ahmed Ejaz
bbdee7c0f3 12993: add included tax in text report 2024-12-02 18:04:18 +05:00
Maikel Linke
c4c95d472e Use defined DFC orders states 2024-11-29 16:16:42 +11:00
Maikel Linke
e791184468 Remove failing map spec
I couldn't fix it easily. But I also think that the testing approach had
low value here.

It raised:

```
Failures:

  1) Map map can load does not show alert
     Failure/Error:
       assert_raises(Capybara::ModalNotFound) do
         accept_alert { visit '/map' }
       end

     Minitest::Assertion:
       Capybara::ModalNotFound expected but nothing was raised.

     [Screenshot Image]: /home/runner/work/openfoodnetwork/openfoodnetwork/tmp/capybara/screenshots/failures_r_spec_example_groups_map_map_can_load_does_not_show_alert_64.png

     # ./spec/system/consumer/map_spec.rb:11:in `block (3 levels) in <top (required)>'
     # ./spec/system/support/cuprite_setup.rb:39:in `block (2 levels) in <top (required)>'
     # ./spec/base_spec_helper.rb:153:in `block (3 levels) in <main>'
     # ./spec/base_spec_helper.rb:153:in `block (2 levels) in <main>'
```
2024-11-29 13:46:01 +11:00
Filipe
355c9686e3 Merge pull request #12963 from murjax/map-network-check-8230
Show alert if map cannot load
2024-11-28 12:26:22 -06:00
Filipe
d90c4f6aed Merge pull request #12995 from chahmedejaz/bugfix/12968-product-import-update
Impossible to update product sold by weight with product import
2024-11-28 08:38:58 -06: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
73819a4638 Fix unique validator for vouche code
Paranoia doesn't support unique validation including deleted records:
  https://github.com/rubysherpas/paranoia/pull/333
We use a custom validator, ScopedUniquenessValidator to avoid the issue
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
9ab2a3ae3d Per review, fix a some minor issues 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
a2c4c44eea Move Vine voucher to Vouchers::Vine
A Vine voucher is really a specific type of FlatRate voucher but because
a Vine voucher can be used by mutiple enterprise, it can be considered
different enough to warrant it's own class.
It still share a lot of the behaviour of a FlatRate voucher, so to avoid
duplication, all the shared functionality have been moved to a
Vouchers::FlatRatable concern.
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
7726c7d129 Per review, rename not_vine scope to local
- use IS DISTINCT FROM instead of two conditions
- added spec for scope
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
9f3da1af4f Reddeem VINE voucher when firing "capture_and_complete_order"o
'Spree::Payment#capture_and_complete!' will try to complete the order,
so we want to redeem any VINE voucher associated with the order first.
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
afb336d789 Add spec for fire event "capture_and_complete_order" 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
92c4cb9b7f Redeem VINE voucher when creating a new payment
Creating a new payment will try to complete the order, so we want to
redeem any VINE voucher associated with the order first
2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
724d5a2ca0 Add spec for creating a payment from admin page 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
cf13dc2ff6 Add system spec when completing order with VINE voucher 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
4906c19c8e Checkout Summary, remove shared example 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
129ccc33f8 CheckoutController, add VINE voucher redemption 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
c89b4fb86b Add system spec fot adding VINE voucher to order 2024-11-28 13:35:01 +01:00
Gaetan Craig-Riou
3a367ceb6e Handle adding a VINE voucher to an order
Plus specs
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
Rachel Arnould
479eacc956 Merge pull request #12964 from chahmedejaz/task/12890-add-data-to-dfc-affiliate-sales-endpoint
Add cities and countries to DFC affiliate sales data endpoint
2024-11-28 10:46:20 +01:00
Filipe
a493d70f5c Merge pull request #12950 from macanudo527/unlock_bigdecimal
Fix rounding issues by upgrading decimal maths library
2024-11-25 19:18:19 -06:00
Ahmed Ejaz
3d09ac01cc 12968: fix existing specs
- As per the new changes, unit_type change will create a new product rather than give errors.
- on bulk-update screen as well, two products can have same name with different unit_type
2024-11-25 17:29:27 +05:00
Ahmed Ejaz
283706114e 12968: update condition to match variant with unit scale 2024-11-25 16:36:13 +05:00
Ahmed Ejaz
7ca544540b 12890: fix product names 2024-11-24 15:24:39 +05:00
Maikel
3ec8cd24d3 Merge pull request #12960 from mkllnk/dfc-link-backorder
Store link to open backorder
2024-11-22 10:22:43 +11: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
Maikel Linke
61e7c1db07 Replace obsolete ErrorLogger 2024-11-21 15:58:55 +11:00