Commit Graph

10354 Commits

Author SHA1 Message Date
Luis Ramos
74c7a01151 Merge pull request #5259 from luchiago/add-extra-social-media-to-emails
Add extra social media to order confirmation email
2020-04-30 15:01:09 +01:00
Pau Perez
1903134e13 Add timestamps to OC schedule join table
This is critical to debug bugs related to subscriptions.

Essentially, `has_and_belongs_to_many` doesn't give us the option for
any other column that the foreign keys themselves:

> A has_and_belongs_to_many association creates a direct many-to-many
> connection with another model, with no intervening model.

Source: https://guides.rubyonrails.org/v3.2/association_basics.html#the-has_and_belongs_to_many-association

Note however, that there's no way to update an order_cycle_schedule,
that I can think of but `updated_at` doesn't do any harm.
2020-04-30 15:00:13 +02:00
Pau Pérez Fabregat
4174ea69a1 Merge pull request #5247 from chrishil1/Placeholders_variant
Added placeholders in variant edit page
2020-04-30 12:05:59 +02:00
Pau Pérez Fabregat
676add18c3 Merge pull request #5322 from luisramos0/dead_content
Delete some dead views
2020-04-30 12:02:14 +02:00
Matt-Yorkley
a35f8cdb02 Move cache keys used in views into the cache service 2020-04-30 09:45:15 +02:00
Luis Ramos
8a107bee98 Merge pull request #5235 from luisramos0/mail_methods
Remove smtp config from admin config page
2020-04-29 19:10:02 +01:00
Matt-Yorkley
4054bdd722 Add Bugsnag call for "variant with no stock item" case 2020-04-29 17:34:48 +02:00
Matt-Yorkley
2bdda7de04 Change order of methods for easier reading 2020-04-29 17:22:46 +02:00
Matt-Yorkley
92a881c584 Simplify relation used in #exchanges_supplying 2020-04-29 17:19:16 +02:00
Pau Pérez Fabregat
f9f4bdae8f Merge pull request #5238 from Matt-Yorkley/moar-performance
Improve Pain Points
2020-04-29 16:36:15 +02:00
Luis Ramos
407d890d23 Merge pull request #5315 from Matt-Yorkley/ordercyles-controller-tweaks
OrderCylesController tweaks
2020-04-29 13:50:10 +01:00
Luis Ramos
a38b18bd0d Remove smtp config from admin config page 2020-04-29 13:34:19 +01:00
Pau Pérez Fabregat
e7df9bb58d Merge pull request #5178 from coopdevs/dont-populate-empty-cart
Dont populate empty cart
2020-04-29 13:08:26 +02:00
Matt-Yorkley
d3af3d3f27 Avoid extra query on stock_items every time #on_demand is called on a variant.
In the case where the variant has not been saved yet, we can use #new_record? here instead of #stock_items.empty?, to avoid an additional query. This can be called a vast number of times per request, in various N+1s. The other case where we need to return here is when a variant has been deleted, so #stock_items will be empty and #stock_item will be nil. Likewise, we can just check that with #deleted? and avoid #stock_items.empty?
2020-04-28 20:54:04 +02:00
Matt-Yorkley
9682544442 Eager-load and update BasicEnterpriseSerializer 2020-04-28 20:10:40 +02:00
Matt-Yorkley
f4bcf6c6d5 Eager-load line_item associations in order 2020-04-28 20:10:40 +02:00
Luis Ramos
e6fa08edfc Delete some dead views 2020-04-28 19:07:19 +01:00
Luis Ramos
f3e651b1f7 present? calls length which is breaking it with error ActiveModel::MissingAttributeError Exception: missing attribute: address_id
any? works well as it just verifies the size of the collection
2020-04-28 16:31:11 +01:00
Luis Ramos
7e12142f91 Collection must be after load_data so that hubs are already available for VOs calculation 2020-04-28 16:31:11 +01:00
Luis Ramos
9e43661127 Merge pull request #5153 from luisramos0/bye_bye_ga
Bye bye Google Analytics
2020-04-28 16:09:16 +01:00
Matt-Yorkley
4d098448f5 Cache rendered AMS arrays in darkswarm layout based on latest timestamps of rendered object classes 2020-04-28 15:11:59 +02:00
Matt-Yorkley
eb5f8b85ff Touch primary taxon when a product's primary_taxon is changed 2020-04-28 15:11:59 +02:00
Matt-Yorkley
1b18808d21 Touch ShippingMethod when it's assigned to a new distributor 2020-04-28 15:11:59 +02:00
Matt-Yorkley
6ef345c5d8 Touch taxon when a taxon is applied to a product 2020-04-28 15:11:59 +02:00
Matt-Yorkley
a25a75bbe8 Ensure action caching includes GET params
By default the auto-generated action cache keys looks like this:
`views/0.0.0.0:3000/api/order_cycles/1/properties`

