Commit Graph

10354 Commits

Author SHA1 Message Date
Luis Ramos
db7146014c Rename exchange products file names to increase clarity 2019-12-13 12:24:19 +00:00
Luis Ramos
c6af55d9ae Restructure exchange products panels so that OC simple form does not include header and footer (product count and pagination) of the non-simple OC form 2019-12-13 12:24:16 +00:00
luisramos0
7ad8951375 DRY exchange products templates by extracting header and footer content to partial templates 2019-12-12 18:49:11 +00:00
luisramos0
99e59595b4 Add spinner when loading all products in an exchange 2019-12-12 18:48:36 +00:00
luisramos0
7e3b6e2b5d Fix select all checkbox state in both incoming and outgoing exchanges by using the total count of variants to see if all variants are selected or not, even if not all variants are loaded 2019-12-12 18:48:36 +00:00
luisramos0
a9598c5d97 Only show load more and load all if not all products are loaded already 2019-12-12 18:48:36 +00:00
luisramos0
3e5b7ebbf1 Show exchange products list only after first page of products is loaded 2019-12-12 18:48:36 +00:00
luisramos0
1a9c3007b0 Make select all work again in incoming exchanges by loading alll products before triggering the select all process 2019-12-12 18:48:35 +00:00
luisramos0
2f7fd1482a Add link to load all products at the top of the list of products and include summary of number of products loaded already 2019-12-12 18:48:35 +00:00
luisramos0
0416521772 Add load all prouducts button to list of exchange products 2019-12-12 18:48:35 +00:00
luisramos0
cfe3f72d0e Add load more button to list of exchange products 2019-12-12 18:48:35 +00:00
luisramos0
00478cc57c Add count variants endpoint and use it instead of loading exchange products 2019-12-12 18:48:35 +00:00
luisramos0
d5e42ee1e5 Paginate exchange products results
This commit breaks the OC page when there are more than 100 products in an exchange
2019-12-12 18:48:35 +00:00
luisramos0
9451f1b66d Remove funky panel open listener code and initialize the panel data with a ng-init in the panel template 2019-12-12 18:44:45 +00:00
luisramos0
ff584f9be9 Adapt exchange products routes to make api/exchanges/products (without exchange_id) also go to exchange_products#index 2019-12-12 18:44:45 +00:00
luisramos0
a589ba38da Rename exchanges_products_controller to better exchange_products_controller 2019-12-12 18:44:45 +00:00
luisramos0
a4a2f98b6e Rename Product service to more appropriate ExchangeProduct 2019-12-12 18:44:45 +00:00
luisramos0
f5ddbfbac3 Make Product service more simple, there's no need to keep the data structure, that is already kept in the controller 2019-12-12 18:44:45 +00:00
luisramos0
a66a4c3edb Remove unnecessary passing of scopes around in controllers 2019-12-12 18:44:45 +00:00
luisramos0
8179252924 Replace the use of this with 2019-12-12 18:44:45 +00:00
luisramos0
0bec492208 Fix some rubocop issues 2019-12-12 18:44:45 +00:00
luisramos0
5cf50f0adf Convert the manipulation of arrays into active record relations: let the DB do the matching job 2019-12-12 18:44:45 +00:00
luisramos0
197fb36524 Extract ExchangeProductsRenderer from ExchangesProductsController 2019-12-12 18:44:45 +00:00
luisramos0
62e6f09d94 Make exchange products more simple 2019-12-12 18:44:45 +00:00
luisramos0
79b2460664 Make simple create and edit OC load exchange products on init
Simple create makes a new type of call to exchange products with no exchange_id and no prder_cycle_id, it simply lists supplied products for a given enterprise
2019-12-12 18:44:44 +00:00
luisramos0
66f3656bb5 Register products panel listeners after OrderCycle is loaded instead of using recurrent timeouts
Also, use this same approach for the case where a new distributor or new supplier is added to the list of exchanges
2019-12-12 18:44:44 +00:00
luisramos0
6b087adab8 Add route to process requests to exchanges/products without exchange id
This is needed when products for an exchange that is not yet saved are requested
2019-12-12 18:44:44 +00:00
luisramos0
3653b88da6 Make exchanges_products_controller more independent of the exchange field 2019-12-12 18:44:44 +00:00
luisramos0
3223bf930d Make total number of products in exchange work again.
Currently we are just loading the products from the server and count them.
This can be improved easily in two ways:
- we can switch this to a specific product count call to the server so that we dont load all products all the time
- or we paginate the products result and fetch the total_number from the payload of the first page.
2019-12-12 18:44:44 +00:00
luisramos0
2b3bc6d1ff Remove supplied products from enterprise serializer and from UI side
This list of products s now loaded in a specific call to ExchangeProducts and for each specific exchange
2019-12-12 18:44:44 +00:00
luisramos0
24d7672abb Use new exchange products endpoint for outgoing exchanges and make the exchange products panel work for outgoing exchanges 2019-12-12 18:44:44 +00:00
luisramos0
89628c27f3 Move exchange products endpoint to api namespace and make it work for outgoing exchanges 2019-12-12 18:44:44 +00:00
luisramos0
9adbdc377d Add new admin/exchange/products endpoint that replaces Enterprise/for_order_cycle#supplied_products 2019-12-12 18:44:44 +00:00
luisramos0
883cd81058 Load enterprise supplied products when the exchange products panel is opened for the first time 2019-12-12 18:44:44 +00:00
Konstantin Shlyk
c5229dd763 billing address in pdf invoice fixed 2019-12-11 23:10:51 +03:00
Luis Ramos
7ccfdc8d21 Merge pull request #4546 from kshlyk/fix_cart_link_on_mobile
Cart link in header on mobile leads to cart page instead of checkout …
2019-12-11 13:45:56 +00:00
Luis Ramos
58a93c27ae Merge pull request #4539 from luisramos0/subs_s3
Make weight calculator work for SubscriptionLineItems
2019-12-11 11:20:53 +00:00
Luis Ramos
9f351607d1 Merge pull request #4538 from mkllnk/4537-paginated-product-order
Make product order deterministic
2019-12-10 18:00:45 +00:00
Luis Ramos
71bf3f5f71 Merge pull request #4514 from luisramos0/backend_ctrl_overview
Bring spree_backend overview controller to OFN
2019-12-09 23:36:32 +00:00
Konstantin Shlyk
ef142de5f2 Cart link in header on mobile leads to cart page instead of checkout page 2019-12-09 22:58:00 +03:00
luisramos0
f64e8bf50e Make user aware of server side errors when saving subscription products and unit test products_panel_controller 2019-12-09 17:49:38 +00:00
luisramos0
e9e6aa77d8 Make weight calculator work for SubscriptionLineItems by making it test if line_item responds to final_weight_volume field (final_weight_volume_present?)
We also add logic to weight_per_variant so that we use variant.unit_value if final_weight_volume is not available but variant_unit is weight
Adapt some test case to test unit_value (in grams) instead of weight (in kgs)
2019-12-08 17:36:21 +00:00
Matt-Yorkley
54a40fe79c Handle validation messages when saving new fees 2019-12-07 14:51:17 +01:00
Maikel Linke
d4512904ea Make product order deterministic
When products are sorted by name and two products have the same name,
their order is undefined. With pagination, two pages can have a
different order of products with the same name which then means that two
pages can return the same product.

