Commit Graph

1108 Commits

Author SHA1 Message Date
Pau Perez
931cb89a9d Move new class to services and rename it 2019-03-11 18:28:25 +01:00
luisramos0
351555d4e2 Remove unused methods from add_to_cart helper and distribution change validator 2019-03-02 12:55:08 +00:00
luisramos0
a36722cebf Merge branch '2-0-stable' into 2-0-remove-variant-count-on-hand 2019-02-26 12:47:11 +00:00
Pau Pérez Fabregat
aed9c41b0d Merge pull request #3394 from mkllnk/3021-update-soft-delete
[Spree upgrade] 3021 update soft delete
2019-02-25 11:58:41 +01:00
luisramos0
5d51ad71b0 Merge branch 'master' into 2-0-stable-Feb20 2019-02-20 14:32:36 +00:00
luisramos0
8ee14ccb4b Make variants_stock_levels return variants on_demand values 2019-02-19 11:56:02 +00:00
Maikel Linke
b4d1e48693 Update soft-delete of variants
Spree changed their way of soft-deleting variants from calling `delete`
to calling `destroy`. We don't need our own implementation any more.
2019-02-19 14:25:18 +11:00
Maikel Linke
cdb49f88b0 Move Variant deletion into its own service
This keeps the override of Spree's model leaner. More importantly, it
prepares us for using `destroy` instead of `delete`.

In the past, `Product#delete` soft-deleted the product, but didn't
delete the variants. When we use `Product#destroy` to soft-delete the
product, it will also call destroy on the variants. If the model doesn't
allow the deletion of the last variant, it will fail. So when a product
is deleted we want to allow the deletion of all variants. But the user
should not be allowed to delete the last variant. That's why I'm moving
the check to the controller level.

Related commits:

- e6c7acdff3
- 2b47c9145a
- b9f19d5777 (diff-412c5af2ec1ba9f6643f6df5a673c1d4R105)
2019-02-19 14:25:18 +11:00
Maikel
1b45033e33 Merge pull request #3506 from Matt-Yorkley/pi/parse_bom
Sanitize non-parsable BOM characters inserted by Excel
2019-02-19 11:24:11 +11:00
luisramos0
f0842fcbe5 Convert all calls to variant.count_on_hand to variant.on_hand 2019-02-18 21:54:07 +00:00
Matt-Yorkley
9705c249ac Sanitize no-parsable BOM characters inserted by Excel 2019-02-18 13:13:37 +00:00
Maikel
d4589cc2f4 Merge pull request #3444 from mkllnk/3437-supplier-name-on-invoice
3437 supplier name on invoice
2019-02-15 16:31:29 +11:00
luisramos0
c652cfe4d5 Merge branch 'master' into 2-0-stable-Feb12 2019-02-12 16:03:33 +00:00
Maikel Linke
5ee3dbf9f2 Re-use renderer object 2019-02-07 10:12:06 +11:00
Maikel Linke
d97fa60c31 Remove code duplication and test PDF creation 2019-02-06 14:53:05 +11:00
luisramos0
729feb16f1 Merge branch 'master' into 2-0-stable-jan-29th 2019-01-29 12:38:34 +00:00
Kristina Lim
9965e95c65 Refactor methods in SubscriptionVariantsService 2019-01-26 02:03:55 +08:00
Kristina Lim
b691d727a7 Move OFN::SubscriptionService to SubscriptionVariantsService 2019-01-26 02:03:55 +08:00
Kristina Lim
929290fc77 Reduce restrictions for creating subscriptions
Allow the following variants:

* Variants of permitted producers
* Variants of hub
* Variants that are in outgoing exchanges where the hub is receiver
2019-01-26 02:03:54 +08:00
Pau Pérez Fabregat
2b95b5e797 Merge pull request #3347 from luisramos0/2-0-default-on-demand
[Spree Upgrade] Sets StockLocation.backorderable_default to false in test factories
2019-01-21 17:34:46 +01:00
Pau Pérez Fabregat
a95dd98ed6 Merge pull request #2869 from Matt-Yorkley/bi/bulk_invoices
[Bulk Invoice Printing] Bulk invoices
2019-01-18 17:49:34 +01:00
luisramos0
0460e7fc6c Merge branch 'master' into 2-0-stable-jan-17th 2019-01-17 22:51:25 +00:00
luisramos0
f896e78e6f Set StockLocation.backorderable_default to false in DefaultStockLocation and in StockLocation factory.
This makes the default value of variant.on_demand false in all environments and in tests.

