Skip to content

Backporting the changes for GitHub issue 465/PR #843 - #885

Open
IvarKoreman-Ritense wants to merge 1 commit into
rc/12.42.0from
story/backport-issue-843
Open

Backporting the changes for GitHub issue 465/PR #843#885
IvarKoreman-Ritense wants to merge 1 commit into
rc/12.42.0from
story/backport-issue-843

Conversation

@IvarKoreman-Ritense

@IvarKoreman-Ritense IvarKoreman-Ritense commented Aug 6, 2026

Copy link
Copy Markdown
Member

Backporting the changes for GitHub issue generiekzaakafhandelcomponent/gzac-issues#465 (Merged to V13 in PR #843)

EC: new ticket for this is https://github.com/generiekzaakafhandelcomponent/atlas-internal/issues/574

Summary by CodeRabbit

  • New Features

    • Added the ability to view active process timers from a case’s Progress tab.
    • Users with the required permission can skip waiting timers, immediately continuing the process after confirmation.
    • Added timer-skip controls directly to the process diagram.
    • Skipped timers are recorded in the case audit trail.
    • Added support for English and Dutch timer-skip messages.
  • Documentation

    • Added access-control configuration guidance and usage examples for timer skipping.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds authorized Camunda timer skipping from the case Progress tab. The change includes timer authorization, REST endpoints, audit events, frontend confirmation controls, BPMN overlays, translations, permissions, tests, and documentation.

Changes

Camunda timer authorization

Layer / File(s) Summary
Timer authorization model
backend/core/..., backend/apps/dev/..., documentation/features/access-control/..., documentation/features/process/...
Adds CamundaTimer, the COMPLETE action, authorization mapping, Spring beans, administrator permissions, tests, and PBAC documentation.
Timer endpoints and audit flow
backend/process-document/...
Adds case ownership validation, timer retrieval and skip endpoints, job inspection DTOs, authenticated routes, ProcessTimerSkippedEvent, audit-log support, auto-configuration, and tests.
Progress tab timer controls
frontend/projects/valtimo/..., documentation/features/case/..., documentation/release-notes/...
Adds timer API models and service calls, BPMN skip overlays, confirmation handling, reload behavior, translations, styles, and user-facing documentation.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant ProgressTab
  participant ProcessTimerResource
  participant AuthorizationService
  participant ManagementService
  participant AuditLog
  User->>ProgressTab: Select timer skip
  ProgressTab->>ProcessTimerResource: Request timer skip
  ProcessTimerResource->>AuthorizationService: Check COMPLETE permission
  ProcessTimerResource->>ManagementService: Execute timer job
  ProcessTimerResource->>AuditLog: Publish ProcessTimerSkippedEvent
  ProcessTimerResource-->>ProgressTab: Return 204
  ProgressTab->>ProgressTab: Reload process data and diagram
Loading

Possibly related PRs

Suggested labels: tested

