Ahmed Ejaz
e6b9373570
Refactor line items search to improve security and maintainability
...
Moves search field configuration from frontend to backend to prevent potential security issues with exposing internal field names. The change also improves maintainability by centralizing search logic in the controller.
Adds conditional logic to use name_alias for non-admin users when searching distributor names, enhancing data access control.
2025-07-13 18:07:14 +05:00
Ahmed Ejaz
cd01a27bdd
Add distributor_name_alias to searchable attributes and implement ransacker for filtering line items
2025-06-21 16:19:31 +05:00
Ahmed Ejaz
db0922a7cf
13180: increase filter time to 1 year
2025-05-12 01:14:51 +05:00
Gaetan Craig-Riou
83a619b097
Fix bulk order management page
2024-10-14 15:01:18 +11:00
Gaetan Craig-Riou
add6d15fc4
Fix bulk order management system spec
2024-07-03 11:16:53 +10:00
Dung Bui
8a3aababa1
group specs into one it block, added fullname with comma reversed ransacker
2023-12-04 08:45:19 +07:00
Dung Bui
600226cb52
add fullname reversed search
2023-12-03 14:15:41 +07:00
Dung Bui
febda2ce12
add search by fullname with comma
2023-12-03 14:10:12 +07:00
Matt-Yorkley
73b2d37224
Don't try to load orders if the number of line_items with the current filters applied is zero
...
This ends up sending a request to the orders endpoint with no filters and no search params, which then tries to load every order in the entire database if the user is superadmin, which blows up.
2023-06-13 15:47:19 +01:00
Jean-Baptiste Bellet
ccb183d60b
Sort by order_date desc for line_items in BOM
...
+ update spec to have different order time
2023-06-05 10:05:09 +02:00
saunmanoj888
aee7645e29
Fix searching issue with full name on bulk order management
2023-05-17 13:14:10 +02:00
Jean-Baptiste Bellet
f679d8733e
Pass the restock_items params to each methods and request call
...
+ update spec to test whether the restock item checkbox is checked or not.
2023-05-11 22:58:44 +02:00
Jean-Baptiste Bellet
11a7aa9f96
When clicking on "Clear Filters" button, to not reset variant selection
...
+ add some specs to cover that particular case
2023-04-17 11:08:17 +02:00
Jean-Baptiste Bellet
df5c21048a
Clear on bulk submenu should reset some filters + refresh data as well
2023-04-12 09:58:01 +02:00
Jean-Baptiste Bellet
8a124fb6be
BOM: once variant has been selected, refresh data with a new search
...
- Remove variant_filter
- instantiate a new search to avoid pagination issues
2023-04-12 09:58:00 +02:00
Filipe
e8430eae6d
Merge pull request #10460 from jibees/10400-pagination-in-bom-not-aggregating-results-from-quick-search-field
...
BOM: Add a search input that search for items with pagination
2023-03-15 16:31:32 +00:00
Jean-Baptiste Bellet
ac739108a2
Improve readability by generating search string for ransack
2023-03-06 11:31:36 +01:00
Jean-Baptiste Bellet
8ad532c41a
Can search bill_address:phone, firstname, lastname and distributor:name
2023-03-01 14:54:46 +01:00
Jean-Baptiste Bellet
ebd5d706c2
Add search input
...
Actually this only search for `order_email` or `order_number` or `product_name` or `supplier_name`
+ Improve display by reduce each columns width
2023-03-01 14:40:12 +01:00
Jean-Baptiste Bellet
8658b1a743
Remove quick filter that search only on displayed line items
...
+ remove specs as well
2023-02-28 15:39:31 +01:00
Jean-Baptiste Bellet
c83dac58a3
Confirm line items deletion that doesn't trigger an order cancelation
2023-02-27 11:09:59 +01:00
Jean-Baptiste Bellet
e5ca8b0ee1
Delete selected line items even if does not lead to order cancellation
2023-02-15 11:49:53 +01:00
Jean-Baptiste Bellet
bddd887dcd
Load orders only if current line_items are loaded
...
+ update spec as well
2023-02-03 12:25:47 +01:00
Jean-Baptiste Bellet
d00e75de70
We should load orders that are linked to line_items displayed
...
This should not be related to any pagination, search or whatever: actually we consolidate line_items with order additional info based on line_items.order.id.
2023-02-03 11:40:07 +01:00
Jean-Baptiste Bellet
06cbc120f5
Pagination is actually linked to line_items and not orders
...
We display line_items as rows in BOM
2023-02-03 11:37:51 +01:00
Filipe
ad4670705e
Merge pull request #10245 from jibees/10222-in-bom-dont-show-group-buy-info-if-equal-to-0
...
Admin, BOM: Don't display "group by size" if group by product value is actually null
2023-01-25 15:29:05 +00:00
Jean-Baptiste Bellet
1a874d6fcf
Introduce pagination for BOM page
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
85a748af99
When selecting an OC, do not pre-fill date range with OC date range
...
+ update specs as well
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
121a4a08af
On filters reseting , set dates to undefined: range is not mandatory
...
+ send flatpickr event to reset the component
+ update specs as well
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
b75b123cba
Don't check date range before refreshing data: they aren't mandatory
...
- Creates a simple formatDates method that handle date formatting before sending it as params instead of creating scoped variable (useless)
- Put key to `undefined` (ie. don't then the params) if no date: already handled by the backend
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
2258af9cec
Don't display "group by size" if value is actually null or empty
...
+ add spec
2023-01-06 14:39:39 +01:00
Jean-Baptiste Bellet
a0056553b0
Do not override date range selection when an order cycle is selected
...
Therefor user can change date range after selecting an order cycle
2022-12-14 10:14:54 +01:00
Jean-Baptiste Bellet
ac494f97ec
When changing order cycle selection, update date range selector value
...
Date selector should change when selecting an order cycle in order to reflect the order cycle date range itself
2022-12-14 10:12:42 +01:00
Jean-Baptiste Bellet
4716ed19dc
Remove the watch collection on date range: not needed anymore
...
Yes!
This simplifies a lot the code now since we have a "Search" button and we don't need to watch for date range changes
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
cd743e5c2c
Call resetSelectFilters on page load
...
+ init start and end date with a method (will be re-used)
2022-12-12 16:18:39 +01:00
Jean-Baptiste Bellet
39e5613db8
When confirm modal is dismissed, reset daterange picker to previous values
...
+ update specs as well
2022-11-04 14:18:29 +01:00
Jean-Baptiste Bellet
1a241e4953
Only call confirmRefresh() on time, on date range change
...
Previously, when changing the date range, we had several modals that opened.
Now, the `confirmRefresh()` method should be open only one time.
Update specs as well:
- use the method `accept_confirm`
- Removing pending and sleep as the spec is now green
2022-11-03 15:55:48 +01:00
Jean-Baptiste Bellet
e076e23064
Do not use ng-change on endDate but instead watch both start and end date
2022-10-08 16:36:26 +02:00
Jean-Baptiste Bellet
a68f9a71fb
When items quantities, update sumUnitValues() and sumMaxUnitValues()
...
by summing only `quantity` and `max_quantity`
+ update the specs as well
Co-Authored-By: Maikel <maikel@email.org.au >
2022-04-27 11:21:47 +02:00
Jean-Baptiste Bellet
a4afeeaa3d
When BOM is 'item', do not update sumOfUnitValues with scale
...
since scale is always `1`, but return a value
+ update tests as well
2022-04-25 15:53:38 +02:00
Jean-Baptiste Bellet
3553cc0d9f
When it's items scale is '1'
...
update tests as well
2022-04-25 15:51:38 +02:00
Jean-Baptiste Bellet
c9248f872d
Remplace window.confirm by ofnCancelOrderAlert
...
to prevent use that the order will be canceled
2022-03-25 11:28:10 +01:00
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
ea3e15f0c8
Max|Current fulfilled value is the max|current divided by group_buy_unit_size
...
+ improve testing with representative values
+ Update bulk_order_management_spec.rb and revert previously changed values
2022-03-14 09:06:05 +01:00
Jean-Baptiste Bellet
915714246f
Directly use the variant_unit_scale instead of VariantUnitManager.getScale
...
and update the tests as well
2022-03-08 14:59:08 +01:00
Jean-Baptiste Bellet
a1b21d7706
Take into account the lb unit name
2022-01-10 11:50:40 +01:00
Jean-Baptiste Bellet
c5beff249e
Should be divided by scale if the smallest unit
2022-01-10 11:27:18 +01:00
Jean-Baptiste Bellet
4c508a5bf9
Group by unit size is specific: it needs to be divided by scale if not the smallest unit
2022-01-10 11:24:22 +01:00
Jean-Baptiste Bellet
da9c0f4b8c
Refactor: create two internal methods: getScale and getFormattedValueWithUnitName
...
Then, the old formattedValueWithUnitName calls those two private methods
2022-01-10 11:23:30 +01:00
Jean-Baptiste Bellet
467183af48
Rename getScale to getLineItemScale to be more specific
2022-01-10 11:22:11 +01:00