Commit Graph

89 Commits

Author SHA1 Message Date
Matt-Yorkley
0e82160b76 Touch the updated_at column when updating records via #update_column
#update_column(s) skips callbacks (which is useful), but it doesn't change the updated_at field on the record by default (which we should be doing in these cases).

This change is made in Spree 2.2 here: b367c629ce
2021-01-30 12:49:38 +00:00
Andy Brett
3ef4a74b84 Merge pull request #6655 from Matt-Yorkley/summing-amounts
Improve performance on summing adjustments and payment
2021-01-21 10:58:10 -08:00
Andy Brett
ca022e505a Merge pull request #6684 from Matt-Yorkley/subs-delivery
Use deliver_now in Jobs
2021-01-16 09:11:25 -08:00
Matt-Yorkley
b713219690 Use deliver_now in Jobs 2021-01-16 13:19:00 +00:00
Matt-Yorkley
5593da2928 Delete dead code #update_hooks
These hooks allow Spree core to be modified by other gems and apps without changing Spree code. We don't use it. #YAGNI
2021-01-15 16:49:45 +00:00
Matt-Yorkley
7d0ec48bcf Improve performance on summing adjustments and payment
:amount is a database field in these cases, as opposed to a method that returns a computed result. Calling `.sum(:amount)` is much more efficient here as it computes the sum at database level, as opposed to `.map(&:amount).sum`, which would fetch and instanciate all the objects first, and then sum the amounts after.
2021-01-13 16:16:49 +00:00
Matt-Yorkley
561cf23dc1 Remove #update_attributes_without_callbacks
This is a hacky Spree method that's removed in Spree 2.2

See: 7deba6a152
2021-01-13 16:02:21 +00:00
Matt-Yorkley
ff962c1c9b Change various Mailer invocations from #deliver_now to #deliver_later 2021-01-08 23:18:55 +00:00
Matt-Yorkley
3e6445c51c Replace deprecated ActionMailer#deliver with ActionMailer#deliver_now
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job.
2021-01-08 20:35:47 +00:00
Matt-Yorkley
98f42a1f81 Fix output of Package#inspect 2020-11-27 14:00:29 +00:00
Matt-Yorkley
71c6cee94c Fix "modifying frozen string" error in Package#inspect 2020-11-27 14:00:29 +00:00
Matt-Yorkley
3bfa903912 Revert "Move Spree::Admin::BaseController to Admin::BaseController" 2020-11-27 14:11:57 +01:00
Luis Ramos
c9972189d0 Change usage of Spree::Admin::BaseController to Admin::BaseController 2020-10-31 09:56:59 +00:00
Luis Ramos
e413920335 Move both OptionValueNamer and VariantAndLineItemNaming to app/services/variant_units 2020-09-03 09:11:00 -07:00
Luis Ramos
ea053552b9 Merge pull request #5938 from cillian/bulk-coop-report-filter-fixes
Fix the bulk coop report date and distributor filters.
2020-09-01 16:21:31 +01:00
Cillian O'Ruanaidh
a441979649 Pass in :report_type parameter correctly to bulk coop report so different report types are generated
Also add tests for each of the different report types. I didn't make these JavaScript tests because not sure that is necessary and they would be slower.
2020-08-28 11:09:34 +01:00
Pau Pérez Fabregat
2fa8cd54fd Merge pull request #5769 from Matt-Yorkley/customer-names
Customer names in reports
2020-08-27 15:39:47 +02:00
Cillian O'Ruanaidh
cdd09e8f97 Fix the bulk coop report date and distributor filters.
Before the date and distributor filters would have no effect. This is because the BulkCoopReport is still generated using an older style method, and isn't generated using the newer method like in the EnterpriseFeeSummaryReport. This older style report expects to receive a :q parameter but it actually received the newer style :report parameter so the filters were not being applied.

This keeps the newer style report params but converts them, after they are authorised as safe, into the older style in the controller.
2020-08-21 15:08:58 +01:00
Luis Ramos
d6160b5759 Merge pull request #5758 from luisramos0/order_updater
Bring Order Updater from spree_core
2020-08-19 20:47:27 +01:00
Matt-Yorkley
0b91991919 Add explanatory user message for viewing customer names 2020-08-14 20:48:33 +01:00
Pau Pérez Fabregat
70e2fb759c Merge pull request #5751 from luisramos0/subs_jobs
Add rescue statements with bugsnag alerts to subs jobs
2020-08-10 12:50:54 +02:00
Pau Perez
c8b738cbd5 Eager load spree_option_values_line_items
For the BulkCoop report to speed up. We move from an output like

```
web_1     |   CACHE (0.3ms)  SELECT id FROM "spree_line_items" WHERE "spree_line_items"."order_id" IN (SELECT id FROM "spree_orders" WHERE (("spree_orders"."distributor_id" IN (SELECT enterprises.id FROM "enterprises") OR "spree_orders"."order_cycle_id" IN (SELECT id FROM "order_cycles"))))
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 4]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 6]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 8]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 5]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 7]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 4]]
web_1     |   CACHE (0.0ms)  SELECT "spree_option_values".* FROM "spree_option_values" INNER JOIN "spree_option_types" ON "spree_option_types"."id" = "spree_option_values"."option_type_id" INNER JOIN "spree_option_values_line_items" ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id" WHERE "spree_option_values_line_items"."line_item_id" = $1 ORDER BY spree_option_types.position asc  [["line_item_id", 5]]
web_1     |   Rendered engines/order_management/app/views/order_management/reports/_report.html.haml (158.5ms)
web_1     |   Rendered engines/order_management/app/views/order_management/reports/bulk_coop/create.html.haml within spree/layouts/admin (187.3ms)
```

