Comment 10 for bug 1796945

Revision history for this message
Dan Wells (dbw2) wrote :

A variety of improvements to the webstaff reporter interface are now available here:

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/dbwells/lp1796945_reporter_clone_create_fixes

working/user/dbwells/lp1796945_reporter_clone_create_fixes

I am hoping to carve out time for automated test cases, but didn't want this lingering in an unavailable state.

From the commit message:

This commit addresses a variety of issues with the webstaff reporter interface, particularly cases of cloning reports created in the XUL client.

1. The conversion process did not account for manually selected JOIN operations (aka nullability). These JOINs are now honored by the conversion code.

2. The conversion process did not account for aggregate filters. These filters are now converted where present.

3. The previous reporter interface attempted to intelligently apply LEFT and INNER JOINs by default. The new interface applied INNER joins exclusively by default, leading in many cases to different results. This commit reinstates the previous logic (which was partially present but never triggered). One side effect of this change is that the IDL tree itself is no longer opinionated about JOIN type, and the default JOIN is undefined.

4. The nullability selector has been expanded to allow for manual selection of INNER joins, as they will longer be the default in some cases.

5. Cloned-converted reports did not retain column order. The order is now preserved.

6. Some templates created in the older interface could, in some cases, have aggregate values set as the string "undefined" rather than actually being undefined. This led to converted templates failing with "column [xxx] must appear in the GROUP BY clause...", as they were incorrectly converted as aggregates. The conversion code now accounts for this latent bug.