Пример #1
0
 /**
  * {@inheritDoc}
  */
 public function exchangeArray($data = array(), $sm = NULL, $em = NULL)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'exchangeArray', array($data, $sm, $em));
     return parent::exchangeArray($data, $sm, $em);
 }
Пример #2
0
 public function formulaireaffaireAction()
 {
     /******************************* Initialisation de variables *******************************/
     // Récupération de l'EntityManager
     $em = $this->getEntityManager();
     // Récupération du Service Manager
     $sm = $this->getServiceLocator();
     // Récupération de la requete
     $request = $this->getRequest();
     // Récupération du traducteur
     $translator = $this->getServiceLocator()->get('Translator');
     // Récupération de la session de l'utilisateur
     $utilisateur = new Container('utilisateur');
     /****************************** Initialisation du fournisseur ******************************/
     $affaire = null;
     $id = (int) $this->params()->fromRoute('id');
     if (!empty($id)) {
         // Récupération de l'affaire
         $affaire = $em->getRepository('Affaire\\Entity\\Affaire')->find($id);
         if ($affaire == null) {
             throw new \Exception($translator->translate('Cette affaire n\'existe pas'));
         }
         //Assignation de variables au layout
         $this->layout()->setVariables(array('headTitle' => $translator->translate('Modifier une affaire'), 'breadcrumbActive' => $affaire->getDesignationAffaire(), 'action' => 'formulaireaffaire', 'module' => 'affaire', 'plugins' => array('summernote', 'awesome-bootstrap-checkbox')));
     } else {
         // On crée une nouvelle affaire
         $id = null;
         $affaire = new Affaire();
         //Assignation de variables au layout
         $this->layout()->setVariables(array('headTitle' => $translator->translate('Nouvelle affaire'), 'breadcrumbActive' => $translator->translate('Nouvelle affaire'), 'action' => 'formulaireaffaire', 'module' => 'affaire', 'plugins' => array('summernote', 'awesome-bootstrap-checkbox')));
     }
     // Creation du formulaire du affaire
     $form = new AffaireForm($translator, $sm, $em, $request, $affaire);
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             /* Hydratation de l'objet affaire avec les données du formulaire */
             $affaire->exchangeArray($form->getData(), $sm, $em);
             try {
                 $em->persist($affaire);
                 $em->flush();
             } catch (\Exception $e) {
                 $erreurMessage = $translator->translate('Une erreur est survenue durant la sauvegarde du affaire. Vérifiez que tous les champs sont valides.') . $e->getMessage();
                 $messagesFlash = $this->flashArray;
                 $messagesFlash['errors'][] = $erreurMessage;
                 $utilisateur->offsetSet('messagesFlash', $messagesFlash);
                 return new ViewModel(array('affaire' => $affaire, 'form' => $form, 'id' => $id));
             }
             return $this->redirect()->toRoute('affaire/consulter_affaire', array('id' => $affaire->getId()));
         }
     }
     return new ViewModel(array('affaire' => $affaire, 'form' => $form, 'id' => $id));
 }