Transaction searching

Registered by Michael Rooney on 2008-05-13

There should be a search bar to allow for searching of transactions. It have a text field, followed by two checkboxes:

[Search text...] [x] descriptions [x] tags

Maybe a context-sensitive way to search for dates and amounts. Such as amount/date in between x and y, equal to, less than, or greater than x. That would be slick.

This could either be above the transaction grid in the manage tab, or a new tab altogether. The issue with the first solution is that the user should be able to search in all or some of the accounts. So in this case the AccountListCtrl could change to a slightly different control, with added checkboxes, and an option to check/uncheck all. In this case an obvious "Cancel search" button should appear somewhere so the user can easily get out of this state, which transactions could not be made it (disable this control).

Handling state: Some things, like adding a transaction, don't make sense to be able to do when in a search. To manage this state, perhaps have transaction grid hold a self.searchState which is a list of two bools. The first is whether or not a search is active, the second is whether or not it is on the current account. Then, determine what can't be done in a search (or can be done in a search of current but not all accounts), wrap them in proper logic, and if it can't be done, display a dialog explaining a search is in place which blocks the action, and ask if they want to cancel the search (Yes|Cancel).

State:
  X Transaction.New: Prompt to cancel the search and add, or cancel add.
  X Transaction.Edit: Allow. Push the change. Don't setAccount.
    - changing a date won't order correctly then. Hmm. Could be solved by re-searching.
  X Transaction.Remove: Allow. Remove. Don't setAccount.
  X Account.Add: Allow. Adjust search state.
  X Account.Remove: Allow. Adjust search state.
  X Account.Rename: Allow. No need to clear search or refresh anything.
  X Account.Change: Allow. Adjust search state.
    - ideally prompt "Apply current search to %s?"%account, Yes|No[|Cancel] (this only really makes sense for searching in the current account, I think) ?

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Michael Rooney
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 0.3
Started by
Michael Rooney on 2008-07-30
Completed by
Michael Rooney on 2008-08-07

Related branches

Sprints

Whiteboard

07.30.2008 michael: The initial implementation is in r36, which allows you to do case-insensitive searching (matching the description) on either the current account or all accounts. More customization of the search is coming. Also I have to manage the state of things when a search is active.

08.04.2008 michael: with r37 came controls for selecting what you are searching for (Amount|Date|Desc) and a checkbox for case sensitivity. r38 implemented all of the state handling in the description, which seems sufficient. Other than some sizing polish I think this is good.

08.07.2008 michael: now that searching is done via regex and there is a FAQ for searching by date, I think this is polished enough for an initial release!

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.