/** * @Route( * "/update/{name}", * name="oro_workflow_definition_update" * ) * @Template("OroWorkflowBundle:WorkflowDefinition:update.html.twig") * @Acl( * id="oro_workflow_definition_update", * type="entity", * class="OroWorkflowBundle:WorkflowDefinition", * permission="EDIT" * ) * * @param WorkflowDefinition $workflowDefinition * @return array * @throws AccessDeniedHttpException */ public function updateAction(WorkflowDefinition $workflowDefinition) { if ($workflowDefinition->isSystem()) { throw new AccessDeniedHttpException('System workflow definitions are not editable'); } $form = $this->get('oro_workflow.form.workflow_definition'); $form->setData($workflowDefinition); return array('form' => $form->createView(), 'entity' => $workflowDefinition, 'system_entities' => $this->get('oro_entity.entity_provider')->getEntities(), 'delete_allowed' => true); }
/** * Delete workflow definition * * Returns * - HTTP_NO_CONTENT (204) * - HTTP_FORBIDDEN (403) * * @Rest\Delete( * "/api/rest/{version}/workflowdefinition/{workflowDefinition}", * defaults={"version"="latest", "_format"="json"} * ) * @ApiDoc(description="Delete workflow definition") * @Acl( * id="oro_workflow_definition_delete", * type="entity", * class="OroWorkflowBundle:WorkflowDefinition", * permission="DELETE" * ) * * @param WorkflowDefinition $workflowDefinition * @return Response */ public function deleteAction(WorkflowDefinition $workflowDefinition) { if ($workflowDefinition->isSystem()) { return $this->handleView($this->view(null, Codes::HTTP_FORBIDDEN)); } else { $entityManager = $this->getEntityManager(); $entityManager->remove($workflowDefinition); $entityManager->flush(); return $this->handleView($this->view(null, Codes::HTTP_NO_CONTENT)); } }
/** * @param WorkflowDefinition $definition * @return WorkflowDefinition */ public function import(WorkflowDefinition $definition) { $this->setName($definition->getName())->setLabel($definition->getLabel())->setRelatedEntity($definition->getRelatedEntity())->setEntityAttributeName($definition->getEntityAttributeName())->setConfiguration($definition->getConfiguration())->setSteps($definition->getSteps())->setStartStep($definition->getStartStep())->setStepsDisplayOrdered($definition->isStepsDisplayOrdered())->setEntityAcls($definition->getEntityAcls())->setSystem($definition->isSystem()); return $this; }