/**
  * Creates a new Contract entity.
  *
  * @Template("JLMModelBundle:Contract:new.html.twig")
  * @Secure(roles="ROLE_USER")
  */
 public function createAction()
 {
     $entity = new Contract();
     $request = $this->getRequest();
     $form = $this->createForm(new ContractType(), $entity);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $em->persist($entity);
         // Temporaire : se fera jour par jour
         // ***********************************
         if ($entity->getInProgress()) {
             $fee = new Fee();
             $fee->addContract($entity);
             $fee->setTrustee($entity->getTrustee());
             $fee->setAddress($entity->getDoor()->getSite()->getAddress()->toString());
             $fee->setPrelabel($entity->getDoor()->getSite()->getBillingPrelabel());
             $fee->setVat($entity->getDoor()->getSite()->getVat());
             $em->persist($fee);
         }
         //***************************************
         $em->flush();
         return $this->redirect($this->generateUrl('door_show', array('id' => $entity->getDoor()->getId())));
     }
     return array('entity' => $entity, 'form' => $form->createView());
 }
Example #2
0
 public function testGetBillingAddressReturnBilling()
 {
     $address = $this->getMock('JLM\\ContactBundle\\Model\\AddressInterface');
     $trustee = $this->getMock('JLM\\ModelBundle\\Entity\\Trustee');
     $trustee->expects($this->any())->method('getAddress')->will($this->returnValue($address));
     $this->entity->setTrustee($trustee);
     $billingAddress = $this->getMock('JLM\\ContactBundle\\Model\\AddressInterface');
     $city = $this->getMock('JLM\\ContactBundle\\Model\\CityInterface');
     $billingAddress->expects($this->once())->method('getCity')->will($this->returnValue($city));
     $billingAddress->expects($this->once())->method('getStreet')->will($this->returnValue('Foo'));
     $trustee->expects($this->once())->method('getBillingAddress')->will($this->returnValue($billingAddress));
     $this->assertSame($billingAddress, $this->entity->getBillingAddress());
 }
 public function feeCreate(ContractEvent $event)
 {
     $entity = $event->getContract();
     if ($entity->getInProgress()) {
         $fee = new Fee();
         $fee->addContract($entity);
         $fee->setTrustee($entity->getTrustee());
         $fee->setAddress($entity->getDoor()->getSite()->getAddress()->toString());
         $fee->setPrelabel($entity->getDoor()->getSite()->getBillingPrelabel());
         $fee->setVat($entity->getDoor()->getSite()->getVat());
         $this->om->persist($fee);
         $this->om->flush();
     }
 }
 /**
  * Action temporaire
  * 
  * Création à la volée des redevances
  * 
  * @Route("/autocreate")
  * @Template()
  */
 public function autocreatefeeAction()
 {
     $em = $this->getDoctrine()->getManager();
     $contracts = $em->getRepository('JLMContractBundle:Contract')->findAll();
     foreach ($contracts as $contract) {
         if ($contract->getInProgress()) {
             $fee = new Fee();
             $fee->addContract($contract);
             $fee->setTrustee($contract->getTrustee());
             $fee->setAddress($contract->getDoor()->getSite()->getAddress()->toString());
             $fee->setPrelabel($contract->getDoor()->getSite()->getBillingPrelabel());
             $fee->setVat($contract->getDoor()->getSite()->getVat());
             $em->persist($fee);
         }
     }
     $em->flush();
     return array();
 }