With this change the cache keys now look like this:
`views/0.0.0.0:3000/api/order_cycles/1/properties?distributor=3`
2020-04-28 15:11:14 +02:00
Matt-Yorkley
ea1ec1a1c6 Use ActionCaching in OrderCyclesController (taxons and properties) 2020-04-28 15:11:12 +02:00
Matt-Yorkley
975afb3152 Enable use of Action Caching in the API 🎉
See: https://guides.rubyonrails.org/api_app.html#adding-other-modules
2020-04-28 15:11:00 +02:00
Luis Ramos
839b373b5c Merge branch 'master' into 3-0-stable-Apr28 2020-04-28 13:40:19 +01:00
Matt-Yorkley
ac166f3590 Add CacheService 2020-04-28 14:15:16 +02:00
Matt-Yorkley
e4985a9d51 Avoid needlessly fetching the current user records (for authentication and API key checks)
These endpoints are absolutely public, and don't need the current user at any point.
2020-04-28 14:06:02 +02:00
Matt-Yorkley
eb7de18298 Return early (before hitting the DB) in complex product list rendering if we already know the order cycle is closed 2020-04-28 13:51:25 +02:00
Matt-Yorkley
67a7140642 Memoize distributor and order_cycle in Api::OrderCyclesController 2020-04-28 13:48:07 +02:00
Luis Ramos
868929eed3 Merge pull request #4993 from luisramos0/move_ent_fees
Change engine routes to better work with specs in rails 4
2020-04-28 11:48:41 +01:00
Matt-Yorkley
74e81b078f Avoid N+1s in Order#cap_quantity_at_stock! 2020-04-28 01:11:28 +02:00
Matt-Yorkley
3fa2b3161f Avoid N+1s when using OrderCycle#exchanges_supplying 2020-04-28 01:10:07 +02:00
Matt-Yorkley
fe2bf8d531 Eager-load variants and stock items when doing stock checks on multiple variants 2020-04-28 01:05:42 +02:00
Matt-Yorkley
eb858159ce Eager-load :default_price on variants 2020-04-28 01:04:22 +02:00
Matt-Yorkley
43869fc140 Replace fired events with clearer method call
The 'spree.cart.add' event has no listeners in spree_core on in ofn. The 'spree.order.contents_changed' just has a single listener that calls `order.update_distribution_charge`.
2020-04-28 00:56:18 +02:00
Matt-Yorkley
a5c4364f92 Fetch (or create) current_order only once 2020-04-28 00:52:09 +02:00
Luis Ramos
248b0016d4 Remove trackers and google analytics 2020-04-27 18:40:33 +01:00
Luis Ramos
d8d6bad11c Remove config and sections related to google analytics in the cookies banner and cookies page 2020-04-27 18:40:00 +01:00
Luis Ramos
ab16931d70 Merge pull request #5257 from luisramos0/stripe_sca_payments_last
StripeSCA - reuse better method to fetch last payment of an order to avoid nasty bugs in the future
2020-04-27 18:34:35 +01:00
Matt-Yorkley
468cb3f57e Remove obviously private methods from the public interface in CartService
These methods are not called from anywhere in the app, only in a couple of tests in cart_service_spec.
2020-04-27 19:27:07 +02:00
Matt-Yorkley
1152f307e2 Eager-load associated line_items data in #update_distribution_charge! 2020-04-27 19:27:07 +02:00
Matt-Yorkley
25525d4f75 Use guard clause in each block 2020-04-27 19:27:07 +02:00
Matt-Yorkley
a759d8c7c7 Avoid N+1s for variants and for line_items of variants 2020-04-27 19:27:07 +02:00
Matt-Yorkley
b3242041e5 Return earlier (before scoping process, if possible) 2020-04-27 19:27:07 +02:00
Matt-Yorkley
106bb7a27f Rename some variables and add comments for clarity in cart_service 2020-04-27 19:27:07 +02:00
Matt-Yorkley
2334ab6d00 Delete some dead code in cart_service
This Bugsnag error was added a year ago and hasn't been seen
2020-04-27 19:27:07 +02:00
Matt-Yorkley
11af5dffdc Memoize scoper in cart_service
Avoids fetching all of the hub's variant overrides from the db every time it's initialized.
2020-04-27 19:27:07 +02:00