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).

Attachments

1

QAlity Plus - Test Management

Checklists

Activity

Brandon Bowersox-Johnson 
August 27, 2017 at 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.

Brandon Bowersox-Johnson 
August 25, 2017 at 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?

Chongsun Ahn 
August 25, 2017 at 4:12 PM

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

Josh Zamor 
August 25, 2017 at 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.

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Components

Sprint

Fix versions

Priority

Time Assistant

Created June 8, 2017 at 2:14 AM
Updated August 30, 2017 at 3:25 AM
Resolved August 29, 2017 at 5:18 PM