to

```
web_1     |   CACHE (0.0ms)  SELECT id FROM "spree_line_items" WHERE "spree_line_items"."order_id" IN (SELECT id FROM "spree_orders" WHERE (("spree_orders"."distributor_id" IN (SELECT enterprises.id FROM "enterprises") OR "spree_orders"."order_cycle_id" IN (SELECT id FROM "order_cycles"))))
web_1     |   CACHE (0.0ms)  SELECT "spree_option_types".* FROM "spree_option_types" WHERE "spree_option_types"."id" = $1 ORDER BY spree_option_types.position LIMIT 1  [["id", 1]]
web_1     |   Rendered engines/order_management/app/views/order_management/reports/_report.html.haml (101.1ms)
web_1     |   Rendered engines/order_management/app/views/order_management/reports/bulk_coop/create.html.haml within spree/layouts/admin (107.9ms)
```
2020-07-23 12:34:39 +02:00
Luis Ramos
e367cbd1e6 Fix one rubocop issues and add the remaining to the manual todo 2020-07-11 15:53:06 +01:00
Luis Ramos
bdf9c1e405 Simplify update_shipment_state based on the fact there's only one shipment per order in OFN 2020-07-11 15:53:06 +01:00
Luis Ramos
2070cfd5bb Fix easy rubocop issues 2020-07-11 15:44:23 +01:00
Luis Ramos
8001e63f77 Unnest OrderManagement::Order declaration in two module declaration 2020-07-11 15:44:23 +01:00
Luis Ramos
aed384183b Move Spree::OrderUpdater to OrderManagement engine 2020-07-11 15:44:23 +01:00
Luis Ramos
5648b2e281 Add rescue statements to subs jobs so that when an order placement or confirmation fails, there's a bugsnag alert for it and the job continues processing the rest of the orders 2020-07-08 18:41:14 +01:00
Luis Ramos
cd60ee2116 Use flat_map to make ship methods selection faster 2020-07-03 13:48:08 +01:00
Luis Ramos
21ec6ccf0d Remove unused sort packages from prioritizer 2020-07-02 21:24:15 +01:00
Luis Ramos
d323c5bdcb Simplify packer and coordinator baed on the fact that there's only one stock_location so there will only be one package per order 2020-07-02 21:24:15 +01:00
Luis Ramos
ff046f7a6c Remove conditionals related to Config.track_inventory_levels, this config is always true in OFN 2020-07-02 21:24:14 +01:00
Luis Ramos
ee66e37521 Move adjuster, estimator, packer and prioritizer to order management engine 2020-07-02 21:24:14 +01:00
Luis Ramos
83974a832c Move Coordinator from Spree::Stock to OrderManagement::Stock 2020-07-02 21:24:14 +01:00
Luis Ramos
f0b3ed0d79 Merge Spree::Stock::Package into OrderManagement::Stock::Package 2020-07-02 21:24:14 +01:00
Luis Ramos
943cb7bf05 Move Stock::Package to OrderManagement::Stock::Package 2020-07-02 21:24:14 +01:00
Luis Ramos
1b28592f58 Now that the stock code is on out side we can clean up!
Remove everything related to splitters (including bringing environment.rb so we remove the splitters variable from it
2020-07-02 21:24:14 +01:00
Luis Ramos
d18fec7125 Move Base splitter from main app models to order management engine services 2020-07-02 21:24:14 +01:00
Cillian O'Ruanaidh
a9664e103d Merge latest :master into :drop-blockenspiel branch and resolve conflicts related to Rubocop fixes. 2020-06-29 18:11:08 +01:00
Luis Ramos
8a9dae0ee2 Run rubocop autocorrect
This is the result of bundle exec rubocop --auto-correct
2020-06-22 12:23:10 +01:00
Pau Pérez Fabregat
db80992326 Merge branch 'master' into drop-blockenspiel 2020-06-19 12:12:10 +02:00
Cillian O'Ruanaidh
3abcb5b23c Don't move the :parameter_not_allowed_error translation to a different scope yet.
It will make it harder to merge and deploy this PR if every translation locale file has to be updated too.
2020-06-13 15:37:44 +01:00
Cillian O'Ruanaidh
bcf79ef803 Fix code climate violations related to removing blockenspiel. 2020-06-13 13:27:44 +01:00
Cillian O'Ruanaidh
6dbb6f3f09 Add an underscore before unused method arguments rather than an empty splat operator so it's easier to understand what is being passed in. 2020-06-13 13:09:09 +01:00
Cillian O'Ruanaidh
f90969134d Fix a couple of Rubocop violations. 2020-06-05 20:03:17 +01:00
Cillian O'Ruanaidh
bafa8beab3 Use :parameter_not_allowed_error_message to from base Reports::Authorizer. 2020-06-05 17:05:26 +01:00
Cillian O'Ruanaidh
e58852289f Move the :require_valid_datetime_range method to OrderManagement::Reports::Parameters::Base so it can be reused on multiple reports. 2020-06-05 16:58:56 +01:00
Cillian O'Ruanaidh
9172606780 Allow the order management report partial to be reused on different reports. 2020-06-05 16:51:43 +01:00
Cillian O'Ruanaidh
406309c577 Move BulkCoop reports out of deprecated lib/ directory into OrderManagement engine.
The BulkCoop reports are not generated the same way as the EnterpriseFeeSummary report is generated yet so that may need to be updated.
2020-06-05 16:43:38 +01:00
Luis Ramos
c9a7a6e897 Merge branch 'master' into 3-0-stable-jun-2 2020-06-02 16:00:45 +01:00