Commit Graph

9694 Commits

Author SHA1 Message Date
Robin Klaus
7dce53a77b Added inputmode attribute to show appropriate mobile keyboard for selected field 2020-05-06 12:46:37 +10:00
Steve Roberts
4573127c59 Add NavigationCheck to order cycles edit form
- Simplify if statements with safe navigation operator
- Simplify order cycle nav check spec
- Rename nav check callback so a comment is not needed and remove unnecessary assignation to $scope
2020-05-06 10:43:21 +10:00
Matt-Yorkley
13e4411b89 Add error message on cart populate failure and don't keep re-sending the data to the server.
This was triggering many requests to be continuously re-sent in a very problematic way (server-melting), and with no user feedback.
2020-05-05 17:22:10 +02:00
Matt-Yorkley
9a7807b134 Don't continuously re-post data on cart error 2020-05-05 16:04:05 +02:00
Matt-Yorkley
4f4b3fb206 Don't render twice 🙈 2020-05-05 15:21:05 +02:00
Matt-Yorkley
6afda87baf Add explanatory comment on soft-deleted variant stock logic 2020-05-05 13:57:50 +02:00
Matt-Yorkley
26ba76cff9 Fix soft-deletion in CartService and update spec 2020-05-05 13:57:50 +02:00
Matt-Yorkley
a3458aa562 Ensure VariantStockLevels can process soft-deleted variants 2020-05-05 13:57:50 +02:00
Matt-Yorkley
0e429da377 Return zero available stock (total_on_hand) for variants that are soft-deleted 2020-05-05 13:57:50 +02:00
Matt-Yorkley
068c8feea7 Merge pull request #5289 from Matt-Yorkley/cart-populate
Cart populate
2020-05-05 13:56:17 +02:00
Matt-Yorkley
805f91e838 Remove unnecessary #all call 2020-05-05 09:56:08 +02:00
Eduardo
2fca16f02f change shop name to be link to shop on transactions page 2020-05-04 07:06:07 -03:00
Mathew Button
fe6c810505 Add brackets in view instead of API response 2020-05-04 19:09:18 +10:00
Luis Ramos
e2b26b2e9c Replace break with if
What we would need would be a continue, not break, so that other units will be processed without halting the cycle through the units
2020-05-03 12:00:23 +01:00
Luis Ramos
b92e257e44 Fix codeclimate issue 2020-05-02 19:12:47 +01:00
Luis Ramos
fa908d4024 Extract change_order_cycle partial from main enterprise shop view 2020-05-02 19:01:36 +01:00
Luis Ramos
7fd14cf29b Adjust line height of select label and select itself 2020-05-02 19:01:36 +01:00
Luis Ramos
ef0e9dc0ca Replace select box with text when only one OC is available for selection 2020-05-02 19:01:33 +01:00
Luis Ramos
89cb447387 Hide OC selector if shop requires login/customer 2020-05-02 17:56:49 +01:00
Luis Ramos
9ae3ad9279 Move rule on option out of the select rule to fix rubocop issue 2020-05-01 17:43:52 +01:00
Luis Ramos
240e2a36d3 Make option color explicitly gray and not white otherwise we will have options render white on white on some browsers, namely chrome on windows 10 2020-05-01 17:39:12 +01:00
Mathew Button
8087e6b31b Show outstanding balance on orders page
Prior to this change, there was no way of knowing how much was owed (or
in need of refunding) at a glance for each order on the orders index page,
this information was only available by clicking through to an order
payment page

This change adds the outstanding balance for each order
2020-05-01 21:38:20 +10:00
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
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
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