Commit Graph

416 Commits

Author SHA1 Message Date
Maikel Linke
392aeb7321 Remove unused method loading default country
And another unused method.
2022-11-02 16:21:15 +11:00
Cillian O'Ruanaidh
eb72ec8e13 An order cycle isn't ready for checkout if a tag rule means no payment/shipping methods are available to the customer 2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
2c14aecf4f Extract a OrderCycleClone service
Before it was giving a Rubocop error, probably not a bad idea anyway.
2022-10-21 17:21:31 +01:00
Cillian O'Ruanaidh
4e6d64c0a1 Let people choose which payment methods are available to customers on order cycles 2022-10-21 17:21:31 +01:00
Matt-Yorkley
980f004b83 Update Bugsnag error data 2022-10-19 17:36:52 +11:00
Maikel Linke
95d68b98a9 Spec both cases of removing variants from order cycles
The spec tested only the removal but not he keeping of variants.
I want to change this in the next commit to simplify the class.
2022-10-08 09:03:38 +02:00
Cillian O'Ruanaidh
def87485c0 Don't delete schedules on the order_cycles#update action just because the :schedule_ids was not specified in the parameters
Before this schedules were being deleted when the Checkout Options step of editing order cycles was saved because this step wasn't sending the :schedule_ids parameter. It's more awkard for API users if they always need to explicity send the :schedule_ids parameter even if they don't want to add/remove any of the schedules, for example if they just want to update an order cycle name.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a53a3259a8 Connect DistributorShippingMethods to OrderCycles instead of Spree::ShippingMethods
Before if a shipping method was shared between multiple distributors it could only be disabled/enabled on that order cycle for all the distributors which have that shipping method e.g. you couldn't select that shipping method for one distributor but disable it for another.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
efb1a326b4 Fix line length in OrderCycleForm spec for Rubocop 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
94b96e18ed Remove OrderCycleForm specs that are no longer necessary
These were added for a previous approach which is no longer used.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
80b7a5d39a Remove OrderCycleShippingMethod model and use a :has_and_belongs_to_many association instead
Before the OrderCycleShippingMethod had a validation which checked the shipping method belonged to the order cycle distributor. Instead of this validation this just ignores shipping methods which don't belong to one of the order cycle's distributors when they are being attached in the OrderCycleForm service. This pattern is already being used in the OrderCycleForm service for ignoring Schedules that the person doesn't own.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
593da4996f A shop won't be shown as open if it doesn't have useable shipping method so these shipping method validations are really necessary 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
747c88fb35 Update the Shop::OrderCyclesList service so it's clearer what kind of order cycles are being fetched
Before the Shop::OrderCyclesList service would return order cycles even if they are not ready for checkout and we had a check before calling the service in BaseController which would return OrderCycle.where('false'). It seems like this check should be part of the service too.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
67d4c38550 Rename :preferred_shipping_methods to :selected_shipping_methods on OrderCycle
It's a clearer name because 'preferred' implies there could be other unpreferred shipping methods available as well.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
fc4f951a1a Only require OrderCycleShippingMethod records if people want to override the default shipping methods
It makes things much simpler if we return all shipping methods by default without needing OrderCycleShippingMethod records to be added to the database.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
855ec1a708 Add new 'Checkout options' step to the edit order cycle form so people can attach shipping methods 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
48c2e48b24 Update the OrderCycleForm service so it supports attaching shipping methods 2022-09-30 13:13:39 +01:00
Philipp Winkler
6291e3c587 Handle invalid referer for embedded page service 2022-07-11 22:07:00 +02:00
Jean-Baptiste Bellet
c39b00b6c2 do not set on_demand and on_hand if variant has errors
+ update specs

Co-Authored-By: Maikel <maikel@email.org.au>
2022-07-06 10:46:54 +02:00
Maikel Linke
b7efa1b018 Replace Paperclip on Spree::Image 2022-06-01 17:16:55 +10:00
Maikel Linke
4a0ed99919 Replace Paperclip on Enterprise model
We configured Paperclip to convert images to JPG in some cases but I
omitted that here because we don't need it. If an image is better
represented as PNG or another format then the user should be able to
choose that.

