redmine-workflow-engine/app/models/workflow_step_assignee.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

42 lines
999 B
Ruby

class WorkflowStepAssignee < ActiveRecord::Base
belongs_to :workflow_step
validates :workflow_step_id, presence: true
validates :assignee_type, presence: true, inclusion: { in: %w[user role_group department] }
validates :assignee_id, presence: true
validates :assignee_id, uniqueness: { scope: [:workflow_step_id, :assignee_type] }
def assignee
case assignee_type
when 'user'
User.find_by(id: assignee_id)
when 'role_group'
RoleGroup.find_by(id: assignee_id)
when 'department'
Department.find_by(id: assignee_id)
end
end
def assignee_name
obj = assignee
return '(삭제됨)' unless obj
case assignee_type
when 'user'
obj.name
when 'role_group'
"#{obj.name} (역할그룹)"
when 'department'
"#{obj.name} (부서)"
end
end
def type_label
case assignee_type
when 'user' then '사용자'
when 'role_group' then '역할 그룹'
when 'department' then '부서'
end
end
end