d-buchmann
1686df968f
Implement extensive search ( #1406 )
...
* Implement advanced search
Up to 5 individual tokens (separated by spaces) can be given as search string.
Each token is individually searched for in all selected fields.
Examples (assuming the relevant fields are selected for search):
- a part named `foo` with a tag `bar` will be found with the search string "foo bar".
- a part named `bar baz` will be found with the search string "baz bar".
- a part with the ID 123 and in storage location `a_qux_b` will be found with the search string "qux 123".
* Add tests
These were created with the help of GPT-5.2.
Disclaimer: I don't have the experience to judge the quality or validity of the results.
* Restructure query buildup
* Update tests
* Move options from Settings to localStorage
* Consider mutual exclusivity of search options
If regex search is enabled, the other two options are disabled (only visually). This should give the user a fair idea of what's happening while keeping things as simple as possible.
* Added translations for the checkboxes
* Fix stimulus controller to allow handling multiple instances of the dropdown menu
* Added tooltips for the different search mode options
---------
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2026-07-27 18:42:32 +02:00
kernchen-brc
64efca4786
Added ID to search options. Fixed seach option by using equal to instead of like for the ID.
2026-01-09 11:37:30 +01:00
Jan Böhmer
1c8ca6c0a2
Added an settings option to change the default behavior of including child categories or not
...
Fixes issue #1077
2025-10-19 00:19:07 +02:00
Jan Böhmer
e1418dfdc1
Do not create the filter form in the ajax requests for tables, if it is not needed
Build assets artifact / Build assets artifact (push) Has been cancelled
Docker Image Build / docker (push) Has been cancelled
Docker Image Build (FrankenPHP) / docker (push) Has been cancelled
Static analysis / Static analysis (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Has been cancelled
2025-09-24 18:13:30 +02:00
Jan Böhmer
1f669a9c53
Readded option to show all elements in a table
2025-09-07 20:04:48 +02:00
Jan Böhmer
442457f11b
Merge branch 'master' into settings-bundle
2025-06-15 18:39:49 +02:00
Jan Böhmer
48c70c3bb4
Added way to batch edit the location of parts with a single stock
2025-03-29 16:21:10 +01:00
Jan Böhmer
3247a97217
Removed "All" page length option for log tables, as this easily causes an out of memory situation on the server
...
You can easily have thousands of log entries, making it impossible to view them all at once.
This fixes #835
2025-02-01 23:44:07 +01:00
Jan Böhmer
8750573724
Merge branch 'master' into settings-bundle
2025-01-17 22:06:18 +01:00
Jan Böhmer
946032a101
Fixed phpstan analysis issues and bad code that showed up with phpstan 2.0
2024-12-28 23:08:08 +01:00
Jan Böhmer
ad47c8d8ed
Allow to configure default table page length via Settings UI
2024-08-21 22:15:26 +02:00
Jan Böhmer
18c80f6b64
Use the route attribute from the correct namespace
2024-03-03 20:37:33 +01:00
Jan Böhmer
d49bb1f4b5
Removed unused import statements
2024-03-03 20:34:36 +01:00
Jan Böhmer
0af5a58dbe
Renamed Storelocation entity to StorageLocation
2023-09-04 22:57:40 +02:00
Jan Böhmer
4a644d8712
Replaced filter classes getters with public readonly properties to improve DX
2023-06-18 16:41:00 +02:00
Jan Böhmer
684334ba22
Improved code style of tests
2023-06-11 15:02:59 +02:00
Jan Böhmer
7ee01d9a05
Applied rector with PHP8.1 migration rules
2023-06-11 14:17:19 +02:00
Jan Böhmer
a43af180a7
Applied rector rules up to symfony 6.2
2023-05-28 01:21:05 +02:00
Jan Böhmer
b0ab43c39a
Show a proper error message table when encountering an invalid regex statement on SQLite
...
This is related to #289
2023-05-09 00:26:40 +02:00
Jan Böhmer
2c33b381c1
Allow to unselect name, category, description fields etc in search functionm
...
Before this commit it was ignored, if the checkboxes for these fields were unchecked.
2023-05-08 23:53:59 +02:00
Jan Böhmer
c50a80e8df
Show an error message in table instead of a 500 error when MySQL encounters an invalid Regex expression
...
This fixes issue #289
2023-05-08 23:42:25 +02:00
Jan Böhmer
1eb9c38aee
Fixed problem that MPN was not used as search field
...
Fixes issue #277 and #276
2023-04-22 23:26:48 +02:00
Jan Böhmer
de96aae9a5
Fixed inspection issues
2023-04-15 21:49:19 +02:00
Jan Böhmer
222e76ce47
Added option to search in internal part number (enabled by default)
...
This should fix issue #232
2023-03-04 23:37:38 +01:00
Jan Böhmer
9097220026
Renamed parts/ templates folder to recommended snake_case style
2023-02-04 23:05:39 +01:00
Jan Böhmer
257c67b6c1
Fixed static analysis issues.
2023-01-08 18:30:41 +01:00
Jan Böhmer
25494c9ddf
Added a page to quickly add many parts to a project from parts lists.
2022-12-28 23:32:46 +01:00
Jan Böhmer
68462185ba
Removed old GPLv2 copyright header
2022-11-29 22:28:53 +01:00
Jan Böhmer
3e85fc4d42
Improved access control for part lists.
2022-10-31 23:10:21 +01:00
Jan Böhmer
afaa918ce6
Check permissions to view parts on the parts list pagees
2022-10-09 22:01:44 +02:00
Jan Böhmer
51e05a8669
Use typed properties
2022-09-18 22:59:31 +02:00
Jan Böhmer
e96db21ceb
Added possibility to apply filters to search results.
2022-09-10 00:08:59 +02:00
Jan Böhmer
c3f144447f
Implement searching logic using the new filter system and improved searching logic
...
This should also fix issue #169 as ordernr is now really searched. Also support for searching in MPN was added.
2022-09-09 23:33:49 +02:00
Jan Böhmer
0fc0136914
Use filter systems for most part lists.
2022-09-08 23:49:57 +02:00
Jan Böhmer
37a5c52907
Use filter system for category parts list.
2022-08-21 03:14:22 +02:00
Jan Böhmer
c9151c65ba
Implemented a filter constraint for entities
2022-08-21 01:34:17 +02:00
Jan Böhmer
f9d945c4c7
Added the very basic foundations for a filter system
2022-08-15 01:01:27 +02:00
Jan Böhmer
f1601cac7f
Allow tags to contain any character and only show exact matching parts.
2022-08-03 22:45:02 +02:00
Jan Böhmer
349ab706cc
Apply symplify checkers.
2020-08-21 21:38:31 +02:00
Jan Böhmer
d0b1024d80
Fixed code style.
2020-08-21 21:36:22 +02:00
Jan Böhmer
9d6ca8be31
Added missing translation for action success.
2020-05-24 20:20:44 +02:00
Jan Böhmer
ca74dd84f0
Added basic possibility to change the manufacturer, footprint, category and part unit of multiple parts.
2020-05-24 18:26:10 +02:00
Jan Böhmer
6f6ac0f128
Added simple possibility to favorite/unfavorite and delete multiple parts at once.
2020-05-23 19:06:46 +02:00
Jan Böhmer
14adb77a97
Moved getParts() and getPartsCount() to a repository (instead of a class method).
2020-05-16 20:53:35 +02:00
Jan Böhmer
fd61c8d9e2
Fixed coding style.
2020-03-15 13:56:31 +01:00
Jan Böhmer
86ee10e582
Search options now working. Added Regex search.
2020-03-08 13:05:53 +01:00
Jan Böhmer
120eb30b11
Fixed search function.
2020-03-08 11:46:31 +01:00
Jan Böhmer
9e8771a4ee
Changed license to AGPL3+
2020-02-22 18:14:36 +01:00
Jan Böhmer
96d7e4c9f4
Fixed inspection issues.
2020-02-02 14:05:36 +01:00
Jan Böhmer
388e847b17
Applied symplify rules to codebase.
2020-01-05 22:49:00 +01:00