Sorting by product id makes sure that the result is always in the same
order, for every page.
2019-12-05 15:37:10 +11:00
Luis Ramos
302de04e73 Merge pull request #4526 from kristinalim/fix/3149-fix_tool_tips_in_orders_list
3149 Fix tooltips in orders list
2019-12-04 10:38:28 +00:00
Luis Ramos
6db15a0a20 Merge pull request #4524 from Matt-Yorkley/packing_reports
Packing reports performance
2019-12-02 17:32:52 +00:00
Luis Ramos
c8395a487a Merge pull request #4523 from luisramos0/permissions_improve
Replace pluck with select in permissions to avoid extra queries and extract Permissions::Orders from Permissions
2019-12-02 16:31:04 +00:00
Kristina Lim
2673a6efee Fix Angular tracking of row in orders list
The tooltip content for the order in index n in page x was being used
for the order in index n in page y.

This was because ng-repeat was tracking the items/rows by index.
As far as ng-repeat is aware, rows with the same index in any page
were the same items/rows, so it didn't bother relinking the ofn-with-tip
directive.
2019-11-30 03:53:20 +08:00
Kristina Lim
6ffe7f1a99 Set width and enable wrapping for tooltips 2019-11-30 03:53:16 +08:00
Matt-Yorkley
38c327dae0 Improve N+1 issues around #suppliers_of_products_distributed_by
There's still some real mess here with repeating queries, but resolving it is out of scope for this quick PR
2019-11-29 20:16:03 +01:00