Skip to content

feat(schedules): add schedule period fields to advanced create form#18

Open
Assem-Uber wants to merge 11 commits into
feat/schedule-create-pr09c-catchup-policyfrom
feat/schedule-create-pr09d-schedule-period
Open

feat(schedules): add schedule period fields to advanced create form#18
Assem-Uber wants to merge 11 commits into
feat/schedule-create-pr09c-catchup-policyfrom
feat/schedule-create-pr09d-schedule-period

Conversation

@Assem-Uber

Copy link
Copy Markdown
Owner

No description provided.

@Assem-Uber

Copy link
Copy Markdown
Owner Author

@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09c-catchup-policy branch from 3353bff to 769d4ec Compare June 25, 2026 00:34
@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09c-catchup-policy branch from 8fed29c to 88d5e0b Compare June 25, 2026 01:38
@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09d-schedule-period branch from dd6d005 to ae02ddf Compare June 25, 2026 01:40
@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09c-catchup-policy branch from 88d5e0b to 58aac5f Compare June 25, 2026 15:14
@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09d-schedule-period branch from aaccfd2 to ca97c6c Compare June 25, 2026 23:56
Assem-Uber and others added 5 commits June 26, 2026 11:25
…adence-workflow#1387)

## Summary

- Add **Catch-up Policy** radio controls (Skip, Catch-up one, Catch-up
all) to the create-schedule advanced accordion, placed after the overlap
policy cluster.
- Show **Catch-up window** as an indented subfield when the policy is
not Skip; default is 14 days, max 90 days.
- Extend the Zod schema with `catchUpPolicy` / `catchUpWindowDays`
validation (window required for non-skip policies; range validated in
one refine: "Catch-up window must be between 1 and 90 days").
- Wire `transformDomainSchedulesCreateFormToBody` to pass through
`catchUpPolicy` when set and convert window days to
`catchUpWindowSeconds` on submit (string form fields, consistent with
PR09b).
…#1368)

## Summary
- Add `ScheduleDetailsTable` under `src/views/schedule-details/` for
rendering schedule detail label/value rows.
- Scope is the read-only table component only; schedule page wiring and
describe-query integration are out of scope for this PR.
- Include defaults for empty values, optional row hiding, and semantic
table markup aligned with the Figma design.
## Summary
- Wire `pauseSchedule` and `unpauseSchedule` into `GRPCClusterMethods`
and the gRPC mock.
- Add route handlers with Zod body validation (`reason` optional;
unpause also accepts optional `catchUpPolicy`).
- Expose `POST .../schedules/{scheduleId}/pause` and `POST
.../schedules/{scheduleId}/unpause` API routes.

## Test plan
<img width="681" height="84" alt="Screenshot 2026-06-26 at 03 18 06"
src="https://github.com/user-attachments/assets/44681a16-a328-4ebd-81d0-37a0ad160af0"
/>
<img width="781" height="77" alt="Screenshot 2026-06-26 at 03 19 17"
src="https://github.com/user-attachments/assets/4b30e17a-5e25-4b00-8bd8-f3aaa9b9dac9"
/>
<img width="673" height="75" alt="Screenshot 2026-06-26 at 03 17 35"
src="https://github.com/user-attachments/assets/379977f6-04a0-4c40-8619-6fb014990ba6"
/>
<img width="905" height="138" alt="Screenshot 2026-06-26 at 03 17 40"
src="https://github.com/user-attachments/assets/ec7cef07-a88d-458e-9ae2-d7d238fc3b01"
/>

## Feature plans

- [x] [Schedules
List](cadence-workflow#1295)
- [x] Schedules Create Form
- [x] Schedules Details
- Schedules Actions
  - cadence-workflow#1414

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@Assem-Uber Assem-Uber force-pushed the feat/schedule-create-pr09d-schedule-period branch from ca97c6c to 2007b00 Compare June 26, 2026 10:53
Assem-Uber and others added 6 commits June 26, 2026 13:05
…rkflow#1415)

## Summary

Replaces the boolean `CADENCE_BATCH_ACTIONS_ENABLED` env flag with
`CADENCE_BATCH_ACTIONS_UI_ENABLED`, an access-scoped flag with three
modes resolved per user/domain:

| Mode | Enabled when |
|---|---|
| `ENABLED` | everyone |
| `ADMIN` | auth is disabled, or the user has the global admin claim |
| `WRITE` | the user has domain write access |

Any unset/invalid value disables the feature.

The resolver reuses the existing `domain-access` resolver (`canWrite`)
and auth context (`isAdmin`), mirroring the `workflow-actions-enabled`
pattern. The output stays a per-user boolean, so the
`BATCH_ACTIONS_ENABLED` config key and its consumers are unchanged apart
from passing `{ domain, cluster }`.

## Changes

- New resolver `batch-actions-ui-enabled` (+ values config and types)
reading `CADENCE_BATCH_ACTIONS_UI_ENABLED`.
- Consumers (`domain-page-tabs`, `domain-page-actions-batch-workflow`)
pass `{ domain, cluster }`.
- Block the `/batch-actions` route directly via `notFound()` when
disabled — hiding only the tab/button previously left the URL reachable.
- README: documented the new feature flag.
…nce-workflow#1413)

## Summary

Builds on the merged details table (cadence-workflow#1368). This PR wires the first
config-driven detail section: **Policies**, rendered from
`describeSchedule` row config on the Details tab.
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