Commit Graph

1545 Commits

Author SHA1 Message Date
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
Pau Perez
f743b5f02f Extract Settings from Product Import processor
This encapsulates the data structure used by the entry processor to
check various settings. It still requires a lot of work to move more
logic to this new class.
2018-09-24 13:55:33 +02:00
Pau Pérez Fabregat
b8417058b4 Merge pull request #2741 from coopdevs/refactor-checkout-process-bits
Refactor checkout process bits
2018-09-24 12:08:19 +02:00
Pau Pérez Fabregat
20077c99b5 Merge pull request #2618 from coopdevs/enable-style-send-cop
Favor #public_send over #send using Rubocop's cop
2018-09-20 19:03:40 +02:00
Pau Perez
a2b3d8372e Reduce complexity of OrderUpdater decorator 2018-09-19 16:03:33 +02:00
Pau Perez
2a0e0eed73 Move state_machine's additions inside class_eval
And also cover them with tests.
2018-09-18 11:20:32 +02:00
Pau Perez
1fdc578901 Increase readability (a bit) of OrderUpdater 2018-09-18 11:20:32 +02:00
Pau Pérez Fabregat
0f627cdf39 Merge pull request #2661 from kristinalim/translations-copy_of_order_cycle
Translate "COPY OF" when cloning an OC
2018-09-17 12:38:29 +02:00
Maikel
e836ac0234 Merge pull request #2686 from HugsDaniel/2593_customize_user_guide_link
Enable setting a customized user guide link in general settings
2018-09-14 15:46:05 +10:00
Maikel
beedd933e9 Merge pull request #2512 from kristinalim/feature-remove_enterprise_images
Support removal of enterprise logo and promo image
2018-09-14 15:07:24 +10:00
Hugo Daniel
8dd0e01b8e Use explicit syntax for section objects in preference_sections definition 2018-09-13 12:34:06 +02:00
Maikel Linke
a447fe4f40 Require lib file where needed
We can't always rely on other parts of the code been loaded first. We
need to declare dependencies so that they are always present.

I just ran into this problem in my dev environment.
2018-09-13 12:01:16 +10:00
Hugo Daniel
cc43d789e2 Refacto edit method for content controller and enable custom user guide link 2018-09-12 14:51:53 +02:00
Kristina Lim
2c2dd62f6a Translate "COPY OF" when cloning an OC 2018-09-08 02:06:52 +08:00
Maikel
3e0c74494d Merge pull request #2604 from Matt-Yorkley/pi/updating_variants_bug
Pi/updating variants bug
2018-09-07 15:10:18 +10:00
Pau Perez
b23cb55525 Fix current violations of Style/Send cop 2018-09-05 12:05:05 +02:00
Kristina Lim
9c3bb863da Add endpoints for removing enterprise images 2018-09-04 01:32:39 +08:00
Matt-Yorkley
4dfbbd60d4 Fix occasional StaleObjectError on variant updates 2018-08-31 19:47:08 +01:00
Matt-Yorkley
75a9ea5bfa Prefer .flat_map(&foo) over .map(&foo).flatten 2018-08-31 15:38:38 +01:00
luisramos0
1b4e0cd73a Made the menu config default values more user friendly 2018-08-31 11:23:11 +10:00
luisramos0
e573a3fc2b The main menu is now translatable and configurable using Content configuration and translations. Added 7 menu entries to the translations file (each with text and url) and 7 content configuration points to enable/disable these. The mobile menu icons can also be configured. 2018-08-31 11:23:11 +10:00
Matt-Yorkley
6b9b8d8b73 Match multiple product names 2018-08-28 03:26:17 +01:00
Maikel
8eee8f96ed Merge pull request #2557 from Matt-Yorkley/pi/class_descriptions
Class descriptions for Product Import
2018-08-24 18:14:12 +10:00
Matt-Yorkley
717f626dfe Refactor enterprise validation 2018-08-24 15:51:37 +10:00
Matt-Yorkley
2b057a26d5 Add primary_producer to index to reduce queries 2018-08-24 15:51:37 +10:00
Matt-Yorkley
666fbf53bf Validate enterprise.is_primary_producer? 2018-08-24 15:51:37 +10:00
Maikel
a37931afda Merge pull request #2542 from luisramos0/add_to_cart
Extract OrderController.populate to new CartController and OrderPopulator to new CartService
2018-08-24 14:43:33 +10:00
Maikel
bf55190136 Merge pull request #2546 from Matt-Yorkley/pi/sku_validation
Remove empty SKU values if empty
2018-08-24 14:32:00 +10:00
luisramos0
05bfc098ff /controllers/spree/order_populator_decorator (with a class_eval) is now /services/CartService with no dependency to Spree::OrderPopulator. 2018-08-23 12:39:55 +01:00
Maikel
4417a8f156 Merge pull request #2539 from luisramos0/delete_dead_cart
removed Cart route, controller, model and specs: dead code
2018-08-22 17:35:58 +10:00
Matt-Yorkley
fbbbc93aba Class descriptions for Product Import 2018-08-18 11:42:02 +01:00
Matt-Yorkley
28b1fc076a Remove empty SKU values if empty 2018-08-16 14:29:50 +01:00
luisramos0
91e57cb893 Removed Cart table, its dependency on spree orders table and removed some more dead code related to this 2018-08-15 23:29:28 +01:00
luisramos0
4b64369ddb Added GA and Matomo toggle in Legal Settings in the global settings in the BO and added GA and Matomo cookies details to the cookies policy page (according to what is configured in the BO) 2018-08-14 10:01:48 +10:00
luisramos0
ca35c59e52 Moved the footer TOS URL from the content settings to the new section legal settings in the global settings 2018-08-14 10:01:48 +10:00