/** * Process form * * @param Call $entity * * @return bool True on successful processing, false otherwise */ public function process(Call $entity) { $targetEntityClass = $this->request->get('entityClass'); $targetEntityId = $this->request->get('entityId'); $options = []; if ($targetEntityClass && $this->request->getMethod() === 'GET') { $targetEntity = $this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId); if (!$entity->getId()) { $entity->setPhoneNumber($this->phoneProvider->getPhoneNumber($targetEntity)); } $options = ['phone_suggestions' => array_unique(array_map(function ($item) { return $item[0]; }, $this->phoneProvider->getPhoneNumbers($targetEntity)))]; } $this->form = $this->formFactory->createNamed($this->formName, $this->formType, $entity, $options); $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { if ($targetEntityClass) { $targetEntity = $this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId); $this->callActivityManager->addAssociation($entity, $targetEntity); $phones = $this->phoneProvider->getPhoneNumbers($targetEntity); foreach ($phones as $phone) { if ($entity->getPhoneNumber() === $phone[0]) { $this->callActivityManager->addAssociation($entity, $phone[1]); } } } $this->onSuccess($entity); return true; } } return false; }
/** * Process form * * @param CalendarEvent $entity * @throws \LogicException * * @return bool True on successful processing, false otherwise */ public function process(CalendarEvent $entity) { if (!$entity->getCalendar()) { if ($this->securityFacade->getLoggedUser() && $this->securityFacade->getOrganization()) { /** @var Calendar $defaultCalendar */ $defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($this->securityFacade->getLoggedUser()->getId(), $this->securityFacade->getOrganization()->getId()); $entity->setCalendar($defaultCalendar); } else { throw new \LogicException('Current user did not define'); } } $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { $targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request); if ($targetEntityClass) { $targetEntityId = $this->entityRoutingHelper->getEntityId($this->request); $targetEntity = $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId); $action = $this->entityRoutingHelper->getAction($this->request); if ($action === 'activity') { $this->activityManager->addActivityTarget($entity, $targetEntity); } if ($action === 'assign' && $targetEntity instanceof User && $targetEntityId !== $this->securityFacade->getLoggedUserId()) { /** @var Calendar $defaultCalendar */ $defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($targetEntity->getId(), $targetEntity->getOrganization()->getId()); $entity->setCalendar($defaultCalendar); } } $this->onSuccess($entity); return true; } } return false; }
/** * Process form * * @param CalendarEvent $entity * * @throws \LogicException * * @return bool True on successful processing, false otherwise */ public function process(CalendarEvent $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $originalChildren = new ArrayCollection(); foreach ($entity->getChildEvents() as $childEvent) { $originalChildren->add($childEvent); } $this->form->submit($this->request); if ($this->form->isValid()) { $this->ensureCalendarSet($entity); $targetEntityClass = $this->entityRoutingHelper->getEntityClassName($this->request); if ($targetEntityClass) { $targetEntityId = $this->entityRoutingHelper->getEntityId($this->request); $targetEntity = $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId); $action = $this->entityRoutingHelper->getAction($this->request); if ($action === 'activity') { $this->activityManager->addActivityTarget($entity, $targetEntity); } if ($action === 'assign' && $targetEntity instanceof User && $targetEntityId !== $this->securityFacade->getLoggedUserId()) { /** @var Calendar $defaultCalendar */ $defaultCalendar = $this->manager->getRepository('OroCalendarBundle:Calendar')->findDefaultCalendar($targetEntity->getId(), $targetEntity->getOrganization()->getId()); $entity->setCalendar($defaultCalendar); } } $this->onSuccess($entity, $originalChildren, $this->form->get('notifyInvitedUsers')->getData()); return true; } } return false; }
/** * Process form * * @param EmailTemplate $entity * * @return bool True on successful processing, false otherwise */ public function process(EmailTemplate $entity) { // always use default locale during template edit in order to allow update of default locale $entity->setLocale($this->defaultLocale); if ($entity->getId()) { // refresh translations $this->manager->refresh($entity); } $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { // deny to modify system templates if ($entity->getIsSystem() && !$entity->getIsEditable()) { $this->form->addError(new FormError($this->translator->trans('oro.email.handler.attempt_save_system_template'))); return false; } $this->form->submit($this->request); if ($this->form->isValid()) { // mark an email template creating by an user as editable if (!$entity->getId()) { $entity->setIsEditable(true); } $this->manager->persist($entity); $this->manager->flush(); return true; } } return false; }
/** * Process form * * @param Task $entity * * @return bool True on successful processing, false otherwise */ public function process(Task $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->setOwner($this->entityRoutingHelper->getEntity($targetEntityClass, $targetEntityId)); FormUtils::replaceField($this->form, 'owner', ['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()) { // TODO: should be refactored after finishing BAP-8722 // Contexts handling should be moved to common for activities form handler if ($this->form->has('contexts')) { $contexts = $this->form->get('contexts')->getData(); $this->activityManager->setActivityTargets($entity, $contexts); } elseif ($targetEntityClass && $action === 'activity') { // if we don't have "contexts" form field // we should save association between activity and target manually $this->activityManager->addActivityTarget($entity, $this->entityRoutingHelper->getEntityReference($targetEntityClass, $targetEntityId)); } $this->onSuccess($entity); return true; } } return false; }
/** * 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; }
/** * Process job configuration form. * * @param JobConfigurationInterface $configuration * @param Request $request * * @return bool */ public function process(JobConfigurationInterface $configuration, Request $request) { $this->form->setData($configuration); $this->form->handleRequest($request); if ($this->form->isValid()) { $this->manager->add($configuration); return true; } return false; }
/** * @param Quote $quote * @return Order|null */ public function process(Quote $quote) { $this->form->setData($quote); if ($this->request->isMethod('POST')) { $this->form->submit($this->request); if ($this->form->isValid()) { return $this->onSuccess($quote, $this->form->getData()); } } return null; }
/** * @param ShoppingList $shoppingList * @return boolean */ public function process(ShoppingList $shoppingList) { $this->form->setData($shoppingList); if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) { $this->form->submit($this->request); if ($this->form->isValid()) { return $this->onSuccess($shoppingList); } } return false; }
/** * @param Order $entity * * @return bool True when successful processed, false otherwise */ public function process(Order $entity) { $this->form->setData($entity); if ($this->form->handleRequest($this->requestStack->getCurrentRequest())->isValid()) { $em = $this->registry->getManagerForClass(Order::class); $em->persist($entity); $em->flush($entity); return true; } return false; }
/** * @param Channel $entity * * @return bool */ public function process(Channel $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), ['POST', 'PUT'])) { $this->form->submit($this->request); if (!$this->request->get(self::UPDATE_MARKER, false) && $this->form->isValid()) { $this->doSave($entity); return true; } } return false; }
/** * Process method for handler * @param AttributeGroup $group * * @return boolean */ public function process(AttributeGroup $group) { $this->form->setData($group); if ($this->request->isMethod('POST')) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($group); return true; } } return false; }
/** * Process form * * @param AccountGroup $entity * @return bool True on successful processing, false otherwise */ public function process(AccountGroup $entity) { $this->form->setData($entity); if ($this->request->isMethod('POST')) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($entity, $this->form->get('appendAccounts')->getData(), $this->form->get('removeAccounts')->getData()); return true; } } return false; }
/** * Process form * * @param Warehouse $warehouse * @return bool True on successfull processing, false otherwise */ public function process(Warehouse $warehouse) { $this->form->setData($warehouse); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($warehouse); return true; } } return false; }
/** * Process method for handler * @param Channel $channel * * @return boolean */ public function process(Channel $channel) { $this->form->setData($channel); if ($this->request->isMethod('POST')) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($channel); return true; } } return false; }
/** * Process form * * @param CalendarProperty $entity * * @return bool True on successful processing, false otherwise */ public function process(CalendarProperty $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($entity); return true; } } return false; }
/** * Process Status form * * @param User $user * @param Status $status * @param bool $updateCurrentStatus * @return bool */ public function process(User $user, Status $status, $updateCurrentStatus = true) { $this->form->setData($status); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($user, $status, $updateCurrentStatus); return true; } } return false; }
/** * @param PriceList $priceList * @return boolean */ public function process(PriceList $priceList) { $this->form->setData($priceList); if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($priceList, $this->form->get('appendCustomers')->getData(), $this->form->get('removeCustomers')->getData(), $this->form->get('appendCustomerGroups')->getData(), $this->form->get('removeCustomerGroups')->getData(), $this->form->get('appendWebsites')->getData(), $this->form->get('removeWebsites')->getData()); return true; } } return false; }
/** * Process form * * @param UserInterface $user * @return bool True on successfull processing, false otherwise */ public function process(UserInterface $user) { $this->form->setData($user); if (in_array($this->request->getMethod(), ['POST', 'PUT'])) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($user); return true; } } return false; }
/** * Process method for handler * * @param Family $family * * @return boolean */ public function process(Family $family) { $this->form->setData($family); if ($this->request->isMethod('POST')) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($family); return true; } } return false; }
/** * @param UserInterface $user * @return bool */ public function process(UserInterface $user) { $this->form->setData(new ChangePassword()); if ('POST' === $this->request->getMethod()) { $this->form->bind($this->request); if ($this->form->isValid()) { $this->onSuccess($user); return true; } } return false; }
/** * Process method for handler * @param AssociationType $associationType * * @return boolean */ public function process(AssociationType $associationType) { $this->form->setData($associationType); if ($this->request->isMethod('POST')) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($associationType); return true; } } return false; }
/** * {@inheritdoc} */ public function process($entity) { $this->form->setData($entity); if ($this->request->isMethod('POST')) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->saver->save($entity); return true; } } return false; }
/** * Process form * * @param CartAddress $entity * @param Cart $cart * @param string $type * * @return bool True on successful processing, false otherwise */ public function process(CartAddress $entity, Cart $cart = null, $type = null) { $this->form->setData($entity); if (in_array($this->request->getMethod(), ['POST', 'PUT'])) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($entity, $cart, $type); return true; } } return false; }
/** * @param PaymentTerm $paymentTerm * @return boolean */ public function process(PaymentTerm $paymentTerm) { $this->form->setData($paymentTerm); if (in_array($this->request->getMethod(), ['POST', 'PUT'], true)) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($paymentTerm, $this->form->get('appendAccounts')->getData(), $this->form->get('removeAccounts')->getData(), $this->form->get('appendAccountGroups')->getData(), $this->form->get('removeAccountGroups')->getData()); return true; } } return false; }
/** * Process form * * @param Order $entity * * @return bool True on successful processing, false otherwise */ public function process(Order $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), ['POST', 'PUT'])) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($entity); return true; } } return false; }
/** * Process form * * @param TrackingWebsite $entity * @return bool True on successfull processing, false otherwise */ public function process(TrackingWebsite $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), ['POST', 'PUT'])) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->manager->persist($entity); $this->manager->flush(); return true; } } return false; }
/** * @param Integration $integration * * @return bool returns true when form is submitted and valid, false otherwise */ public function process(Integration $integration) { $this->form->setData($integration); $data = $this->request->get(self::DATA_PARAM_NAME, false); if ('POST' === $this->request->getMethod()) { $this->form->submit($this->request); return !$this->request->get(IntegrationChannelHandler::UPDATE_MARKER, false) && $this->form->isValid(); } elseif ('GET' === $this->request->getMethod() && $data) { $this->request->query->set(IntegrationChannelHandler::UPDATE_MARKER, true); $this->form->submit($data); } return false; }
/** * Process form * * @param Account $entity * @return bool True on successful processing, false otherwise */ public function process(Account $entity) { $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); $this->handleContacts($entity); if ($this->form->isValid()) { $this->onSuccess($entity); return true; } } return false; }
/** * Process form * * @param Lead $entity * * @return bool True on successful processing, false otherwise */ public function process(Lead $entity) { $this->requestChannelProvider->setDataChannel($entity); $this->form->setData($entity); if (in_array($this->request->getMethod(), array('POST', 'PUT'))) { $this->form->submit($this->request); if ($this->form->isValid()) { $this->onSuccess($entity); return true; } } return false; }