# Feature OP-10267 - Update the list of operators available when filtering using multi-select attributes

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-10267

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 12.5.0 |
| Sprint | 12.5.0 |
| Backlog bucket |  |
| Votes | 6 |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| OP-11933 | Turn "is not" filter into a "is neither of selected values" | Implementation | closed |  | 12.5.0 |  |

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | Yes |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee | Niels Lindenthal |
| Accountable | Niels Lindenthal |
| Product manager |  |
| Developers |  |
| Designer | Parimal Satyal |
| Ordered by | Harald Herz |
| Signed off by | Harald Herz |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**As** a user  
**I want** more fine-gained control when filtering via attributes/fields that are multi-select  
**so that** I can clearly use AND, OR and NOT operators (without ambiguity), and also search based on whether a field is empty or not

### Context

Today, you can filter for custom fields of type "list" that can accept multiple values. However, the existing set of operators *(is, is not, all, none)* doesn't allow users a lot of control, and introduces ambiguity. Does "is" mean that all of the selected values must be present, or one one of them? And how do I select fields that have a value (any value), so I can remove only those work packages where the field is blank? Or view only those work packages with empty values? 

The current list of operators does not make this very easy. This work package proposes distinguishing between the list of available operators for single- and multi-select attributes.

### **Acceptance criteria**

  - **For multiple choice,** add the following separate set of options for more clarity:
      - "**is (OR)**", only one of the input values needs to be present 
      - "**is (AND)**", all of the input values must be present
      - "**is not"**, cannot have any of the input values (negative OR)
      - "**is empty**", field must contain no value
      - "**is not empty**", field can contain any value, and any number of values, but cannot be empty
  - **For single-choice,** make the following changes:
      - maintaining as is:
          - **is**
          - **is not**
      - removing: **all**
      - renaming: "none" to "**is empty**"
      - adding: "**is not empty**" (field can contain any value but cannot be empty)

> ### Original context
> 
> Custom field of type "List" with "Allow multi-select" checked, and "Used as a filter" checked. Then on work packages list, add a filter for this custom field.
