Matt-Yorkley
123d1963ad
Remove duplicate method
2018-10-12 17:00:19 +01:00
Matt-Yorkley
3cb43121d5
Refactor long lines for new character limit
2018-10-12 17:00:18 +01:00
Matt-Yorkley
bd4f0507ce
Adjustments for new Settings and ResetAbsent classes
2018-10-12 16:57:13 +01:00
Matt-Yorkley
1c85de6f58
Use producer and distributor for field names
2018-10-12 16:57:13 +01:00
Matt-Yorkley
5c2b5377bc
Assign supplier_id when saving new product to products list
2018-10-12 16:57:13 +01:00
Matt-Yorkley
e7a909e828
Rename supplier to enterprise
2018-10-12 16:57:13 +01:00
luisramos0
b7416e42f4
Adapt tax_rate_decorator to new spree version. Spree's default tax calculator now is checking line_items tax category, not the product tax category. See Spree's change here: a0a4b91f13 (diff-46e557ca8717d6ab5039470a40d00ea8)
2018-10-11 23:02:17 +01:00
fabricio.albarnaz
6ad32fb66d
Add check for instagram.com
2018-10-11 18:05:18 -03:00
fabricio.albarnaz
e46b3566c3
Remove the check for www.instagram.com
2018-10-11 16:51:43 -03:00
fabricio.albarnaz
e87075aed7
Add before save to check the instagram link pattern
2018-10-11 15:27:46 -03:00
Matt-Yorkley
57c6530e46
DRY code and use more flexible I18n
2018-10-11 16:38:14 +01:00
Pau Perez
5bd375d422
Favor early return over dumb else branch
2018-10-11 15:52:40 +02:00
Pau Perez
c8c16f0e8a
Use Rails 3.2 validates syntax
2018-10-11 15:52:40 +02:00
Pau Perez
cbac916e66
Validate unit value when updating variant_unit
...
Variants whose product's variant_unit is weight or volume require
a unit_value.
2018-10-11 15:52:40 +02:00
Pau Perez
a2228d4131
Make ProductSet parseable by humans
...
Now it's imposible to understand what is really going on. Feels more
like assembler than Ruby.
2018-10-11 15:52:40 +02:00
Pau Perez
d43726504b
Make #update_attributes parseable by humans
...
As it is this is impossible to follow.
2018-10-11 15:52:40 +02:00
Pau Perez
2d60b3180e
Wrap and improve comment block readability
2018-10-11 15:52:40 +02:00
Pau Pérez Fabregat
227dd3e399
Merge pull request #2831 from kristinalim/fix-product_import_date_error
...
Fix product import date error when some but not all variants have import date
2018-10-09 16:37:25 +02:00
Pau Pérez Fabregat
f5573f419b
Merge pull request #2778 from coopdevs/refactor-entry-processor
...
Refactor entry processor
2018-10-08 17:11:23 +02:00
Matt-Yorkley
b78716c283
Fix missing local variable
2018-10-08 14:49:29 +01:00
Kristina Lim
da904c908d
Fix product import date when not all variants have it
2018-10-06 03:03:22 +08:00
niko
3ae38178a3
Move query from variant_overrides_controller to its model scope
2018-10-04 02:43:02 +02: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
luisramos0
3fbb98519d
Adapt tax_rate_decorator to new spree version. Spree's default tax calculator now is checking line_items tax category, not the product tax category. See Spree's change here: a0a4b91f13 (diff-46e557ca8717d6ab5039470a40d00ea8)
2018-10-02 23:28:47 +01:00
luisramos0
bed4ec4102
Improve docs and readability on tax_rate_decorator
2018-10-02 16:15:10 +01:00
Pau Perez
6a7359a3c5
Pass supplier_ids in strategy #reset instead
...
This removes the need to expose supplier_ids through #<< and makes both
ResetAbsent and its strategies simpler.
This could be made even simpler if the strategies just implemented
`#relation` as public method and ResetAbsent called `#update_all` on
them. The data to be fetched is the only thing that changes but the
update is the same.
2018-10-01 17:37:49 +02:00
Pau Perez
82654cd1ee
Turn delegation to a reader to make it simpler
...
This makes the solution less smart and as a result ResetAbsent improves
it's consistency and returns always an integer.
2018-10-01 16:40:34 +02:00
Pau Perez
148321f7b7
Make strategies class names more explicit
2018-10-01 16:40:34 +02:00
Pau Perez
af93af1a64
Replace strategy with a more explicit name
2018-10-01 16:40:34 +02:00
Pau Perez
8715fce295
Remove @import_settings in favor of Settings
2018-10-01 13:12:06 +02:00
Pau Perez
fd69c7672d
Add specs for ResetAbsent strategies
...
This also fixes the case where there are no overrides to exclude.
2018-10-01 13:12:06 +02:00
Pau Perez
d527f6265a
Remove pointless sum
2018-10-01 13:12:06 +02:00
Pau Perez
5eb10edbfd
Inject #updated_ids to strategy
...
Their values are known beforehand.
2018-10-01 13:12:06 +02:00
Pau Perez
186801a1e2
Remove unused supplier_ids argument
2018-10-01 13:12:06 +02:00
Pau Perez
f04fa4ed63
Do not treat ResetAbsent as a decorator anymore
...
This fully encapsulates it's logic and reduces its tight coupling with
EntryProcessor.
2018-10-01 13:12:06 +02:00
Pau Perez
95ae18a1ba
Remove method delegation
2018-10-01 13:12:06 +02:00
Pau Perez
54d6bc5443
Don't use importing_into_inventory? in ResetAbsent
...
This completely decouples ResetAbsent from the particular strategy used.
2018-10-01 13:12:06 +02:00
Pau Perez
a10e58e20a
Inject strategy_factory into ResetAbsent
2018-10-01 13:12:06 +02:00
Pau Perez
a9444b8909
Extract InventoryReset and Products strategies
...
Extract this strategy classes from ResetAbsent and move #reset there.
2018-10-01 13:12:06 +02:00
Pau Perez
8d7a11b0ac
Make all steps of the algorithm have 2 branches
2018-10-01 13:12:06 +02:00
Pau Perez
23471346b6
Do not call ResetAbsent when preconditions not met
2018-10-01 13:12:06 +02:00
Pau Perez
a409353d37
Move import_settings query methods to Settings
2018-10-01 13:12:06 +02:00
Pau Perez
b940f06238
Return early if reset_all_absent is not set
...
No need to go through half of the algorithm if the setting is not
enabled. It does not change per enterprise.
This also assumes "Previously we were updating both (products and inventory)
at the same time during one import, but now it's one or the other" in
Matt's words.
2018-10-01 13:12:06 +02:00
Pau Perez
c955e151b7
Pass enterprise ids as strs as current code does
2018-10-01 13:12:06 +02:00
Pau Perez
e04162415a
Move code comment to be the method's doc
2018-10-01 13:12:06 +02:00
Pau Perez
5ac3598550
Inject Settings object in ResetAbsent
2018-10-01 13:12:06 +02:00
Pau Perez
b5766a2dd9
Extract common conditional clauses
...
This also turns local vars into ivars so that the behaviour can be
thoroughly tested. These ivars are meant to be removed once this class
is refactored further. Now there's no other way to ensure its state.
2018-10-01 13:12:06 +02:00
Pau Perez
ed073e9750
Rely on Settings and don't access internal struct.
2018-10-01 13:12:06 +02:00
Pau Perez
663db47433
Move products_reset_count to ResetAbsent
2018-09-29 10:57:23 +02:00
Pau Perez
3150741849
Extract ResetAbsent class from EntryProcessor
2018-09-29 10:57:18 +02:00