Commit Graph

641 Commits

Author SHA1 Message Date
Filipe
996d3afe4f Merge pull request #9983 from cillian/remove-exchange-tags-n1-query
Remove N+1 query loading tags for each order cycle exchange
2022-12-07 17:38:41 +00:00
Cillian O'Ruanaidh
a8816b3788 Remove debugging code left in by accident 2022-11-18 14:40:30 +00:00
jibees
6dcc50ad15 Revert "Cache address JSON to avoid database queries" 2022-11-15 10:40:22 +01:00
Cillian O'Ruanaidh
fbe6dcba7a Remove N+1 query loading tags for each order cycle exchange 2022-11-11 17:01:46 +00:00
Maikel Linke
118c1f7cbd Cache address JSON to avoid database queries
We found that our database is quite busy querying the country all the
time. One source of these queries is the shop front which serializes
enterprises including their addresses. But addresses should be safe to
cache because:

- country records never change
- state records never change
- updating any other attribute changes the cache key

The caching was previously removed when the state_name attribute was
added. That is technically correct because it's possible to change a
state's name without updating the address. Then the cache would be out
of date. But we never update state names. And if we did, we would need
to invalidate the cache now.
2022-11-03 13:07:59 +11:00
Ashwini Seshadri
590a09f069 Fixed the permissions relationship, so the shop displays only suppliers and does not display distributors in producers list
and updated relevant tests
2022-10-12 16:48:31 +11:00
Vishal Jain
6ead127b5c add not hidden scope to hide hidden hub from producers profile 2022-10-07 11:24:32 +02:00
Maikel Linke
6c0d4cffe5 Allow customer's address update with country code
The customer endpoint now serves 2-letter ISO codes for countries and
accepts these for updates. It also serves and accepts region codes
(abbreviations) like VIC for Victoria.

Updates treat these fields as case-insensitive and either code or name
have to be present.

This commit also updates the Swagger documentation.
2022-07-19 09:49:42 +10:00
Jean-Baptiste Bellet
cc135c8190 API V1, Customer endpoint: region and country as object 2022-07-15 14:54:33 +02:00
Arthur Vieira
0deb3cd782 Replace url generation with 'whatsapp_url' method
As suggested by mkllnk's following comment:
1eda7d8a4c (r890656117)
2022-06-30 19:19:10 -03:00
Arthur Vieira
77360f41af Show WhatsApp link on contact modal on map
Strips '+' and ' ' characters from the phone number for the generated
link, but doesn't guarantee the link is valid because the number
registered isn't validated for now.
2022-06-30 19:19:10 -03:00
Jean-Baptiste Bellet
3c05fc3c80 Add fees name for a variant to its serializer 2022-06-21 14:42:22 +02:00
Maikel Linke
4facab0335 Guard against invariable file types
Australian production had one JPG image which was not recognised as
such. The `content_type` was missing and trying to generate a URL for a
variant raised an error and crashed the page.

Testing for `variable?` includes testing for `attached?` and is more
defensive.
2022-06-01 17:16:55 +10:00
Maikel Linke
b7efa1b018 Replace Paperclip on Spree::Image 2022-06-01 17:16:55 +10:00
Maikel Linke
4a0ed99919 Replace Paperclip on Enterprise model
We configured Paperclip to convert images to JPG in some cases but I
omitted that here because we don't need it. If an image is better
represented as PNG or another format then the user should be able to
choose that.

Some specs were also testing the generated URL but the Active Storage
URL doesn't contain a style name anymore and it's not helpful to test
the URL.
2022-06-01 17:16:55 +10:00
GeorgeThoppil
898c470c00 Change enterprise visibility scope 2022-04-21 20:27:28 -04:00
Maikel
a145b97c28 Merge pull request #9103 from jibees/add-customer-id-to-order-endpoint-on-api
API: Add customer_id as an attribute to the GET /orders/ORDER_ID endpoint
2022-04-20 14:28:31 +10:00
Jean-Baptiste Bellet
d38e14ca5c Add customer_id as an attribute to order_detailed_serializer
Therefor customer_id will be available on the order object for `/api/v0/orders/[ORDER_ID].json` endpoint
2022-04-15 14:23:55 +02:00
Nihal Mohammed
15e7a5a4df Rename product_stock_display to product_low_stock_display
Rename product_stock_display to product_low_stock_display in enterprise_serializer and shop_variant_controller
2022-04-15 10:59:42 +10:00
Jean-Baptiste Bellet
1c68293cac Display remaining stock for variant in the shopfront
Display only if all conditions are met:
 - Variant is not a bulk buy
 - Shop preference is true for `preferred_product_stock_display`
 - Only 3 (or less) items are remaining in stock
 - No item for this variant is already to cart
