Commit Graph

89 Commits

Author SHA1 Message Date
Maikel Linke
a10bb5acbd Consider deleted products when creating permalinks
https://github.com/openfoodfoundation/openfoodnetwork/issues/3844

Spree's implementation and our implementation to create a unique
permalink failed to notice conflicts with soft-deleted products. This
patch looks at deleted products as well.
2019-06-11 18:20:41 +10:00
luisramos0
86b0d71c7e Result of rubocop auto-correct and rebuilding rubocop_manual_todo 2019-05-28 12:57:29 +01:00
luisramos0
04801e5c2e Run transpec in spec/models 2019-05-09 22:25:29 +01:00
luisramos0
c1d14686a6 Merge branch 'master' into 2-0-stable-Mar22 2019-03-22 10:55:17 +00:00
luisramos0
34d7070c6c Delete spec used to test product distributions (removed feature) 2019-03-13 12:24:40 +00:00
luisramos0
ed9321e92d Remove product distributions from product model and controller 2019-03-13 11:47:50 +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
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 Linke
5d828bd7ae Update soft-delete of products
Spree changed their way of soft-deleting products, variants and
some other models. `#destroy` is now soft-deleting and replaces
`#delete`.

This commit considers only products. Variants will follow in another
commit. The other models can be ignored, because we don't call `delete`
on them.
2019-02-19 14:25:18 +11:00
luisramos0
f0842fcbe5 Convert all calls to variant.count_on_hand to variant.on_hand 2019-02-18 21:54:07 +00:00
luisramos0
b52c99ac26 Delete on_hand test in product spec, this is already covered in product_stock_spec 2019-01-17 20:18:43 +00:00
Pau Perez
7834b1d3f3 Fix test case for invalid product master 2018-11-28 17:39:59 +01:00
luisramos0
d28f47046a Fix product model spec by removing unnecessary on_hand setter and adding required fields for a new product 2018-11-22 20:38:58 +00:00
Pau Pérez Fabregat
db9669b4ce Merge pull request #2817 from coopdevs/remove-reference-to-on-demand
[Spree Upgrade] Remove on_demand from Product serializers
2018-10-16 17:52:42 +02:00
Kristina Lim
da904c908d Fix product import date when not all variants have it 2018-10-06 03:03:22 +08:00
Pau Perez
75ad4254a6 Remove on_demand from Api::Admin::ProductSerializer
This change also moves the spec file to its appropriate place for the
sake of consistency and RSpec3-izes the test example.
2018-10-03 13:06:13 +02:00
Frank West
09534b41e9 Remove taxon when primary taxon is changed
We are adding taxons to the product as you change the primary taxon.
However we never remove the previous primary taxon so it forces the user
to update the taxons manually. This can be a big problem if you are bulk
updating products.

We now remove the taxon that matches the previously set primary taxon.
2018-07-04 09:16:50 +10:00
Rob Harrington
236ba9328d Order cycles in specs comply with new date validations 2018-04-04 17:18:33 +10:00
Rob Harrington
946046e53b Moving action for estimating standing_line_item prices into StandingLineItemController#build 2018-02-09 14:43:31 +11:00
Pau Perez
6cb038c362 Autocorrect rubocop Layout/BlockEndNewline cop 2018-02-01 09:52:53 +01:00
Rob Harrington
59578a73af Changing all references to 'be_true' and 'be_false' to 'be true' and 'be false'
See next commit for changes where this substitution was broken
2017-11-10 08:47:12 +11:00
Rohan Mitchell
6795237a2d Put timecop into safe mode and fix leaky Timecop.freeze 2016-11-25 14:14:42 +11:00
Rohan Mitchell
57363e2da5 When a product is deleted, touch the supplier and distributors 2016-11-25 14:14:42 +11:00
Rohan Mitchell
da9a3ce9f3 Refresh products cache when product is deleted (cf. destroyed) 2016-11-25 14:14:42 +11:00
Rohan Mitchell
1765ba0422 Fix spec dependent on product on_demand 2016-11-04 09:39:17 +11:00
Rohan Mitchell
58379a5e28 Extract property merging to lib class 2016-06-24 07:57:06 +10:00
Rohan Mitchell
422061f137 Merge branch 'master' into products-caching
Conflicts:
	app/controllers/shop_controller.rb
	app/models/enterprise_fee.rb
	app/models/order_cycle.rb
	app/models/variant_override.rb
	db/schema.rb
	lib/open_food_network/products_renderer.rb
	spec/lib/open_food_network/products_renderer_spec.rb
