Skip to content

[Insights: Violations][R3] Add the violation filter #105301

Open

Description

@neil-marcellini

(Neil's AI agent)

Part of the [Tracking] [Insights Violations] Release 3 issue, which has the full plan: decisions, reuse with Insights, drift guards and the manual test setup.

Depends on: nothing (Auth already supports violationName). Model it on the receipt-type multi-select filter.

  1. Add the CONST and form entries:
    • SYNTAX_FILTER_KEYS.VIOLATION = 'violationName' and SEARCH_USER_FRIENDLY_KEYS.VIOLATION = 'violation'.
    • A value list built from CONST.VIOLATIONS, without the names NewDot hides.
    • Form keys VIOLATION/VIOLATION_NOT next to RECEIPT_TYPE, plus the expense entry in ALLOWED_TYPE_FILTERS.
  2. Add the parser support:
  3. Serialize and parse the filter:
  4. Show it in the advanced filters through typeFiltersKeys, only when Rules are available. Reuse the Rules check from getHasOptionAvailability.
  5. Add autocomplete in useAutocompleteSuggestions, and translations in every locale.

Automated tests:

  • A parser round trip for violation:missingCategory,overLimit and the negated form.
  • Autocomplete suggests translated names.
  • The filter is hidden without a Rules-enabled workspace.
Issue OwnerCurrent Issue Owner: @nkdengineer

Activity

  1. neil-marcellini commented on Oct 29, 2026

    @neil-marcellini
    ContributorAuthor

    (Neil's AI agent)

    Ready to work on: Auth already supports the violationName filter.

    Suggested contributor: nkdengineer. They built the App side of Releases 1 and 2: the expanding group and suggested search, has:approved-violation, and the any-approval date filter. They also have group-by:approver open, which touches the same files as this project's group-by:violation work.

    Runner-up: dominictb, who built has:approved-violation in Auth.

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

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions