在工作流定义中获取用户

时间:2013-01-30 05:02:32

标签: liferay liferay-6

我正在使用Liferay 6.1.1CE和kaleo工作流程。

通过编辑singlelevel workflow.xml,我创建了一个新的工作流程定义。

在我的工作流程定义中,我添加了一个新的过渡“参考”和相同的任务。

在我的参考任务中,我必须从所有用户中选择一个用户来发送参考。

我如何获取用户..?有可能吗?

1 个答案:

答案 0 :(得分:1)

我不完全确定你的任务是做什么的,但是,你可以通过使用groovy脚本来访问门户服务类。类似的东西:

<task>
    <name>Some task</name>
    <actions>
        <action>
            <name>task action</name>
            <script><![CDATA[
import com.liferay.portal.kernel.util.GetterUtil;
import java.util.List
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.model.User;
import com.liferay.portal.service.UserLocalServiceUtil;


long companyId = GetterUtil.getLong((String)
workflowContext.get(WorkflowConstants.CONTEXT_COMPANY_ID));
ServiceContext serviceContext = (ServiceContext)
workflowContext.get(WorkflowConstants.CONTEXT_SERVICE_CONTEXT);
List<User> users = UserLocalServiceUtil.getUsers(start, end);

]]></script>
            <script-language>groovy</script-language>
            <execution-type>onEntry</execution-type>
        </action>
    </actions>
    <assignments>
        <roles>
            <role>
                <role-type>regular</role-type>
                <name>Administrator</name>
            </role>
        </roles>
    </assignments>
    <transitions>
        <transition>
            <name>next</name>
            <target>Next Task</target>
        </transition>
    </transitions>
</task>

你可以在代码中使用WorkflowInstanceManagerUtil和WorkflowTaskManagerUtil来访问你的工作流任务,我希望这有帮助,如果你有其他问题,请告诉我