diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 6838fcc..d6aa84a 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -41,7 +41,7 @@ Requirements for initial release. Each maps to roadmap phases. - [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) -- [x] **PKG-04**: User can upload a custom PNG icon for Intune app display (256x256, max 750KB) +- [ ] **PKG-04**: User can upload a custom PNG icon for Intune app display (256x256, max 750KB) - [x] **PKG-05**: User can preview and copy Intune install/uninstall command strings before export ### Infrastructure @@ -108,12 +108,14 @@ Which phases cover which requirements. Updated during roadmap creation. | PKG-01 | Phase 5 | Complete | | PKG-02 | Phase 5 | Complete | | PKG-03 | Phase 5 | Complete | -| PKG-04 | Phase 5 | Complete | +| PKG-04 | Phase 6 | Pending | | PKG-05 | Phase 5 | Complete | **Coverage:** - v1 requirements: 27 total - Mapped to phases: 27 +- Satisfied: 26 +- Pending (gap closure): 1 (PKG-04) - Unmapped: 0 --- diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 5bb4053..33f15e6 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -17,6 +17,8 @@ Decimal phases appear between their surrounding integers in numeric order. - [x] **Phase 3: Printer Configuration** - Full printer config form, client/tenant labels, SQLite persistence (completed 2026-04-10) - [x] **Phase 4: Script Generation** - PowerShell install/uninstall/detection scripts with all correctness guards (completed 2026-04-10) - [x] **Phase 5: Package Export** - .intunewin and NinjaRMM ZIP export, icon upload, command preview (completed 2026-04-10) +- [ ] **Phase 6: Wire Icon into .intunewin Export** - Embed uploaded icon in .intunewin package, closing PKG-04 gap +- [ ] **Phase 7: Dashboard & Navigation Polish** - Fix /packages 404 nav link, wire dashboard recent queries ## Phase Details @@ -97,6 +99,32 @@ Plans: - [ ] 05-01-PLAN.md — NinjaRMM ZIP + .intunewin export endpoints (packages.py router, integration tests) - [ ] 05-02-PLAN.md — Icon upload with Pillow validation, command preview UI, export buttons on printer detail page +### Phase 6: Wire Icon into .intunewin Export +**Goal**: The uploaded PNG icon is included in the .intunewin package so Intune displays it as the app icon +**Depends on**: Phase 5 +**Requirements**: PKG-04 +**Gap Closure**: Closes PKG-04 (unsatisfied), icons.py→packages.py integration gap, icon→.intunewin flow gap +**Success Criteria** (what must be TRUE): + 1. `packages.py` queries Icon model for the printer's icon before building .intunewin + 2. Icon file is copied into the tmpdir staging area and included in the .intunewin output + 3. An integration test verifies icon presence in the exported .intunewin package + +Plans: +- [ ] 06-01-PLAN.md — Wire icon lookup into packages.py, copy to tmpdir, integration test + +### Phase 7: Dashboard & Navigation Polish +**Goal**: Navigation links work correctly and the dashboard shows real data instead of empty placeholders +**Depends on**: Phase 3 +**Requirements**: None (UX/integration fixes) +**Gap Closure**: Closes base.html→/packages 404 integration gap, pages.py dashboard hardcoded [] integration gap +**Success Criteria** (what must be TRUE): + 1. Clicking the /packages nav link does not produce a 404 + 2. Dashboard shows recently created printers from the database + 3. Dashboard shows recently exported packages from the database + +Plans: +- [ ] 07-01-PLAN.md — Add /packages route, wire dashboard queries, verify nav links + ## Progress **Execution Order:** @@ -109,3 +137,5 @@ Phases execute in numeric order: 1 -> 2 -> 3 -> 4 -> 5 | 3. Printer Configuration | 2/2 | Complete | 2026-04-10 | | 4. Script Generation | 2/2 | Complete | 2026-04-10 | | 5. Package Export | 2/2 | Complete | 2026-04-10 | +| 6. Wire Icon into .intunewin Export | 0/1 | Pending | | +| 7. Dashboard & Navigation Polish | 0/1 | Pending | |