Commit Graph

3885 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
628810eb33 Fix spec to work with the internal payment method 2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
3e2e7f1799 Add button to credit customer when order is credit owed state
It will add a negative payment, matching the amount credited in the
customer_account_transaction
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
d5bd8fa086 Add ability to "void" a customer credit payment
Voiding the payment will refund the credit used to the customer.
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
41e4fd79a3 Move logic to apply customer credit to it's on service
It's now called as a before transition callback when the order move to
payment. We need to apply the credit at this point to account for
order fees, ie: shippment fees.
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
a60afd10e4 Display credit used on the order confirmation page 2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
c8dbf4c6f0 Add error handling around payment with credit
For now we log error but don't report it to the user, so they can
proceed through the checkout.
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
f5a3093e41 Automatically use credit at checkout when available
This only cover the ideal scenario, error handling will be added later
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
28241756aa Add Customer Credit payment method
It doesn't do anything yet
2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
fec5516fce Backoffice customer, Add pop up to list customer payments 2026-03-10 16:07:42 +11:00
Gaetan Craig-Riou
be7be9bbc6 Add api endpoing to create customer transactions
Plus specs and documentation
2026-03-10 16:07:41 +11:00
Cillian O'Ruanaidh
7433f6d183 Rename :save to save! on UserInvitation because it possibly could raise an exception 2026-03-04 10:28:39 +11:00
Cillian O'Ruanaidh
f1071575cd Remove Angular from Enterprise > Settings > Users section 2026-03-04 10:28:36 +11:00
David-OFN-CA
7922bf7b65 Revert "Fix 9 Rubocop violations (Rails/Presence and Rails/RedirectBackOrTo)Fix rubocop violations" 2026-02-26 17:04:21 -05:00
David-OFN-CA
2d46676bb4 Merge pull request #13973 from David-OFN-CA/fix-rubocop-violations
Fix 9 Rubocop violations (Rails/Presence and Rails/RedirectBackOrTo)Fix rubocop violations
2026-02-26 16:01:15 -05:00
David Thomas
2808a41f0d Safely autocorrect Rails/RedirectBackOrTo
Inspecting 1721 files
........................................W...................................................................W................W..W.......W................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/admin/order_cycles_controller.rb:212:9: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
        redirect_back(fallback_location: root_path)
        ^^^^^^^^^^^^^
app/controllers/locales_controller.rb:6:5: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
    redirect_back fallback_location: main_app.root_url
    ^^^^^^^^^^^^^
app/controllers/spree/admin/invoices_controller.rb:31:9: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
        redirect_back(fallback_location: spree.admin_dashboard_path)
        ^^^^^^^^^^^^^
app/controllers/spree/admin/orders_controller.rb:83:9: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
        redirect_back fallback_location: spree.admin_dashboard_path
        ^^^^^^^^^^^^^
app/controllers/spree/admin/orders_controller.rb:91:25: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
          format.html { redirect_back(fallback_location: spree.admin_dashboard_path) }
                        ^^^^^^^^^^^^^
app/controllers/spree/admin/return_authorizations_controller.rb:13:9: W: [Corrected] Rails/RedirectBackOrTo: Use redirect_back_or_to instead of redirect_back with :fallback_location keyword argument.
        redirect_back fallback_location: spree.admin_dashboard_path
        ^^^^^^^^^^^^^

1721 files inspected, 6 offenses detected, 6 offenses corrected
2026-02-26 15:35:55 -05:00
David Thomas
18869979db Safely autocorrect Rails/Presence
Inspecting 1721 files
...................................C.................................................................................................................................................................................................................................................................................................................................................C...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/admin/enterprises_controller.rb:180:7: C: [Corrected] Rails/Presence: Use @object.custom_tab.presence&.destroy instead of @object.custom_tab.destroy if @object.custom_tab.present?.
      @object.custom_tab.destroy if @object.custom_tab.present?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:243:9: C: [Corrected] Rails/Presence: Use (enterprises.presence&.includes(supplied_products: [:variants, :image])) instead of if enterprises.present? ... end.
        if enterprises.present? ...
        ^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/admin/enterprises_controller.rb:243:9: C: [Corrected] Style/RedundantParentheses: Don't use parentheses around a method call.
        (enterprises.presence&.includes(supplied_products: [:variants, :image]))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/product.rb:298:7: C: [Corrected] Rails/Presence: Use (first_variant.supplier.presence&.touch) instead of first_variant.supplier.touch if first_variant.supplier.present?.
      first_variant.supplier.touch if first_variant.supplier.present?
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/spree/product.rb:298:7: C: [Corrected] Style/RedundantParentheses: Don't use parentheses around a method call.
      (first_variant.supplier.presence&.touch)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1721 files inspected, 5 offenses detected, 5 offenses corrected