Suggested reviewers: ivo-ritense, klaas-ritense

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 2.22% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description identifies the backported issues but omits most required template sections, including branch, testing, security, dependencies, and checklist status. Complete the template with the branch location, change details, breaking-change assessment, documentation, tests, security, and dependency checklist status.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the main change as a backport related to issue 465 and PR #843.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch story/backport-issue-843

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@IvarKoreman-Ritense
IvarKoreman-Ritense marked this pull request as ready for review August 6, 2026 10:04
@IvarKoreman-Ritense

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@documentation/features/case/tabs/README.md`:
- Line 116: Update the Progress tab description to explicitly state that
skipping a waiting timer requires the PBAC complete permission on CamundaTimer,
replacing the vague “required permission” wording while preserving the rest of
the description.

In
`@frontend/projects/valtimo/dossier/src/lib/components/dossier-detail/tab/progress/progress.component.ts`:
- Around line 75-87: Update the progress component’s empty-list handling around
the process instance selection logic to emit an explicit no-selection value when
processDocumentInstances is empty. In progress.component.html, guard the process
details and diagram bindings on a selected process value, and display the
no-process message when the item list is empty; apply these changes at
frontend/projects/valtimo/dossier/src/lib/components/dossier-detail/tab/progress/progress.component.ts:75-87
and
frontend/projects/valtimo/dossier/src/lib/components/dossier-detail/tab/progress/progress.component.html:78-84.

In
`@frontend/projects/valtimo/process/src/lib/process-diagram/process-diagram.component.ts`:
- Around line 137-139: Update the change-detection condition in
process-diagram.component.ts to also trigger renderSkipTimerOverlays() when the
skipTimerLabel input changes, ensuring existing timer buttons receive the
updated title and aria-label.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5972abfe-ce90-4895-b120-fbf0aa4f43b5

📥 Commits

Reviewing files that changed from the base of the PR and between 89a19c0 and 30967ff.

📒 Files selected for processing (35)
  • backend/apps/dev/src/main/resources/config/pbac/process-timer.permission.json
  • backend/core/src/main/kotlin/com/ritense/valtimo/autoconfiguration/ValtimoCamundaAutoConfiguration.kt
  • backend/core/src/main/kotlin/com/ritense/valtimo/camunda/authorization/CamundaTimerActionProvider.kt
  • backend/core/src/main/kotlin/com/ritense/valtimo/camunda/authorization/CamundaTimerExecutionMapper.kt
  • backend/core/src/main/kotlin/com/ritense/valtimo/camunda/authorization/CamundaTimerSpecification.kt
  • backend/core/src/main/kotlin/com/ritense/valtimo/camunda/authorization/CamundaTimerSpecificationFactory.kt
  • backend/core/src/main/kotlin/com/ritense/valtimo/camunda/domain/CamundaTimer.kt
  • backend/core/src/test/kotlin/com/ritense/valtimo/camunda/authorization/CamundaTimerExecutionMapperTest.kt
  • backend/process-document/src/main/java/com/ritense/processdocument/autoconfigure/ProcessDocumentAutoConfiguration.java
  • backend/process-document/src/main/java/com/ritense/processdocument/security/config/ProcessDocumentHttpSecurityConfigurer.java
  • backend/process-document/src/main/java/com/ritense/processdocument/service/impl/CamundaProcessJsonSchemaDocumentAuditService.java
  • backend/process-document/src/main/kotlin/com/ritense/processdocument/event/ProcessTimerSkippedEvent.kt
  • backend/process-document/src/main/kotlin/com/ritense/processdocument/service/ProcessInstanceCaseAccessService.kt
  • backend/process-document/src/main/kotlin/com/ritense/processdocument/web/rest/ProcessTimerResource.kt
  • backend/process-document/src/main/kotlin/com/ritense/processdocument/web/rest/dto/JobInspectionDto.kt
  • backend/process-document/src/test/kotlin/com/ritense/processdocument/event/ProcessTimerSkippedEventTest.kt
  • backend/process-document/src/test/kotlin/com/ritense/processdocument/service/ProcessInstanceCaseAccessServiceTest.kt
  • backend/process-document/src/test/kotlin/com/ritense/processdocument/service/impl/CamundaProcessJsonSchemaDocumentAuditServiceTest.kt
  • backend/process-document/src/test/kotlin/com/ritense/processdocument/web/rest/ProcessTimerResourceTest.kt
  • documentation/features/access-control/configurable-elements.md
  • documentation/features/case/tabs/README.md
  • documentation/features/process/README.md
  • documentation/release-notes/12.x.x/12.42.0/README.md
  • frontend/projects/valtimo/config/assets/core/en.json
  • frontend/projects/valtimo/config/assets/core/nl.json
  • frontend/projects/valtimo/dossier/src/lib/components/dossier-detail/tab/progress/progress.component.html
  • frontend/projects/valtimo/dossier/src/lib/components/dossier-detail/tab/progress/progress.component.ts
  • frontend/projects/valtimo/dossier/src/lib/models/index.ts
  • frontend/projects/valtimo/dossier/src/lib/models/pending-skip.model.ts
  • frontend/projects/valtimo/dossier/src/lib/models/process-job.model.ts
  • frontend/projects/valtimo/dossier/src/lib/services/dossier-process-timer.service.ts
  • frontend/projects/valtimo/dossier/src/lib/services/index.ts
  • frontend/projects/valtimo/process/src/lib/models/process.model.ts
  • frontend/projects/valtimo/process/src/lib/process-diagram/process-diagram.component.scss
  • frontend/projects/valtimo/process/src/lib/process-diagram/process-diagram.component.ts

Comment thread documentation/features/case/tabs/README.md
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.

2 participants