feat(05-02): printer detail page with export buttons and command preview

- Update printer_detail() to pass install_cmd, uninstall_cmd, has_driver, has_icon to template
- Rewrite printer_detail.html with Intune Commands, Export, and Icon sections
- Show command strings with Alpine.js copy-to-clipboard buttons (install-cmd, uninstall-cmd)
- Show NinjaRMM ZIP and .intunewin download links when driver assigned
- Add HTMX icon upload form with #icon-status swap target
- Remove disabled placeholder Regenerate Package button
- Add TestCommandPreview class (4 tests) to test_packages.py
- All 94 tests pass
This commit is contained in:
2026-04-10 15:06:45 +02:00
parent f9e13ba96f
commit f96ea6fec9
7 changed files with 210 additions and 19 deletions
+6 -6
View File
@@ -38,9 +38,9 @@ Requirements for initial release. Each maps to roadmap phases.
### Package Export
- [ ] **PKG-01**: User can export a complete .intunewin package (script + drivers + detection + metadata)
- [ ] **PKG-02**: .intunewin is generated natively in Python (no IntuneWinAppUtil.exe dependency)
- [ ] **PKG-03**: User can export a NinjaRMM ZIP package (install script + driver folder)
- [x] **PKG-01**: User can export a complete .intunewin package (script + drivers + detection + metadata)
- [x] **PKG-02**: .intunewin is generated natively in Python (no IntuneWinAppUtil.exe dependency)
- [x] **PKG-03**: User can export a NinjaRMM ZIP package (install script + driver folder)
- [ ] **PKG-04**: User can upload a custom PNG icon for Intune app display (256x256, max 750KB)
- [ ] **PKG-05**: User can preview and copy Intune install/uninstall command strings before export
@@ -105,9 +105,9 @@ Which phases cover which requirements. Updated during roadmap creation.
| SCRPT-03 | Phase 4 | Complete |
| SCRPT-04 | Phase 4 | Complete |
| SCRPT-05 | Phase 4 | Complete |
| PKG-01 | Phase 5 | Pending |
| PKG-02 | Phase 5 | Pending |
| PKG-03 | Phase 5 | Pending |
| PKG-01 | Phase 5 | Complete |
| PKG-02 | Phase 5 | Complete |
| PKG-03 | Phase 5 | Complete |
| PKG-04 | Phase 5 | Pending |
| PKG-05 | Phase 5 | Pending |