2026-02-26 15:34:45 -05:00
Rachel Arnould
68c7d8f9f5 Merge pull request #13934 from chahmedejaz/bugfix/13827-tag-filters-reset-upon-product-update
Tag filters are reset after updating a product
2026-02-24 10:20:11 +01:00
Rachel Arnould
f86eb3fb82 Merge pull request #13920 from mkllnk/clean-name
Stop pre-selecting Paypal when creating a payment method
2026-02-19 11:38:56 +01:00
Rachel Arnould
0d46a3bc2e Merge pull request #13902 from mkllnk/refund-simple
Simplify refund logic
2026-02-19 11:06:00 +01:00
Rachel Arnould
fb0f379c43 Merge pull request #13823 from chahmedejaz/bugfix/13625-enterprise-fee-reports-throws-504
Some Enterprise Fee reports are unusable when managing big shops
2026-02-18 15:22:21 +01:00
Ahmed Ejaz
1d4bbfa506 Supports tag filters persistence during product updates
Adds functionality to retain tag filters applied in the admin product interface after bulk updates. Updates controller parameters to include tags_name_in, adds hidden fields for tag persistence in the view, and includes specs to verify filter state retention across update operations.
2026-02-18 01:37:41 +05:00
Maikel Linke
283d13eb35 Move payment method display logic to helper
So we don't need to convert strings into classes to then only convert it
into the same string again.
2026-02-12 11:25:13 +11:00
Maikel Linke
e86bf441ab Remove last use of #payment_profiles_supported? 2026-02-04 11:30:36 +11:00
Ahmed Ejaz
99e238d92d Improve reports AJAX search safety, permissions, and TomSelect UX
- Sanitize AJAX search queries to safely support wildcard searches (ILIKE)
- Centralize reports search actions in Spree::Ability and reuse across roles
- Fix TomSelect remote loading to fetch on dropdown open and typing
- Surface HTTP errors in TomSelect via showHttpError and improve error handling
- Update dropdown behavior to show proper “no results” feedback
- Move reports AJAX specs to request specs and expand pagination coverage
- Simplify searchable dropdown component attribute passing
2026-02-04 02:25:41 +05:00
Rachel Arnould
b731f9b9e4 Merge pull request #12997 from wandji20/wb-OFN-12794-user
Remove Cable Ready responses from User related controllers
2026-02-03 15:51:11 +01:00
Maikel Linke
c11b93a4dc Demo Taler flow without validating payment yet 2026-01-29 15:07:28 +11:00
Maikel Linke
b3a1d1269a Add Taler as payment method
It doesn't take payments yet but can be selected during checkout.
2026-01-29 15:07:27 +11:00
Rachel Arnould
2a3b076170 Merge pull request #13826 from chahmedejaz/task/13744-add-none-option-in-tags-filter
Allow to select "none" in variant tags dropdown
2026-01-26 22:29:59 +01:00
Ahmed Ejaz
d4811648f1 Merge branch 'master' into bugfix/13625-enterprise-fee-reports-throws-504 2026-01-25 11:22:57 +05:00
Ahmed Ejaz
77fe1fa6f9 Refactor SearchableDropdownComponent and integrate remote data loading with TomSelect 2026-01-25 11:14:49 +05:00
Rachel Arnould
2a7e8816c0 Merge pull request #13834 from mkllnk/pay-methods
Simplify code listing available payment method types
2026-01-23 22:52:29 +01:00
David Cook
88a0737916 Return correct http code for bad login params
This tells our generic ajax (Turbo) error handling to ignore the error and let the application display the response as usual.
2026-01-22 12:26:24 +11:00
wandji20
f5823bd618 Refactor to render turbo responses inline 2026-01-22 12:06:56 +11:00
wandji20
d9453979b1 Small improvements 2026-01-22 12:06:56 +11:00
wandji20
2cde74b91a Handle user confirmation with turbo stream 2026-01-22 12:06:56 +11:00
wandji20
3fd007fa3d Handle user password with turbo stream 2026-01-22 12:06:56 +11:00
wandji20
e3431c7954 Handle user sessions with turbo stream 2026-01-22 12:06:56 +11:00
wandji20
9fa715c709 Handle user registration with turbo stream 2026-01-22 12:06:56 +11:00
David Cook
feed223ab4 Merge pull request #13528 from dacook/vine-expiry-message-13495
[VINE] Show helpful message if voucher expired
2026-01-19 09:20:18 +11:00
Ahmed Ejaz
e8e48f7c64 use double quotes for the string value 2026-01-13 12:59:28 +05:00
Ahmed Ejaz
fd3c1c1343 Add "None" option to tags filter in product search 2026-01-13 02:13:51 +05:00
David Cook
368da19993 Display more specific invalid_voucher message to customer
It was implemented with error code  409 in https://github.com/openfoodfoundation/vine/pull/112
2026-01-12 17:14:57 +11:00
Maikel Linke
f3c60148c1 Simplify filtering of Stripe 2026-01-09 16:54:25 +11:00
Maikel Linke
2e08c9c44e Simplify with defined order of payment methods 2026-01-09 16:54:21 +11:00
Maikel Linke
93f2af7e7d Lazy load payment method classes
This avoids any class reloading issues in dev, simplifies most of the
code path and opens up for refactoring.

The only reason we still load the class is to call `clean_name` on it
for the translation key. We can probably do better.
2026-01-09 16:54:02 +11:00
Maikel Linke
cb7a4b67ce Replace custom lookup with default Rails feature
Rails renders an error when you try to supply an invalid value. Our code
is safe without an allow-list and the UX doesn't allow you to select an
invalid value.
2026-01-09 16:53:06 +11:00
Maikel Linke
41a8d06326 Remove duplicate definition of payment providers 2026-01-09 15:16:36 +11:00
Maikel Linke
a1bdfa0a20 Move list of payment methods to where it is used 2026-01-09 15:16:36 +11:00
Filipe
c73f28b434 Merge pull request #13815 from mkllnk/secrets
Replace deprecated Rails secrets with credentials
2026-01-08 18:46:33 +00:00
Filipe
d0f48687e2 Merge pull request #13777 from rioug/13481-webhook-payment
Payment status change webhook
2026-01-08 11:26:41 +00:00