Skip to content

[bot] Fast-forward for 26.3.17#1800

Merged
github-actions[bot] merged 3 commits into
release26.3from
26.3_ff_bot_26.3.17
Jul 14, 2026
Merged

[bot] Fast-forward for 26.3.17#1800
github-actions[bot] merged 3 commits into
release26.3from
26.3_ff_bot_26.3.17

Conversation

@github-actions

Copy link
Copy Markdown

Generated automatically.
Approve all matching PRs simultaneously.
Approval will trigger automatic merge.
View all PRs: https://internal.labkey.com/Scrumtime/Backlog/harvest-gitOpenPullRequests.view?branch=26.3_ff_bot_26.3.17

kollil and others added 3 commits July 7, 2026 10:48
Added more filters:
1. Remove cases in which the ID has a surrogate dam entered in prime.
(There are several but 41043 is one example)
2. Remove cases in which the observed dam is "unknown"
3. Remove cases in which the observed dam ID is not an ONPRC. E.g. there
are several NEPRC IDs of the format ###-####.
## Rationale

ONPRC_BillingManager.deleteBillingRuns built SimpleFilters over the raw
onprc_billing tables (invoicedItems, invoiceRuns, miscCharges) from
request-supplied primary keys with no container predicate, and the
method received no Container. Since DeleteBillingPeriodAction's
permission check is evaluated only against the current folder, a billing
admin in one folder could delete or detach billing rows belonging to any
other folder by POSTing arbitrary object IDs - a cross-container
horizontal privilege-escalation bug. This change confines every
operation to the caller's folder. This is the 26.3 port of
#1759 (originally against release25.7-SNAPSHOT).

## Related Pull Requests

- #1759 (original, against release25.7-SNAPSHOT)

## Changes

- Add a Container parameter to deleteBillingRuns and pass getContainer()
from both DeleteBillingPeriodAction call sites.
- Add integration test ONPRC_BillingManager.TestCase asserting a delete
from one container cannot affect another, registered in
ONPRC_BillingModule.getIntegrationTests().
- Drop two unused row-count locals from the Table.delete calls.

## Container filters added on

All tables are in the onprc_billing schema:

- invoiceRuns - container filter on the PK->run-id lookup and on the
final delete.
- invoicedItems - the preview read and the delete both carry a direct
container filter (SimpleFilter.createContainerFilter) plus an invoiceId
restriction to the container-scoped run ids.
- miscCharges - the read and the detaching Table.update are keyed off
container-authorized run ids only; intentionally NOT container-scoped
(source charges may live in satellite containers) but can only match
runs the caller already owns.
@brentlogan: this PR is designed to help the ETL that syncs MHC data
from prime-seq to prime. there is currently a loophole that lets some
source record deletes get missed. this should fix that. it will be
deployed to prime-seq, so doesnt need anything from PRIME.
@github-actions github-actions Bot merged commit d4aa2c3 into release26.3 Jul 14, 2026
14 of 15 checks passed
@github-actions github-actions Bot deleted the 26.3_ff_bot_26.3.17 branch July 14, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants