Commit graph

39 commits

Author SHA1 Message Date
Sebastian Almberg
6b27f3aa14 Merge upstream/master and resolve translation conflict
Merged new Conrad info provider and generic web provider translations
from upstream while keeping Update Manager translations.
2026-02-01 19:07:15 +01:00
Jan Böhmer
909cab0044 Added an web page to quickly add a new part from a web URL 2026-02-01 18:18:58 +01:00
Sebastian Almberg
42fe781ef8 Add Update Manager for automated Part-DB updates
This feature adds a comprehensive Update Manager similar to Mainsail's
update system, allowing administrators to update Part-DB directly from
the web interface.

Features:
- Web UI at /admin/update-manager showing current and available versions
- Support for Git-based installations with automatic update execution
- Maintenance mode during updates to prevent user access
- Automatic database backup before updates
- Git rollback points for recovery (tags created before each update)
- Progress tracking with real-time status updates
- Update history and log viewing
- Downgrade support with appropriate UI messaging
- CLI command `php bin/console partdb:update` for server-side updates

New files:
- UpdateManagerController: Handles all web UI routes
- UpdateCommand: CLI command for running updates
- UpdateExecutor: Core update execution logic with safety mechanisms
- UpdateChecker: GitHub API integration for version checking
- InstallationTypeDetector: Detects installation type (Git/Docker/ZIP)
- MaintenanceModeSubscriber: Blocks user access during maintenance
- UpdateExtension: Twig functions for update notifications

UI improvements:
- Update notification in navbar for admins when update available
- Confirmation dialogs for update/downgrade actions
- Downgrade-specific text throughout the interface
- Progress page with auto-refresh
2026-01-30 21:36:33 +01:00
Jan Böhmer
3e657a7cac Merge branch 'master' into settings-bundle 2024-06-24 21:15:14 +02:00
RaptorDE
ee37852a72
added scan button navbar in mobile view 2024-06-09 13:02:49 +02:00
Jan Böhmer
0772d85918 Use new settings system to configure the instance Name and homepage banner 2024-05-20 21:14:32 +02:00
Jan Böhmer
1815162907 Added a search bar to homepage 2024-02-29 22:46:19 +01:00
Jan Böhmer
b6b2e44231 Dont prefetch settings page in navbar with turbos instaclick behavior as this page might not be accessible without additional authentication 2024-02-14 22:48:36 +01:00
Jan Böhmer
b0322b4c03 Added a "new part" button to the navbar
This fixes issue #394
2023-10-08 01:25:29 +02:00
Jan Böhmer
d20153c569 Added basic logic for impersonation 2023-07-04 00:31:13 +02:00
Jan Böhmer
9cb265c6f5 Improved margin between darkmode label and darkmode selector 2023-07-03 00:55:11 +02:00
Jan Böhmer
6df65a0b9d Implemented a new darkmode selector using bootstrap 5.3 color mode 2023-06-19 01:08:11 +02:00
Jan Böhmer
97b87dee5f Show user avatar next to its name, in all possible locations 2023-01-23 23:01:57 +01:00
Jan Böhmer
8a3d765157 Hide search field in navbar if user does not have the permission to view parts. 2022-11-06 01:11:08 +01:00
Jan Böhmer
f50959837f Fixed issue that change of language via language selector did not changed the navbar and sidebar 2022-10-09 20:11:48 +02:00
Jan Böhmer
055752a24d Update the navbar on logout 2022-10-09 19:47:03 +02:00
Jan Böhmer
a9e527ce2a Refactored TwigExtensions Part 2 2022-09-18 17:50:25 +02:00
Jan Böhmer
92e477775a Use relative path in templates instead of full pathes
This fixes problems with HTTP/HTTPS mixing
2022-08-04 21:00:42 +02:00
Jan Böhmer
7dfbb4c536 Fixed mobile view for bootstrap5 2022-08-03 23:46:44 +02:00
Jan Böhmer
8ccf5652ab Implement darkmode using stimulus. 2022-07-30 00:33:22 +02:00
Jan Böhmer
d16c01ebe0 Migrated some smaller utilities to BS5. 2022-07-24 22:59:19 +02:00
Jan Böhmer
5d6f244e71 Fixed dropdown in error box. 2022-07-24 18:58:35 +02:00
Jan Böhmer
43b4c78553 Use bootstrap 5 checkboxes. 2022-07-24 18:44:05 +02:00
Jan Böhmer
582f8e4c5f Fix tabs and pills for bootstrap 5 2022-07-24 18:14:33 +02:00
Jan Böhmer
365c7c60e4 Started to upgrade from bootstrap 4 to 5. 2022-07-24 18:08:21 +02:00
Jan Böhmer
7990cf56d1 Update the locale changer links every time turbo loads a new frame. 2022-07-24 17:03:57 +02:00
Jan Böhmer
1a9dfee0ed Disable turbo on login/logout forms, so page is fully reloaded. 2022-07-24 16:03:07 +02:00
Jan Böhmer
9a9cd8e887 Added permission to control who can access label scanner. 2020-05-08 12:50:44 +02:00
Jan Böhmer
2652fab2d7 Removed old barcode scanner link using ZXing android app. 2020-04-28 18:38:49 +02:00
Jan Böhmer
85821ec673 Added basic scan dialog. 2020-04-26 21:26:11 +02:00
Jan Böhmer
743423432e Mark usernames with @. 2020-02-06 19:27:24 +01:00
Jan Böhmer
c0ff851e9b Reload whole page on user login/logout to show new entries in tools tree 2020-01-28 16:47:30 +01:00
Jan Böhmer
3f23ea851a Added russian to language selector. 2020-01-26 16:21:08 +01:00
Jan Böhmer
e293a7b5ab Use form for search submit. 2020-01-04 22:38:05 +01:00
Jan Böhmer
c64e4fe3d6 Added an toggle to activate a simple dark mode.
The dark mode is only available on browsers that support mix-blend-mode. There are some quirks with hover images...
2019-11-30 22:28:14 +01:00
Jan Böhmer
1a0e5408af Removed bootstrap aweseome checkbox
We now use Bootstrap 4's custom controls.
2019-09-18 18:40:59 +02:00
Jan Böhmer
0bfcec77fb Use language setting of users when logging in. 2019-09-12 17:50:33 +02:00
Jan Böhmer
4c5b5b6df0 Added some simple tables for searching, subcategories and tags. 2019-09-05 22:27:18 +02:00
Jan Böhmer
f402145c51 Split base template into multiple files to improve structure. 2019-09-05 00:09:11 +02:00