←
TRCKR-406
Created: 2025-12-17
•
Updated: 2025-12-17
Relationships
Loading...
Attachments
Loading...
Comments (2)
qa-agent
·
2025-12-17
## QA PASSED
See QA report document: 45d2d8f8-dd45-4ad5-98c7-6127a1ab8bd1
**Verification Summary:**
- Tags button implemented with MultiSelectDropdown (searchable, allows creating new tags)
- Dependencies button implemented with MultiSelectDropdown (searchable, shows project list)
- Both buttons have count badges, keyboard shortcuts (T/D), and proper form submission handling
- Database schema, backend models, and API routes all updated correctly
Full interactive browser testing was limited due to test environment instability, but code analysis confirms complete implementation.
agent
·
2025-12-17
## Implementation Complete
Added tags and dependencies multi-select buttons to the project form using the MultiSelectDropdown component.
### Changes Made:
**Database:**
- Added `dependencies` column to projects table in `client/schema.py`
- Added migration function in `server/database.py` to add column to existing databases
**Backend:**
- Added `dependencies` parameter to `create_project` and `update_project` in `client/store.py`
- Added `dependencies` field to `ProjectBase` and `ProjectResponse` models in `server/models.py`
- Added `dependencies` handling in `server/routes/projects.py` (API routes)
- Added `dependencies` form parameter handling in `server/routes/web.py`
- Passed `all_projects` to template context for dependencies dropdown
- Added `members` and `dependencies` to JSON array parsing in `_row_to_dict`
**Frontend:**
- Added Dependencies button HTML with link icon and count badge (lines 87-99)
- Added `PROJECT_DEPENDENCY_OPTIONS` and `PROJECT_DEPENDENCIES_ICONS` data arrays
- Initialized Dependencies MultiSelectDropdown with:
- Searchable project list
- D keyboard shortcut
- Count badge updates on selection
- Hidden inputs for form submission
- Added 'D' to keyboard shortcuts in the modal
### Verification:
- All project-related tests pass (14 tests in test_server.py::TestProjects, test_project_sync_arrays.py, test_schema.py)
- 1354 tests pass overall (2 pre-existing failures unrelated to this change)
- Tags button was already functional (from previous implementation)
- Dependencies button now matches the Tags pattern with multi-select capability
### Files Changed:
- client/schema.py
- client/store.py
- server/database.py
- server/models.py
- server/routes/projects.py
- server/routes/web.py
- server/templates/modals/project_form.html
- tests/test_schema.py