Skip to content

[16.0][IMP] budget_project: add budget.project reservation model for kmitl_project#515

Open
n3n wants to merge 4 commits into16.0from
n3n/16.0-add-kmitl_project_budget
Open

[16.0][IMP] budget_project: add budget.project reservation model for kmitl_project#515
n3n wants to merge 4 commits into16.0from
n3n/16.0-add-kmitl_project_budget

Conversation

@n3n
Copy link
Copy Markdown
Member

@n3n n3n commented Feb 16, 2026

Summary

  • Introduce budget.project as an intermediary reservation model between budget.appropriation and kmitl.project, separating budget allocation from project approval workflows
  • On posting an appropriation, a budget.project reservation is created (instead of directly creating kmitl.project), storing name, budget amount, budget account, fiscal year, and analytic dimensions
  • Users can link an existing kmitl.project via dropdown or create one directly from the reservation using the "สร้างโครงการ/กิจกรรม" button; linking triggers analytic account creation and injects the kmitl_project dimension into budget.move.line.analytic_distribution
  • Adds a dedicated menu "การกันเงินโครงการ/กิจกรรม" with tree/form views and matched/unmatched filters for tracking reservation status

Test plan

  • Post a budget.appropriation with a line where enable_project=True and verify a budget.project record is created
  • Verify budget.move.line has budget_project_id but no kmitl_project analytic dimension yet
  • Use "สร้างโครงการ/กิจกรรม" button to create a kmitl.project from the reservation; verify data is copied and analytic account is created
  • Link an existing kmitl.project via dropdown and verify budget.move.line.analytic_distribution includes the project dimension
  • Verify chatter messages appear on both budget.project and kmitl.project
  • Verify kmitl.project.is_editable = False once linked

🤖 Generated with Claude Code

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