Member Junction
    Preparing search index...
    • The forms the picker offers, out of every override that applies to this user.

      Applying a custom form does not merge it into whatever was there before: the new form becomes live and the previous one is set aside, both rows intact. So the user's own set aside ones belong in the picker — without them a user who applies a second form can never get back to the first, and "swap" would mean "discard".

      Three kinds of row are left out. A Pending row is an unfinished draft an agent is still iterating on, not a form anyone chose. A shared row set aside was retracted (IsSelectableFormOverride; the resolver's list holds only the current user's own User rows, so a User row here is always the caller's). And a set-aside row that shares its name with a newer one is a superseded VERSION of the same form rather than a different form, so only the newest of each name is offered; the older versions stay reachable through the form's own version history.

      rows must arrive newest-first within each name, which is the order the resolver returns.

      Parameters

      Returns FormVariantChoice[]