public override IVariableMap Execute(CommandContext commandContext) { ITaskManager taskManager = commandContext.TaskManager; TaskEntity task = taskManager.FindTaskById(ResourceId); EnsureUtil.EnsureNotNull(typeof(BadUserRequestException), "Cannot find ITask with id '" + ResourceId + "'.", "ITask", task); CheckGetTaskFormVariables(task, commandContext); VariableMapImpl result = new VariableMapImpl(); // first, evaluate form fields TaskDefinition taskDefinition = task.TaskDefinition; if (taskDefinition != null) { ITaskFormData taskFormData = taskDefinition.TaskFormHandler.CreateTaskForm(task); foreach (IFormField formField in taskFormData.FormFields) { if (FormVariableNames == null || FormVariableNames.Contains(formField.Id)) { result.PutValue(formField.Id, CreateVariable(formField, task)); } } } // collect remaining variables from ITask scope and parent scopes task.CollectVariables(result, FormVariableNames, false, DeserializeObjectValues); return(result); }
// get task form data (case task) ///////////////////////////////// public virtual void testCaseTaskGetTaskFormData() { // given createCaseInstanceByKey(CASE_KEY); string taskId = selectSingleTask().Id; // when ITaskFormData taskFormData = formService.GetTaskFormData(taskId); // then Assert.NotNull(taskFormData); }
public virtual object RenderTaskForm(ITaskFormData taskForm) { if (ReferenceEquals(taskForm.FormKey, null)) { return(null); } var formTemplateString = GetFormTemplateString(taskForm, taskForm.FormKey); var task = (TaskEntity)taskForm.Task; //return executeScript(formTemplateString, task.getExecution()); return(null); }
public virtual void testProcessTaskGetTaskFormDataWithReadTaskPermissionOnProcessDefinition() { // given StartProcessInstanceByKey(FORM_KEY_PROCESS_KEY); string taskId = selectSingleTask().Id; createGrantAuthorization(Resources.ProcessDefinition, FORM_KEY_PROCESS_KEY, userId, Permissions.ReadTask); // when ITaskFormData taskFormData = formService.GetTaskFormData(taskId); // then Assert.NotNull(taskFormData); }
public virtual void testStandaloneTaskGetTaskFormData() { // given string taskId = "myTask"; createTask(taskId); createGrantAuthorization(Resources.Task, taskId, userId, Permissions.Read); // when ITaskFormData taskFormData = formService.GetTaskFormData(taskId); // then // Standalone task, no ITaskFormData available Assert.IsNull(taskFormData); deleteTask(taskId, true); }
[Test] public virtual void testGetTaskFormWithDisabledTenantCheck() { testRule.DeployForTenant(TENANT_ONE, "resources/api/authorization/formKeyProcess.bpmn20.xml"); runtimeService.StartProcessInstanceByKey(PROCESS_DEFINITION_KEY); string taskId = taskService.CreateTaskQuery().First().Id; identityService.SetAuthentication("aUserId", null); processEngineConfiguration.SetTenantCheckEnabled(false); ITaskFormData taskFormData = formService.GetTaskFormData(taskId); // then Assert.NotNull(taskFormData); Assert.AreEqual("aTaskFormKey", taskFormData.FormKey); }
public virtual void testCustomTaskFormHandlerExecutesQuery() { // given startProcessInstancesByKey(DEFAULT_PROCESS_KEY, 5); string taskId = selectAnyTask().Id; createGrantAuthorization(Resources.Task, taskId, userId, Permissions.Read); // when ITaskFormData taskFormData = formService.GetTaskFormData(taskId); // then Assert.NotNull(taskFormData); Assert.NotNull(MyDelegationService.CURRENT_AUTHENTICATION); Assert.AreEqual(userId, MyDelegationService.CURRENT_AUTHENTICATION.UserId); Assert.AreEqual(Convert.ToInt64(5), MyDelegationService.INSTANCES_COUNT); }
public virtual object RenderTaskForm(ITaskFormData taskForm) { return(RenderFormData(taskForm)); }