Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

impossible to create multi-values search for issues with multiple filters #360

Open
SoulHunt3r opened this issue Jan 21, 2021 · 4 comments

Comments

@SoulHunt3r
Copy link

code sample:

    Params params = new Params()
            .add("set_filter", "1")
            .add("f[]", "subject")
            .add("op[subject]", "~")
            .add("v[subject][]", "sample subject")
            .add("f[]", "tracker_id")
            .add("op[tracker_id]", "=")
            .add("v[tracker_id][]", "2")

    resultsWrapper = issueManager.getIssues(params);

using:

    <dependency>
        <groupId>com.taskadapter</groupId>
        <artifactId>redmine-java-api</artifactId>
        <version>4.0.0.preview.3</version>
    </dependency>

actual query:
/issues.json?set_filter=1&v%5Btracker_id%5D%5B%5D=2&v%5Bsubject%5D%5B%5D=sample+subject&op%5Bsubject%5D=%7E&op%5Btracker_id%5D=%3D&f%5B%5D=subject

expected query:
/issues.json?set_filter=1&v%5Btracker_id%5D%5B%5D=2&v%5Bsubject%5D%5B%5D=sample+subject&op%5Bsubject%5D=%7E&op%5Btracker_id%5D=%3D&f%5B%5D=tracker_id&f%5B%5D=subject

@SoulHunt3r
Copy link
Author

seems a same problem in #339 #340

SoulHunt3r added a commit to SoulHunt3r/redmine-java-api that referenced this issue Jan 21, 2021
SoulHunt3r added a commit to SoulHunt3r/redmine-java-api that referenced this issue Jan 21, 2021
@alexeyOnGitHub
Copy link
Member

you are welcome to submit a PR with a fix.
before you propose a solution - worth exploring that pending PR #340 with a proposed fix that I believe has issues.
also, any code change should have tests.

@AndrewGiddings-at-BankCheck

This issue is a showstopper for us, as we need multiple free-form filters.

I see that PR #340 was closed — and for good reason, because the second fix clearly introduced another bug. But why was its original fix (Remove distinct) replaced? I.e. why do duplicate param names need to be removed at all? (Looks like that was added in PR #335, but I can't see why.)

As I understand it, a trailing [] in the param name is effectively a convention indicating that it can be repeated. So I'd like to try writing a more sophisticated fix, which would allow duplicate param names if they end with [], and remove those that don't. That should fix this issue, and still remove unnecessary duplicates — but would it break anything else?

Also, all the unit tests are failing because dev.taskadapter.com isn't reachable. Is there an alternative site, or another way to run them?

AndrewGiddings-at-BankCheck added a commit to AndrewGiddings-at-BankCheck/redmine-java-api that referenced this issue Jun 14, 2022
Suggested fix for issues taskadapter#360 and taskadapter#339.  Preserves duplicate params with names ending in `[]` (needed for free-form Redmine queries), while still removing others.
@alexeyOnGitHub
Copy link
Member

the dev server is turned off indeed. I would recommend downloading a Redmine docker image and running the tests against your local Redmine copy (after updating the test configs - urls, passwords,..)

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

No branches or pull requests

3 participants