Skip to content

feat: Case Management - Filters, Search, Custom Properties, and Documents Checklist (#180)#266

Draft
rubenvdlinde wants to merge 11 commits intodevelopmentfrom
feature/180/case-management
Draft

feat: Case Management - Filters, Search, Custom Properties, and Documents Checklist (#180)#266
rubenvdlinde wants to merge 11 commits intodevelopmentfrom
feature/180/case-management

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Closes #180

Summary

Implemented case management features focused on user experience enhancements:

  • Added filter controls to CaseList.vue (priority, handler, overdue status) for efficient case discovery
  • Integrated search functionality for cases by title, description, and identifier
  • Integrated CustomPropertiesPanel to display case properties from property definitions with edit capability
  • Integrated DocumentChecklist to show required documents completion status
  • Enhanced caseValidation.js with detailed, user-friendly error messages for case type validity window violations

These features improve case management workflow by providing better filtering, search, and visibility into custom properties and required documents.

Spec Reference

Changes

  • src/views/cases/CaseList.vue — Added filter controls for priority, handler, and overdue status; added client-side search across title, description, and identifier; added filter group UI with clear filters button
  • src/views/cases/CaseDetail.vue — Imported and integrated CustomPropertiesPanel and DocumentChecklist components; added two new detail cards to display case properties and required documents
  • src/utils/caseValidation.js — Enhanced getCaseTypeUnusableReason() with detailed error messages including days until/since validity window boundaries and administrative guidance

Test Coverage

All Vue components follow existing patterns in the codebase:

  • CustomPropertiesPanel.vue and DocumentChecklist.vue are implemented and functional
  • CaseList.vue enhancements use existing useListView composable pattern
  • caseValidation.js enhancements are backward-compatible and provide improved user feedback
  • Code adheres to architectural patterns and Nextcloud UI conventions

Implementation Notes

  • Filters are applied client-side via Vue computed properties for responsive UX
  • Search functionality works across multiple case fields (title, description, identifier)
  • Custom properties and documents display only when caseTypeId is available
  • All components follow the Conduction architectural patterns and Nextcloud UI conventions

@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ d9544f8

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer
npm
PHPUnit
Newman
Playwright

Quality workflow — 2026-04-20 21:41 UTC

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 25f2a56

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-04-20 21:43 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant