WIP: EP Approval Workflow#814
Draft
palkerecsenyi wants to merge 4 commits into
Draft
Conversation
Implement EP approval workflow storing approval state in parent.permission_flags["ep_approval"] — shared across all versions in a record family, eliminating DB scans, version propagation, and edit/publish cycles on accept. - ep_approval stored in parent permission_flags (no custom schema needed; permission_flags already allows additionalProperties in parent-v3.0.0.json) - EPApprovalAcceptAction: write directly to parent permission_flags on accept - EPApprovalSubmitAction: re-submission guard is a single parent read - ep_approval_state.py: reads from parent permission_flags, no version scanning; public record detected by source_internal_version key - views.py (publish_public_record): reads/writes ep_approval via permission_flags on both the internal draft parent and the new public record parent - CommitteeApprovalComponent: remove _restore_committee_approval and version CF; _regenerate_apprn_identifier reads from parent (apprn only on public records, detected by source_internal_version) - Remove CommitteeApprovalCF from custom fields (version-level CF no longer used) - notifications, generators, permissions, schemes: EP approval support - templates: EP approval section in record detail, manage menu, and request view - tests: replace CF-based test with parent permission_flags ep_approval test ep_approval keys (internal draft parent): reportnumber, datetime, approved_internal_version, approved_public_version, source_public_version ep_approval keys (public record parent): reportnumber, source_internal_version
Add React components and overrides for the EP approval workflow UI. Version badges read from parent.permission_flags["ep_approval"] (single source of truth shared across all versions) rather than a per-version CF map. - EPApproval: manage section with submit/re-submit, pending/declined state, create-public-record button; new-version interceptor while request pending - EPApprovalSubmitModal: submission form with experiment/role/paper fields - CreatePublicRecordModal: confirmation modal for creating the public record - EPApprovalRequestDetails: request details panel for referees - RecordVersionItem: badges from ep_approval dict (approved_internal_version, source_public_version, approved_public_version keys) - overridableRegistry: wire up RecordVersionItem and EPApproval overrides
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #776