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);
        }
Exemple #2
0
        // 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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #8
0
 public virtual object RenderTaskForm(ITaskFormData taskForm)
 {
     return(RenderFormData(taskForm));
 }