Skip to content

[16.0][IMP] kmitl_project: add approval phase before project execution#635

Open
n3n wants to merge 1 commit into16.0from
16.0-imp-kmitl_project-approval-phase
Open

[16.0][IMP] kmitl_project: add approval phase before project execution#635
n3n wants to merge 1 commit into16.0from
16.0-imp-kmitl_project-approval-phase

Conversation

@n3n
Copy link
Copy Markdown
Member

@n3n n3n commented Mar 30, 2026

Summary

  • Add separate approval_state field (draft → submitted → approved/rejected) to gate project execution lifecycle
  • Auto-transitions state from draft → new upon approval; rejection wizard requires a reason with chatter notification
  • Phase-aware dual status bars: shows approval statusbar during draft, execution statusbar after approval
  • Computed button visibility with Manager-only approve/reject permissions
  • Includes post_init_hook to set existing non-draft projects as approved, and fixes missing exception wizard XML in manifest

Test plan

  • Create new project → verify approval_state=draft, "Submit for Approval" button visible
  • Submit for approval → verify approval_state=submitted, fields become readonly
  • As Manager, approve → verify approval_state=approved and state=new auto-transition
  • Test reject flow: submit → reject with reason → verify banner + chatter message → reset → resubmit
  • Verify exception rules still fire on submit (strategic project missing strategies)
  • Upgrade module with existing data → verify non-draft projects get approval_state=approved

Add a separate approval_state field to gate project execution.
Projects must go through draft → submitted → approved before
the execution state transitions to 'new'. Includes rejection
wizard with reason, phase-aware dual status bars, and
post_init_hook for existing data migration.
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.

1 participant