Commit Graph

689 Commits

Author SHA1 Message Date
Mohamed ABDELLANI
30537f7743 add "Weight/VOL." column to the invoice 2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
4634c2d965 add unit_price_price_and_unit to line_item serializer
*  unit_price_price_and_unit refers UnitPrice which refers to other attributes
that belong to variant and product.
Instead of collecting all the attributes that were using indirectly by the method and adding them to the serializers
I perefered to serialize the result of the method call.
2023-10-30 19:43:57 +01:00
Mohamed ABDELLANI
aa4798d35c add adjustables to the list of objects to serialize when creating an invoice 2023-10-11 09:27:16 +01:00
Mohamed ABDELLANI
d40338bed5 add adjustment originators to the order serialization
for some helpers like display_checkout_taxes_hash, it's needed to access the tax rates through the adjument's originator.
The adjustment's originator will store the minimal details: id, type and amount
2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
b027387bee add :originator_type to Invoice::AdjustmentSerializer 2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
68a6fb132a implement display_adjustment_tax_rates helper on the adjustment presenter
For every adjustment a list of tax rates will be created using TaxRateFinder.tax_rates_of.
This will prevent running the queries to find the tax rates during the invoice generation.
2023-10-11 09:26:50 +01:00
Mohamed ABDELLANI
33826631a3 reimplement the display_line_item_tax_rates helper on the line item presenter
1. reimplment the helper on the LintItem presenter
2. add the tax rate associated to the line items to the list of objects to serialize during the order serialization.
3. implement a presenter for the introducer tax rates.
2023-10-11 09:26:49 +01:00
Maikel Linke
6386a997d3 Compare adjustments in deterministic order for invoices
The comparator would sometimes compare two different adjustments when it
should have compared two versions of the same adjustment.
2023-09-21 16:37:07 +10:00
Neal Chambers
ed06edda3f Fix Style/HashSyntax 2023-09-13 16:45:00 +09:00
Jean-Baptiste Bellet
4c27e79519 Sanitize content when display it on shop
Use the TrixSanitizer | TrixScrubber
2023-09-04 15:46:54 +02:00
Matt-Yorkley
820f9530b2 Update product serializer 2023-08-08 11:36:31 +01:00
Mohamed ABDELLANI
9a3aef525a add distributor's phone number to list of attributes to serialize 2023-08-03 15:06:04 +01:00
Matt-Yorkley
5a48721af4 Update serializers, views, and JS for bulk products edit 2023-07-31 09:23:20 +10:00
Matt-Yorkley
42a3087cdb Remove :available_on attribute from Product class 2023-07-06 14:36:35 +01:00
Matt-Yorkley
fefa9288a4 Remove :permalink attribute from Product 2023-06-30 11:37:57 +01:00
Maikel
e065910d2d Merge pull request #10939 from Matt-Yorkley/master-variants
Remove master variants
2023-06-23 13:42:58 +10:00
Matt-Yorkley
113e1344f2 Include tax adjustments in serializer and presenter 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
61d58df56f fix linter issues 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
fa14dc370b implement the invoice data generator 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
d9efd10ac0 update attributes relevant for the comparaison 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0fbf88190e Generate invoice model
There are three main components:
1. The invoice model
2. order serializers: serialize the order for the invoice
3. data presenters: the object that will be use to access the order's serialize data
2023-06-18 21:03:13 +02:00
Matt-Yorkley
fbd09869bb Remove is_master from variant serializer 2023-06-16 21:23:44 +01:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
5ad37ce6a5 Return default image url on ActiveStorage errors in image loading 2023-06-14 12:53:20 +01:00
Matt-Yorkley
a898915724 Use named image variants 2023-06-14 10:56:10 +01:00
Neal Chambers
449430cabc Indent code to be more Readable 2023-06-09 16:39:29 +09:00
Matt-Yorkley
1995a44848 Improve eager-loading on admin products page adn resolve issue with serializer
For some reason eager-loaded data isn't passed to nested serializers when using associations. Defining the association as a method and passing in some optional paramaters resolves the issue.

This reduces queries run by the controller action by around 75%, as well as the response times.
2023-05-06 17:15:27 +01:00
Jean-Baptiste Bellet
70a6e9f44b Add a white_label_logo_link attribute to enterprise model 2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
e3001cc8c4 Add white_label_logo to enterprise model as attachment
Co-Authored-By: Maikel <maikel@email.org.au>
2023-04-20 08:45:03 +02:00
Konrad
2ace3afd67 Merge pull request #10606 from thejwuscript/10116-improve-bom-sorting
Sort orders by last name
2023-04-12 16:36:45 +02:00
binarygit
c5779eff81 Do not open modal for producer's who are 'hidden' 2023-04-11 14:27:57 +02:00
James Wu
a75f16e23c Implement full_name_for_sorting 2023-04-11 15:25:20 +10:00
James Wu
546e90b286 Sort orders by last names 2023-04-11 15:25:20 +10:00
Jean-Baptiste Bellet
89036db666 Do not use a preference, but create a new column for hide_ofn_navigation 2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
c20ae0de1e Edit hide_ofn_navigation in 'white label' panel for an enterprise 2023-03-30 09:17:57 +11:00
Maikel
512cb44df5 Merge pull request #10330 from mickenorlen/8909-add-balance-to-api-v1-customer-endpoint
Add balance to api v1 customers endpoint
2023-03-20 15:47:41 +11:00
cyrillefr
c015b2066f Sort correctly in Bulk Order Managment
Converting date to utc + iso8601 format is
    sufficient to ensure proper sorting.
2023-02-20 21:41:58 +01:00
Mikael Norlén
e95d08cae8 Add balance to api v1 customers endpoint
- customers#show: Add balance (data_type: double) to customer attributes.
- customers#index: Add balance only if specified in extra_fields
query parameter: extra_fields[customer]=balance
2023-02-15 11:14:27 +01:00
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