2016-03-03 09:42:52 +11:00
Rob Harrington
77e74c5642 OC Coordinators can opt to restrict products in an order cycle to those in their inventory only 2016-03-02 12:10:22 +11:00
Rohan Mitchell
0c0c98a0b0 Refresh products cache on product change 2016-02-24 15:05:01 +11:00
Maikel Linke
cd7721a127 Using date and time of current timezone
Using Time.zone.now and Date.current instead of Time.now and Date.today.
This should make all specs timezone independent.
2015-12-10 11:38:41 +11:00
Rohan Mitchell
c5c3051f98 Re-enable future spec 2015-07-10 09:42:09 +10:00
Rohan Mitchell
d9f4a92648 Do not use with_products_require_tax_category in around filters - Spree::Config has caching which isn't shared between contexts 2015-06-24 14:52:17 +10:00
Rohan Mitchell
bfeb63c8d7 Ensure that changes to Spree::Config.products_require_tax_category do not leak out of the relevant spec 2015-06-11 14:16:18 +10:00
Rohan Mitchell
7486daa2a3 Merge branch 'master' into require_standard_variant
Conflicts:
	spec/controllers/spree/admin/variants_controller_spec.rb
	spec/lib/open_food_network/permissions_spec.rb
	spec/lib/open_food_network/products_and_inventory_report_spec.rb
	spec/models/enterprise_spec.rb
2015-05-28 15:08:13 +10:00
Rohan Mitchell
97e49c2bdb Replace 'array.sort.should == expected.sort' pattern with match_array 2015-05-28 10:46:08 +10:00
Rob Harrington
5b65f67737 Amending spec expect after_create when we want after_save 2015-05-22 15:02:49 +10:00
Rob Harrington
992fb2347d Merging master branch into require_standard_variant 2015-04-29 14:30:49 +10:00
Rob Harrington
c66a7e44b6 Updating product model specs to reflect changes to properties 2015-04-23 15:37:41 +10:00
Rob Harrington
e546388784 Rename properties_h to properties_including_inherited 2015-04-22 21:02:07 +10:00
Rob Harrington
976c24cf4c properties_h uses inherit_properties flag, and returns property id rather than presentation 2015-04-22 21:02:07 +10:00
Rob Harrington
72d553ef0c Test actual deletion of variants 2015-04-17 16:51:02 +10:00
Rob Harrington
9ee25c4e42 Making spec better 2015-04-17 11:25:18 +10:00
Rob Harrington
2d7fb3fd67 Updating name of spec 2015-04-17 11:25:18 +10:00
Rob Harrington
a223a2d662 Cannot remove all variants from a product 2015-04-17 11:25:17 +10:00
Rob Harrington
5e2fe56c22 Cleanup 2015-04-17 11:25:17 +10:00
Rob Harrington
971723964e Update outdated spec 2015-04-17 11:25:17 +10:00
Rob Harrington
28486f9e76 Only adds standard variant on create 2015-04-17 11:25:17 +10:00
Rob Harrington
869551a17c Adding a standard variant again 2015-04-17 11:25:17 +10:00
Rob Harrington
13a910c372 Replace validates_associated on master with current spree method for error reporting master saves 2015-04-17 11:25:17 +10:00
Rob Harrington
0a7b01ff07 Product requires variant_unit and master requires unit_value and/or unit_desc 2015-04-17 11:25:16 +10:00