Build "Find Cases" Search page and integrate search parameters with the ones passed from the CiviCase dashboard.
1. Search form has the following fields:
- "Client Name or Email" Input text, same wildcarding behavior as other component searches
- "Case Type" Multiselect - checkbox style (same format as Participant Role in Find Participants screen - CRM/Event/BAO/Query.php)
- "Case Status" Pulldown Select
- [ ] My Cases [ ] All Cases" - Radio button (We can call this field all_cases. Default: = 1. My Cases is displayed when all_cases = 0)
2. Integration with Dashboard
- Dashboard "Summary of Case Involvement" links should 3 parameters to Search:
- case statusId (status=)
- case typeId (type=)
- all cases (all=).
NOTE: all=0 means just show My Cases, all=1 means show All cases. 1 is the default for the Search if no value is passed. You'll need to make sure the Dashboard modifies the link params when it's "mode" is toggled between all=0 and all=1. All=0 is the default state for the dashboard (show my cases)
3. Find Cases Selector
The case rows (first "level") should have the same columns as the Dashboard selectors EXCEPT ... we don't have separate selectors for "Upcoming" and "Recently Completed" - so we need all 4 activity columns "Most Recent Activity Date and Type" and "Next Scheduled...". I've updated Search.php with "reasonable" column names – but they may need tweaking for clarity.
Default sort for case search results is sort_name ascending.
Each case row has the "expand" icon to retrieve case details. This is working fine now for the Dashboard version - so use the same functions. (There's a problem with the jQuery activityView function - described on the To Do wiki page.)
Action links are "Manage Case" (case view) and "Delete".
3.1 Add CSS classes to activity rows (for case details grid, and jquery activities grid) by status + due date: Scheduled = "status-pending" ; Scheduled/overdue (due date > today)= "status-overdue" ; Completed = "status-completed"
4. Export Cases:
The desired behavior would be to export a row for each activity in the case.
"Primary Fields" export would put out the same contact field columns as "Primary Fields" for other components (e.g. Export Contributions) PLUS all case fields PLUS all activity fields.
"Select Fields for Export" would give Contacts + Cases + Activities field options.