private String getCreatorLogin(HttpServletRequest request) { UserData user = portalUserSource.getUserByRequest(request); return user.getLogin(); }
@Override public List<BpmTask> findProcessTasksWithUser(ProcessInstance pi, ProcessToolContext ctx) { return findProcessTasks(pi, user.getLogin(), ctx); } }
public String getCreator() { return processInstance != null ? processInstance.getCreator().getLogin() : null; }
private boolean isUserAssignedToTask() { return user.getLogin().equals(task.getAssignee()); }
protected ProcessEngine getProcessEngine() { ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext(); if (ctx instanceof ActivitiContextImpl) { ProcessEngine engine = ((ActivitiContextImpl) ctx).getProcessEngine(); if (user != null && user.getLogin() != null) engine.getIdentityService().setAuthenticatedUserId(user.getLogin()); return engine; } else { throw new IllegalArgumentException(ctx + " not an instance of " + ActivitiContextImpl.class.getName()); } }
@Override public UserData findOrCreateUser(UserData ud) { long start = System.currentTimeMillis(); UserData user = loadUserByLogin(ud.getLogin()); if (user == null) { Session session = getSession(); session.saveOrUpdate(ud); user = ud; } long duration = System.currentTimeMillis() - start; logger.severe("findOrCreateUser: " + duration); return user; }
protected boolean hasUserPriviledgesToViewTask() { // default permission checking if (task.getPotentialOwners().contains(user.getLogin())) return true; if(StringUtils.isEmpty(task.getAssignee())) { for (String queueName : userQueues) if (task.getQueues().contains(queueName)) return true; } else if(task.getAssignee().equals(user.getLogin())) return true; return hasUserRightsToTask(); }
@Override public List<BpmTask> processWithContext(ProcessToolContext ctx) { return fetchHibernateData(getSession(ctx, user).findProcessTasks(processInstance, user.getLogin(), taskNames, ctx)); } });
@Override public void adminCompleteTask(ProcessInstance pi, BpmTask bpmTask, ProcessStateAction action) { log.severe("User: " + user.getLogin() + " attempting to complete task " + bpmTask.getInternalTaskId() + " for process: " + pi.getInternalId() + " to outcome: " + action); performAction(action, ProcessToolContext.Util.getThreadProcessToolContext(), bpmTask); log.severe("User: " + user.getLogin() + " has completed task " + bpmTask.getInternalTaskId() + " for process: " + pi.getInternalId() + " to outcome: " + action); }
private boolean hasUserRightsToTask(IProcessToolRequestContext context, BpmTask task) { if(task.getPotentialOwners().contains(context.getUser().getLogin())) return true; for(String queueName: context.getUserQueues()) if(task.getQueues().contains(queueName)) return true; return false; }
@Override public ProcessInstance processWithContext(ProcessToolContext ctx) { ctx.getProcessToolSessionFactory().createAutoSession() .adminReassignProcessTask(processInstance, bpmTask, user.getLogin()); return null; } });
protected boolean isSubstitutingUser() { return ctx.getUserSubstitutionDAO().isSubstitutedBy(task.getAssignee(), user.getLogin()); }
@Override public Map<String, UserData> loadUsersByLogin(Collection<String> logins) { final List<UserData> users = findByCriteria(getDetachedCriteria() .add(Restrictions.in("login", logins)) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)); return new HashMap<String, UserData>(users.size()) {{ for (UserData user : users) { put(user.getLogin(), user); } }}; } }
@Override public void adminCancelProcessInstance(ProcessInstance pi) { log.severe("User: " + user.getLogin() + " attempting to cancel process: " + pi.getInternalId()); ProcessToolContext ctx = ProcessToolContext.Util.getThreadProcessToolContext(); pi = getProcessData(pi.getInternalId(), ctx); ProcessEngine processEngine = getProcessEngine(); processEngine.getRuntimeService().deleteProcessInstance(pi.getInternalId(), "admin-cancelled"); fillProcessAssignmentData(pi, ctx); pi.setRunning(false); pi.setState(null); ctx.getProcessInstanceDAO().saveProcessInstance(pi); log.severe("User: " + user.getLogin() + " has cancelled process: " + pi.getInternalId()); }
@RenderMapping() public ModelAndView handleMainRenderRequest(RenderRequest request, RenderResponse response, Model model) { logger.info("CaseManagementPortletController.handleMainRenderRequest... "); final ModelAndView modelView = new ModelAndView(); SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this); UserData user = portalUserSource.getUserByRequest(request); modelView.addObject(WebApiConstants.USER_PARAMETER_NAME, user); if (user == null || user.getLogin() == null) { modelView.setViewName("login"); } else { modelView.setViewName("report_panel"); } return modelView; }
@Override protected void invokeBpmTransition() { if(dialog==null){ super.invokeBpmTransition(); } else{ ProcessToolContext ctx = getCurrentContext(); String login = dialog.getAssigneeBean().getAssignee().getLogin(); bpmSession.assignTaskToUser(ctx, task.getInternalTaskId(), login); callback.getWidgetContextSupport().updateTask(task); logger.info("Assigneed user: " + login); } }
@Override public List<BpmTask> findUserTasks(Integer offset, Integer limit, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() .taskAssignee(user.getLogin()) .listPage(offset, limit); return findProcessInstancesForTasks(tasks, ctx); }
private List<Task> findUserTask(final ProcessInstance processInstance, ProcessToolContext ctx) { return getProcessEngine().getTaskService().createTaskQuery().processInstanceId(processInstance.getInternalId()) .taskAssignee(user.getLogin()).list(); }
@Override public List<BpmTask> findUserTasks(ProcessInstance processInstance, ProcessToolContext ctx) { List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() .processInstanceId(processInstance.getInternalId()) .taskAssignee(user.getLogin()) .listPage(0, 1000); return collectTasks(tasks, processInstance, ctx); }
private MutableBpmTask collectHistoryActivity(HistoricTaskInstance task, ProcessInstance pi, UserData user) { MutableBpmTask t = new MutableBpmTask(); t.setProcessInstance(pi); t.setAssignee(user.getLogin()); t.setOwner(user); t.setTaskName(task.getName()); t.setInternalTaskId(null); t.setExecutionId(task.getExecutionId()); t.setCreateDate(task.getStartTime()); t.setFinishDate(task.getEndTime()); t.setFinished(task.getEndTime() != null); return t; }