redmine-workflow-engine/config/routes.rb
ioresponse e67fb92189 Initial commit: Redmine Workflow Engine Plugin
Features:
- Custom workflow creation per project/tracker
- Step-by-step workflow definition
- Assignees per step (user, role group, department)
- Next/Previous step navigation
- Reject to first step
- Skip step (admin only)
- Step deadline settings
- Workflow dashboard
- Group member selection when proceeding

🤖 Generated with Claude Code
2025-12-23 00:16:43 +09:00

40 lines
2.5 KiB
Ruby

Rails.application.routes.draw do
# 워크플로우 대시보드
get 'workflow_dashboard', to: 'workflow_dashboard#index', as: 'workflow_dashboard'
get 'workflow_dashboard/project/:project_id', to: 'workflow_dashboard#project', as: 'workflow_dashboard_project'
# 커스텀 워크플로우 관리 (Redmine 기본 /workflows와 충돌 방지)
get 'custom_workflows', to: 'workflows#index'
get 'custom_workflows/new', to: 'workflows#new', as: 'new_custom_workflow'
post 'custom_workflows', to: 'workflows#create'
# 검색 API (반드시 :id 라우트 이전에 위치)
get 'custom_workflows/search/users', to: 'workflows#search_users', as: 'search_users_workflows'
get 'custom_workflows/search/role_groups', to: 'workflows#search_role_groups', as: 'search_role_groups_workflows'
get 'custom_workflows/search/departments', to: 'workflows#search_departments', as: 'search_departments_workflows'
# 워크플로우 CRUD
get 'custom_workflows/:id', to: 'workflows#show', as: 'custom_workflow'
get 'custom_workflows/:id/edit', to: 'workflows#edit', as: 'edit_custom_workflow'
patch 'custom_workflows/:id', to: 'workflows#update', as: 'update_custom_workflow'
delete 'custom_workflows/:id', to: 'workflows#destroy', as: 'destroy_custom_workflow'
# 워크플로우 단계 관리
post 'custom_workflows/:workflow_id/steps', to: 'workflow_steps#create', as: 'custom_workflow_steps'
patch 'custom_workflows/:workflow_id/steps/:id', to: 'workflow_steps#update', as: 'custom_workflow_step'
delete 'custom_workflows/:workflow_id/steps/:id', to: 'workflow_steps#destroy'
patch 'custom_workflows/:workflow_id/steps/:id/move', to: 'workflow_steps#move', as: 'move_custom_workflow_step'
# 단계별 담당자 관리
post 'workflow_steps/:step_id/assignees', to: 'workflow_steps#add_assignee', as: 'step_assignees'
delete 'workflow_steps/:step_id/assignees/:id', to: 'workflow_steps#remove_assignee', as: 'step_assignee'
# 티켓 워크플로우 액션
post 'issues/:issue_id/workflow/next', to: 'issue_workflows#next_step', as: 'issue_workflow_next_step'
post 'issues/:issue_id/workflow/prev', to: 'issue_workflows#prev_step', as: 'issue_workflow_prev_step'
post 'issues/:issue_id/workflow/complete', to: 'issue_workflows#complete', as: 'issue_workflow_complete'
post 'issues/:issue_id/workflow/reject', to: 'issue_workflows#reject', as: 'issue_workflow_reject'
post 'issues/:issue_id/workflow/skip', to: 'issue_workflows#skip_step', as: 'issue_workflow_skip_step'
get 'issues/:issue_id/workflow', to: 'issue_workflows#show', as: 'issue_workflow'
end