...
Don’t Allow Multiple Approval/Rejection for the Same Project and Period
Code Block | ||
---|---|---|
| ||
import com.deniz.jira.worklog.approval.*; import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.project.*; import com.atlassian.jira.*; import com.atlassian.jira.user.util.*; TimesheetApprovalService approvalService = ComponentAccessor.getOSGiComponentInstanceOfType(TimesheetApprovalService.class); UserManager userManager = ComponentAccessor.getUserManager(); ProjectManager projectManager = ComponentAccessor.getProjectManager(); def user = userManager.getUserByKey(timesheetApprovalAction.userKey); def project = projectManager.getProjectByCurrentKey(timesheetApprovalAction.projectKey); def approvalStatus = approvalService.getTimesheetApprovalStatus(user.getKeygetUsername(), timesheetApprovalAction.period.id, [project.id] as Set); def projectApprovalStatus = approvalStatus.projectApproval.get(project.key); if (projectApprovalStatus.approvalStatus != TimesheetApprovalStatus.SUBMITTED) { return "This timesheet is already approved/rejected or not submitted yet!" } |
...