Enable Requistion database paging by being smarter about filtering Requisitions based on User's permissions

Description

As a developer writing a search or other batch retrieval endpoint, I'd like to be able to utilize database paging so that I don't first have to pull all my elements from the database, convert them to Java objects, iterate through each of them filtering out the ones my user doesn't have permissions on, and then returning that final list in a very non-performant way.

AC:

  • establish a pattern whereby "enough" of the objects required rights are stored with the object (table entity), so that a JPAQL/SQL statement may be written given which filters out table rows based on the user's rights.

  • works with our current definition of Supervisory nodes, groups, facilities, role assignments, etc

  • establish this pattern so that other Services than the Requisition service may learn from it. (e.g. Fulfillment).

Activity

Show:
Josh Zamor
August 25, 2017, 4:09 PM

Moved this to done, skipping QA, as this would be difficult to verify from the UI.

and FYI. There is a potential for regression on the requisition view screen, primarily.

Chongsun Ahn
August 25, 2017, 4:12 PM

I need to do a bit more stuff on this (documentation), so moving back to In Progress for that.

Brandon Bowersox-Johnson
August 25, 2017, 6:30 PM

Regarding what Josh mentions about possible regressions on the Requisitions > View screen, has anyone already re-tested that screen or could we schedule a manual check of it soon?

Brandon Bowersox-Johnson
August 27, 2017, 5:01 AM

The documentation you added (the last 2 commits) look good to me. All the previous commits (other than the documentation) were already reviewed in Fisheye and marked Done.

So I believe the only thing remaining on this ticket is a final bit of manual testing. Moving to for this QA noted in the comments above.

Done

Assignee

Chongsun Ahn

Reporter

Josh Zamor

Labels

Story Points

8

Components

Sprint

None

Fix versions

Priority

Major