Some specs were also testing the generated URL but the Active Storage
URL doesn't contain a style name anymore and it's not helpful to test
the URL.
2022-06-01 17:16:55 +10:00
Jean-Baptiste Bellet
96f267eefe Create specs for filtering by properties when sorting is available
+ update product, supplier, taxon name to be more precise
2022-04-21 11:03:22 +02:00
Jean-Baptiste Bellet
405b7e6e17 Handle tax rates for ShippingMethod
Co-Authored-By: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com>
2022-02-15 15:16:58 +01:00
Matt-Yorkley
31e6405125 Handle setting of payment amount during checkout in OrderUpdater 2022-02-01 11:39:07 +00:00
Filipe
75395f6f29 Merge pull request #8648 from Matt-Yorkley/csp
Configure CSP
2022-01-26 19:55:11 +00:00
Filipe
374c05116b Merge pull request #8726 from Matt-Yorkley/stringex-machina
Reduce impact of stringex gem
2022-01-26 19:02:41 +00:00
Matt-Yorkley
8552da2377 Extract and stub PaymentMethodFetcher 2022-01-24 20:28:59 +00:00
Matt-Yorkley
dfbd384c95 Refactor embedding to a Concern 2022-01-18 12:22:06 +00:00
Matt-Yorkley
3bfea510b2 Update spec/services/url_generator_spec.rb
Co-authored-by: Maikel <maikel@email.org.au>
2022-01-18 08:45:46 +00:00
Matt-Yorkley
0ef35b319c Create UrlGenerator service 2022-01-15 13:21:09 +00:00
Matt-Yorkley
02995530e2 Pull apart OrderCompletionReset service 2022-01-14 19:41:08 +00:00
Matt-Yorkley
67b8a55273 Separate OrderCompletionReset from Checkout::PostCheckoutActions and don't pass controller objects to Checkout::PostCheckoutActions
We need to separate some of these bits to make them easier to call in different contexts. Also there's some weird stuff happening here with the controller being passed in to the service, and it seems like a code smell to me...
2022-01-14 19:41:08 +00:00
Filipe
da703b2d95 Merge pull request #8615 from jibees/8559-enable-sort-orders-by-order-full-name
Enable sorting orders by order full name
2022-01-11 11:27:36 +00:00
Filipe
750411fd15 Merge pull request #8592 from openfoodfoundation/gateway-redirects
Refactor payment gateway redirects handling
2021-12-23 21:35:45 +00:00
Cillian O'Ruanaidh
84eaafb822 Add a :captured_at column on payments to store when they are captured
Fixes #8611.
2021-12-17 14:45:47 +00:00
Matt-Yorkley
45beefc533 Keep the order of passed argument
Do not retrieve the orders list sorted by completed_at but by the order_ids array itself

Add BulkInvoiceJob spec and cover sorting behaviour
2021-12-16 09:33:38 +01:00
Matt-Yorkley
ef7a02004e Update specs 2021-12-15 21:20:58 +00:00
Matt-Yorkley
cf5d964133 Update usages of old preference getters and setters 2021-11-04 11:48:30 +00:00
PHAN QUANG LAM
77524c633d Fix menu indicator on bulk order page 2021-10-26 06:41:30 +09:00
Jean-Baptiste Bellet
e82e93e1cc Update test to add more case with finalized order with no line items
Those empty order but finalized must be returned by the API
2021-09-23 11:06:58 +02:00
Maikel
02a10ede15 Merge pull request #7938 from dacook/product-image-import
Add script to import product images from URL
2021-09-20 16:57:23 +10:00
Andy Brett
069cb043ee Merge pull request #8148 from jibees/5236-remove-incomplete-orders-from-admin-interface-2
Only shows order that actually have at least one line_item V2
2021-09-09 16:49:30 -07:00
Andy Brett
f8486bcbf8 Merge pull request #7769 from Matt-Yorkley/payment-status-checking
Stripe: payment status debugging
2021-09-08 15:21:38 -07:00
Matt-Yorkley
b53371d870 Fix not_empty scope 2021-09-08 12:14:53 +01:00
Jean-Baptiste Bellet
7656f5d20f Add an order with no line_items, should not be returned by API 2021-09-08 10:44:04 +02:00
Jean-Baptiste Bellet
9c86adf0f4 Add line_items to each orders
Now, API returns only orders with line_items: add to each in specs.
2021-09-08 10:43:59 +02:00
Matt-Yorkley
886e03af2f Merge pull request #7805 from Matt-Yorkley/adjustments-admin
[Adjustments] Admin adjustments
2021-07-27 12:23:29 +02:00
Matt-Yorkley
6daa37a5c0 Ensure TaxRateFinder returns an array if the given adjustment has no tax 2021-07-25 22:47:40 +01:00
David Cook
c156d0c2e6 Add script to import product images from URL
With new ImageImporter.

Co-authored-by: Maikel <maikel@email.org.au>
2021-07-16 11:36:49 +10:00
Andy Brett
a58e0fe217 Merge pull request #7926 from luisramos0/rubocop_fix
Update Rubocop todo files
2021-07-14 10:05:54 -07:00