/** * Create new one-time distribution * * @param SystemAccount $account * @return Distribution */ public function createOneTimeDistribution(SystemAccount $account) { $distribution = new Distribution(); $distribution->setSystemClientAccount($account); $distribution->setType(Distribution::TYPE_ONE_TIME); return $distribution; }
/** * Load data fixtures with the passed EntityManager * * @param \Doctrine\Common\Persistence\ObjectManager $manager */ function load(ObjectManager $manager) { $distribution = new Distribution(); $distribution->setType(Distribution::TYPE_SCHEDULED); $distribution->setSystemClientAccount($this->getReference('system-account')); $distribution->setBankInformation($this->getReference('bank-info')); $distribution->setResidenceState($this->getReference('state-Florida')); $distribution->setTransferMethod(Distribution::TRANSFER_METHOD_BANK_TRANSFER); $date = new \DateTime('2014-01-01'); $distribution->setTransferDate($date); $distribution->setAmount(500); $distribution->setFrequency(Distribution::FREQUENCY_MONTHLY); $distribution->setDistributionMethod(1); $distribution->setFederalWithholding(Distribution::FEDERAL_WITHHOLDING_TAXES); $distribution->setStateWithholding(Distribution::STATE_WITHHOLDING_TAXES); $distribution->setFederalWithholdPercent(0); $distribution->setFederalWithholdMoney(0); $distribution->setStateWithholdPercent(0); $distribution->setStateWithholdMoney(0); $manager->persist($distribution); $manager->flush(); }
/** * @SecureParam(name="account", permissions="EDIT") * @ParamConverter("account", class="WealthbotClientBundle:ClientAccount", options={"id" = "account_id"}) */ public function accountSettingsAction(ClientAccount $account, Request $request) { /** @var EntityManager $em */ $em = $this->get('doctrine.orm.entity_manager'); $systemAccount = $account->getSystemAccount(); $form = $this->createForm(new AccountSettingsFormType($em), $account); $oneTimeDistribution = new Distribution(); $oneTimeDistribution->setType(Distribution::TYPE_ONE_TIME); $oneTimeDistribution->setSystemClientAccount($systemAccount); $oneTimeDistributionForm = $this->createForm(new OneTimeDistributionFormType(), $oneTimeDistribution); $scheduledDistribution = $em->getRepository('WealthbotClientBundle:Distribution')->findOneBy(array('systemClientAccount' => $systemAccount, 'type' => Distribution::TYPE_SCHEDULED)); if (null === $scheduledDistribution) { $scheduledDistribution = new Distribution(); $scheduledDistribution->setType(Distribution::TYPE_SCHEDULED); $scheduledDistribution->setSystemClientAccount($systemAccount); } $scheduledDistributionForm = $this->createForm(new ScheduledDistributionFormType(), $scheduledDistribution); if ($request->isMethod('POST')) { $scheduledDistributionForm->bind($request); if ($scheduledDistributionForm->isValid()) { $scheduledDistributionFormData = $scheduledDistributionForm->getData(); if ($scheduledDistributionFormData->getAmount() > 0) { $em->persist($scheduledDistributionFormData); $em->flush(); } } $oneTimeDistributionForm->bind($request); if ($oneTimeDistributionForm->isValid()) { $oneTimeDistributionFormData = $oneTimeDistributionForm->getData(); if ($oneTimeDistributionFormData->getAmount() > 0) { $em->persist($oneTimeDistributionFormData); $em->flush(); } } $form->bind($request); if ($form->isValid()) { $formData = $form->getData(); $em->persist($formData); $em->flush(); } } return $this->render('WealthbotRiaBundle:Dashboard:account_settings.html.twig', array('scheduledDistributionForm' => $scheduledDistributionForm->createView(), 'oneTimeDistributionForm' => $oneTimeDistributionForm->createView(), 'form' => $form->createView())); }