- All Implemented Interfaces:
- Serializable, org.kuali.rice.krad.keyvalues.KeyValuesFinder
public abstract class CommitteeIdByUnitValuesFinder
extends org.kuali.rice.krad.keyvalues.KeyValuesBase
This class returns a list of committees that is filtered by the current
user's home unit. The available committees are based on some
conditional logic as explained in kcirb-1314:
If not yet submitted:
For the Submitter/Aggregator they should be able to select any committee where
the Lead Unit of that committee is above or below the Lead Unit on the protocol.
However, they cannot select a committee from another branch of the org tree.
So, using the org Hierarchy in Trunk as an example, if the Lead Unit on the
protocol is BL-RUGS then the submitter should be able to pick any committee with
a lead unit in the Bloomington campus branch of the tree
(BL-IIDC, BL-RCEN, BL-RUGS, BL-BL) or at the university level (000001, or IU-UNIV),
but they should not be able to pick a committee with a home unit is in the
Indianapolis branch of the org tree (IN-IN, IN-MED, INMDEP, IN-CARD, IN-CARR, IN-PED or INC-PERS).
Post-submittal:
The rules for an IRB administrator are slightly different for selecting/changing
a committee assignment and is based on the Role Qualifier on their
IRB Administrator (1119) role. If the Descends flag is checked (which in the real
world I think it always should be) then they should be able to change a committee
assignment for any protocol where the Lead Unit is at or below their qualified
node in the Org tree. They can select a new committee to any committee whose home
unit is at or below their qualified node in the Org tree.
- See Also:
- Serialized Form