2022-04-15 10:53:28 +10:00
Nihal M. Kelanthodika
f7a767988c Add preferred_product_stock_display to Enterprise model, serializer and permitted attributes. (Fixed alignment of guest orders radio button as well) 2022-04-15 10:53:28 +10:00
Maikel
a4bffc61f1 Merge pull request #8997 from apricot12/8968-Group-products-by-supplier-P1
Sort products by supplier in invoice
2022-04-13 11:54:12 +10:00
Maikel Linke
51420934f3 Add billing and shipping address to customer 2022-03-28 10:58:18 +11:00
Maikel Linke
adc7e97e62 Add tag list to customer endpoint 2022-03-28 10:55:58 +11:00
Maikel Linke
e5e8953a09 Add ToS acceptance to customer endpoint
It's another read-only attribute.

Please note that JSON:API specifies a format of `date-time` which we
don't adhere to because it uses a `Z` in front of the timezone offset
which doesn't seem to be included in the default json serialisation.

So I didn't add the format and left it as simple `string`. Problem?
2022-03-28 10:55:58 +11:00
Maikel Linke
3baed683b1 Add allow_charges attribute to customers endpoint 2022-03-28 10:55:57 +11:00
Maikel
877002afd8 Merge pull request #8891 from mkllnk/api-customers
Create API v1 with customers endpoint
2022-03-22 19:37:23 +11:00
Nihal Mohammed
992cb9d920 Add invoice_order_by_supplier attribute to enterprise 2022-03-21 20:29:19 +05:30
Filipe
87c79a5941 Merge pull request #8294 from guidoDutra/8131-cancel-empty-orders-on-BOM-page
Cancel empty orders on BOM page
2022-03-18 11:24:26 +00:00
Jean-Baptiste Bellet
aa71e12020 Serialize variant_unit_scale to be used in the Bulk Order Managment
to retrieve scale of the product
2022-03-08 14:55:25 +01:00
Matt-Yorkley
d66d6d6bd6 Update use of links on relationships 2022-03-02 11:58:04 +11:00
Matt-Yorkley
76f14a03c6 Add specs and JSON schemas
Include test helpers
2022-03-02 11:55:46 +11:00
Matt-Yorkley
cc4192047e Fill out customers controller
Add customer serializer
2022-03-02 11:55:46 +11:00
François Turbelin
836a60a6c7 Add missing full_name bind to subscriptions serializer 2022-02-16 10:23:23 +11:00
Adrien Chauve
9b93102a96 More fixes 2022-02-16 10:23:22 +11:00
Matt-Yorkley
1c180299a5 Pass indexed payment method tags to PaymentMethod Serializer 2022-02-08 11:42:24 +00:00
Matt-Yorkley
37b5e1b014 Allow Payment Method Serializers to receive options 2022-02-08 11:42:24 +00:00
Maikel Linke
ee85b9654d Remove references to StripeConnect class 2022-01-24 12:35:45 +11:00
Guido Oliveira
db45d7f4eb Cancel empty orders on BOM page 2021-11-06 10:25:34 -03:00
Matt-Yorkley
cf5d964133 Update usages of old preference getters and setters 2021-11-04 11:48:30 +00:00
Jean-Baptiste Bellet
fc8cd30cce Add the tax_category_id for each adjustement
- This tax_category_id could be null
 - Special case if the originator is a Spree::TaxRate: then use the tax_category_id of the originator

Co-Authored-By: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com>
2021-10-28 15:04:43 +02:00
Jean-Baptiste Bellet
115dac3ca9 Add tax_category_id for a line_item 2021-10-18 10:56:27 +02:00
Matt-Yorkley
8393414bf5 Adapt admin enterprise form handling for both address and business_address 2021-10-06 15:06:56 +05:30
Maikel
a3c31f7d86 Revert "Kill stripe connect" 2021-09-20 08:39:34 +10:00
Luis Ramos
60a8ae6675 Remove Stripe Connect gateway and related code 2021-09-10 14:43:24 +05:30
Maikel Linke
e013d81e3d Simplify safe navigation operator use < and [] 2021-09-10 14:40:46 +10:00
Matt-Yorkley
1d5077061e Remove andand
This old gem implemented some functionality for handling nils which is no longer needed, as it's provided natively by Ruby with the &. operator.
2021-09-08 14:28:31 +01:00
Matt-Yorkley
28bf71e77e Fix N+1 in CachedEnterpriseSerializer 2021-08-16 14:58:52 +01:00
Andy Brett
46cd05c54a Merge pull request #7712 from guidoDutra/1861-enable-shopfront-sorting-by-producer
Enable sorting by producer in shopfront
2021-07-06 09:27:42 -07:00
Pau Pérez Fabregat
db993652c4 Merge branch 'master' into payment-states 2021-06-18 12:20:26 +02:00