예제 #1
0
 /**
  * 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();
 }
예제 #3
0
 /**
  * @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()));
 }