/**
  * @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));
     }
 }
Example #3
0
 /**
  * @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;
 }