private WfStepDef accessCurrentUserStep(String globalName) throws UnifyException { WfStepDef wfStepDef = getWfStepDef(globalName); if (!getUserToken().isReservedUser()) { Set<String> stepNames = getCurrentUserRoleStepCodes(); if (!stepNames.contains(globalName)) { throw new UnifyException(WorkflowModuleErrorConstants.WORKFLOW_CURRENT_USER_NOT_PARTICIPANT, getUserToken().getUserName(), wfStepDef.getDescription()); } } return wfStepDef; }
@Override public List<WfTemplate> findUserRoleManualInitWfTemplates() throws UnifyException { WfTemplateQuery query = new WfTemplateQuery(); if (!getUserToken().isReservedUser()) { Set<String> steps = getCurrentUserRoleStepCodes(); if (steps.isEmpty()) { return Collections.emptyList(); } Set<String> categoryNames = new HashSet<String>(); Set<String> templateNames = new HashSet<String>(); for (String globalStepName : steps) { StepNameParts stepNameParts = WfNameUtils.getStepNameParts(globalStepName); categoryNames.add(stepNameParts.getCategoryName()); templateNames.add(stepNameParts.getTemplateName()); } query.wfCategoryNameIn(categoryNames); query.nameIn(templateNames); } query.select("id", "name", "description", "wfCategoryName", "wfCategoryDesc"); query.wfCategoryStatus(RecordStatus.ACTIVE); query.manualOption(Boolean.TRUE); query.order("wfCategoryDesc", "description"); return db().listAll(query); }
private WfItemQuery getCurrentUserParticipationWfItemQuery(WfStepDef wfStepDef) throws UnifyException { WfItemQuery wfItemQuery = new WfItemQuery().globalTemplateName(wfStepDef.getGlobalTemplateName()) .wfStepName(wfStepDef.getName()); if (!getUserToken().isReservedUser()) { Boolean supervisor = (Boolean) this.getSessionAttribute(JacklynSessionAttributeConstants.SUPERVISORFLAG); if (Boolean.TRUE.equals(supervisor)) { wfItemQuery.allOrParticipantType(WorkflowParticipantType.SUPERVISOR); } else { wfItemQuery.allOrParticipantType(WorkflowParticipantType.PERSONNEL); } if (wfStepDef.isBranchOnly()) { wfItemQuery.ownerId(getUserBranchId()); } } return wfItemQuery; }
if (!userToken.isReservedUser()) { forwardedBy = userToken.getUserLoginId();