Additionally, adapt VariantStock.on_demand test and product factory to this change (setting on_hand value in product factory so it's not out of stock by default).
2019-01-17 20:28:05 +00:00
Pau Pérez Fabregat
b05b2c3a5a Merge pull request #3254 from coopdevs/add-default-stock-location
[Spree Upgrade] Create the default StockLocation in DB
2019-01-16 12:57:45 +01:00
luisramos0
ea61e415e1 Add bugsnag notifications to detect potential dead code scenarios in variants_stock_levels and cart_service 2019-01-15 13:42:51 +00:00
luisramos0
aa603c9a84 Make rubocop happy on cart controller, cart service and stock levels service 2019-01-15 13:42:51 +00:00
luisramos0
b0449be302 Add spec to test cart controller handling of variant overrides on cart populate 2019-01-15 13:38:58 +00:00
luisramos0
c0473a4505 Extract variants_stock_levels from cart_controller and refactor some names 2019-01-15 13:38:58 +00:00
Pau Perez
10a678bdfe Rely on Spree's default StockLocation 2019-01-11 16:39:06 +01:00
Pau Perez
9ebe112bcc Abstract OFN's default stock location into a class 2019-01-11 15:52:09 +01:00
luisramos0
9ab99f13c4 Merge branch 'master' into 2-0-stable-jan-11th 2019-01-11 11:58:24 +00:00
Matt-Yorkley
66ac61f591 Rename background processing method 2019-01-10 09:57:06 +00:00
Matt-Yorkley
4f9f8adcd6 Add Service and remove Job 2019-01-10 09:57:06 +00:00
Maikel Linke
a8ccb9b818 Explain why we look for the closest tax rate of a fee 2019-01-04 17:24:45 +11:00
luisramos0
7155f28acf Remove shipping_method_id from RestartCheckout, destroying shipments is now enough as order.shipping_method_id is no longer used and will be dropped. See #2683 for more details 2018-12-21 15:13:43 +00:00
Maikel Linke
a978e992bf Remove tax_rates shortcut from adjustment
Becoming less dependent on Spree, using our own namespace, keeping
decorators small.
2018-12-19 14:42:38 +11:00
Maikel Linke
fc1b182275 Simplify method complexity and comply with rubocop 2018-12-19 14:31:29 +11:00
Maikel Linke
3169a384ba Find approximate tax rate if no other is found
There are several cases in which a tax rate is not associated with an
adjustment. We find the closest one for reporting here. It is not a good
solution, but a workaround introduced for reporting:
https://github.com/openfoodfoundation/openfoodnetwork/pull/1496
2018-12-19 14:31:29 +11:00
Maikel Linke
a341561446 Move tax rate finding into service and spec it
The `#tax_rates` method is actually not present in Spree. We encapsulate
the logic in this commit and enable better unit testing. The new tests
cover a current bug: https://github.com/openfoodfoundation/openfoodnetwork/issues/3127
2018-12-19 14:31:29 +11:00
luisramos0
6fc3562a73 Merge branch 'master' into 2-0-stable-dec-18th 2018-12-18 23:32:45 +00:00
Pau Pérez Fabregat
2deffb9c9f Merge pull request #3076 from Matt-Yorkley/orders_checkboxes
Fix checkbox values on orders page
2018-12-17 10:35:46 +01:00
Matt-Yorkley
0c5ac99e0f Fix multiple results with 'inventory_items_shipment_id_null' ransack query
The q['inventory_items_shipment_id_null'] search element was generating duplicates where there were multiple line items on an order that were ready to be shipped, with id = null
2018-12-10 20:48:53 +00:00
Pau Perez
453b2a99de Rename redundant #restart_checkout to #call 2018-11-23 12:05:39 +01:00
Pau Perez
99463427ce Refactor RestartCheckout service just extracted 2018-11-23 12:04:42 +01:00
Pau Perez
a62a2cb52f Extract #restart_checkout to a service 2018-11-23 12:04:42 +01:00
luisramos0
2947d7a98c Remove shipping_method_id from order factory. This attribute is gone in spree 2 and doesnt need to be the responsibility of the order factory to handle order shipping method. The shipping method is selected only when the order workflow is progressed on checkout 2018-11-13 21:25:59 +00:00
luisramos0
fcdb5cd7af Merge branch 'master' into 2-0-stable-nov-8th 2018-11-08 11:18:54 +00:00
Matt-Yorkley
0bd67bd06a Remove unnecessary Spree::Config fallback value 2018-10-26 21:38:57 +01:00
Matt-Yorkley
77251848ee Refactor Spree::Admin::OrdersController 2018-10-26 21:38:57 +01:00
luisramos0
df36e0b344 In cart population, replace usage of global allow_backorders with variant.on_demand adapter 2018-10-18 18:37:09 +01:00