/** * Process form * * @param Issue $entity * * @return bool True on successful processing, false otherwise */ public function process(Issue $entity) { $action = $this->entityRoutingHelper->getAction($this->request); $targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request); $targetEntityId = $this->entityRoutingHelper->getEntityId($this->request); if ($targetEntityClass && !$entity->getId() && $this->request->getMethod() === 'GET' && $action === 'assign' && is_a($targetEntityClass, 'Oro\\Bundle\\UserBundle\\Entity\\User', true)) { $entity->setAssignee($this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId)); FormUtils::replaceField($this->form, 'assignee', ['read_only' => true]); } $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { /* if ($targetEntityClass && $action === 'activity') { $this->activityManager->addActivityTarget( $entity, $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId) ); }*/ $this->onSuccess($entity); return true; } } return false; }
/** * Load demo issues * * @param ObjectManager $manager * @throws \RuntimeException */ public function load(ObjectManager $manager) { $repository = $manager->getRepository('OroUserBundle:Role'); $role = $repository->findOneBy(['role' => User::ROLE_ADMINISTRATOR]); $admin = $repository->getFirstMatchedUser($role); $description = 'Lorem ipsum dolor sit amet, consectetur adipiscing ' . 'elit. Vivamus ex metus, blandit vel odio nec, aliquet pretium ' . 'ipsum. Sed pellentesque convallis odio in blandit. Integer ' . 'eget eros a urna consequat commodo eget in quam. Sed imperdiet ' . 'metus finibus tortor maximus, quis rutrum justo accumsan. Cras ' . 'id tellus id sapien ullamcorper convallis a eget arcu. Vivamus ' . 'et egestas nibh. Fusce quis lorem a quam tincidunt scelerisque.' . ' Sed dignissim sed odio ac viverra. Integer in libero malesuada' . ', sodales velit vel, pellentesque est. Sed vehicula nisl id ' . 'erat eleifend elementum.'; if (!$admin) { throw new \RuntimeException('Administrator user should exist.'); } $issue = new Issue(); $issue->setAssignee($admin)->setReporter($admin)->setCode('DTM-1')->setSummary('Vivamus ex metus, blandit vel odio nec')->setDescription($description)->setPriority(Issue::PRIORITY_MAJOR)->setType(Issue::TYPE_STORY); $manager->persist($issue); $manager->flush(); $issue = new Issue(); $issue->setAssignee($admin)->setReporter($admin)->setCode('DTM-2')->setSummary('Sed dignissim sed odio ac viverra')->setDescription($description)->setPriority(Issue::PRIORITY_MAJOR)->setType(Issue::TYPE_STORY); $manager->persist($issue); $manager->flush(); }
/** * @Route("/update/{id}", name="oro_issue_update", requirements={"id"="\d+"}) * @Template() * * @param Issue $entity * @return array */ public function updateAction(Issue $entity) { $formAction = $this->get('router')->generate('oro_issue_update', ['id' => $entity->getId()]); return $this->update($entity, $formAction); }