public function deleteAction()
 {
     $entityManager = $this->getEntityManager();
     $entityPui = $entityManager->getRepository('Indicateur\\Entity\\Pui');
     $entityUsers = $entityManager->getRepository('Indicateur\\Entity\\Users');
     $authService = new AuthenticationService();
     $connectedUser = $authService->getStorage()->read();
     $userpermission = new AuthUserPermissions();
     $id = $this->params('id');
     $alertmessages = $pui = null;
     if ($id > 0) {
         $pui = $entityPui->find($id);
         if ($pui) {
             if ($userpermission->canDeletePui($pui)) {
                 if (count($entityUsers->findBy(array('pui' => $id))) > 0) {
                     $alertmessages['error'] = 'Vous ne pouvez plus supprimer cette PUI car elle contient des utilisateurs';
                 } else {
                     $entityPui->supprimerPui($id);
                     return $this->redirect()->toUrl($this->getBaseUrl() . '/etablissement/pui/list');
                 }
             }
             return $this->redirect()->toUrl($this->getBaseUrl() . '/application/index/forbidden');
         } else {
             $alertmessages['error'] = 'Pui inexistante ou supprimée';
         }
     } else {
         return $this->redirect()->toUrl($this->getBaseUrl() . '/etablissement/pui/list');
     }
     return new ViewModel(array('alertmessages' => $alertmessages, 'pui' => $pui));
 }
 public function deleteAction()
 {
     $entityManager = $this->getEntityManager();
     $entityUsers = $entityManager->getRepository('Indicateur\\Entity\\Users');
     $auth = $this->getAuthentification();
     $userpermission = new AuthUserPermissions();
     $id = (int) $this->params('id');
     $user = $entityUsers->find($id);
     $alertmessages = array();
     $succes = false;
     if ($user) {
         $userEtabId = $user->getEtabs() ? $user->getEtabs()->getEtCodePk() : null;
         if ($userpermission->canDeleteUser($user)) {
             $user->setAcces(4);
             $user->setEmail('\\DELETED_' . $user->getEmail());
             $user->setLogin('\\DELETED_' . $user->getLogin());
             $entityManager->persist($user);
             $entityManager->flush();
             $succes = true;
         } else {
             $alertmessages['error'] = 'Vous n\'avez pas le droit de supprimer cet utilisateur';
         }
     } else {
         $alertmessages['error'] = 'Utilisateur inexistant';
     }
     return new ViewModel(array('succes' => $succes, 'alertmessages' => $alertmessages));
 }
 public function editAction()
 {
     $entityManager = $this->getEntityManager();
     $entityEtabs = $entityManager->getRepository('Indicateur\\Entity\\Etabs');
     $entityCategorie = $entityManager->getRepository('Indicateur\\Entity\\Categorie');
     $entityEtabstatut = $entityManager->getRepository('Indicateur\\Entity\\Etabstatut');
     $authService = new AuthenticationService();
     $connectedUser = $authService->getStorage()->read();
     $userpermission = new AuthUserPermissions();
     $id = $this->params('id');
     if ($id > 0) {
         $etab = $entityEtabs->find($id);
         if ($userpermission->canEditEtabs($etab)) {
             $request = $this->getRequest();
             $form = new EtabsForm($entityManager);
             $alertmessages = array();
             $success = false;
             if ($request->isPost()) {
                 $form->setData($request->getPost());
                 if ($form->isValid()) {
                     // Applique le filtre et récupère les données filtrées
                     $formData = $form->getData();
                     $form->populateValues($formData);
                     // MAJ BDD
                     $etab = $entityEtabs->find($id);
                     $etab->setEtLibelle($formData['libelle']);
                     $etab->setEtRue($formData['adresse']);
                     $etab->setEtVille($formData['ville']);
                     $etab->setEtCp($formData['cp']);
                     $etab->setEtPays($formData['pays']);
                     $etab->setEtnbsellers($formData['nb_sellers']);
                     $etab->setCaCodeFk($entityCategorie->find($formData['categorie']));
                     $etab->setEtStatut($entityEtabstatut->find($formData['statut']));
                     $etab->setEtMaj(new \DateTime(date('Y-m-d H:i:s')));
                     $entityManager->persist($etab);
                     $entityManager->flush();
                     $alertmessages['success'] = 'Enregistrement terminé';
                 } else {
                     $alertmessages['error'] = 'Veuillez corriger la saisie';
                 }
             } else {
                 $form->populateValues(array('id' => $id, 'libelle' => $etab->getEtLibelle(), 'adresse' => $etab->getEtRue(), 'ville' => $etab->getEtVille(), 'cp' => $etab->getEtCp(), 'pays' => $etab->getEtPays(), 'nb_sellers' => $etab->getEtNbsellers(), 'categorie' => $etab->getCaCodeFk(), 'statut' => $etab->getEtStatut()));
             }
         } else {
             return $this->redirect()->toUrl($this->getBaseUrl() . '/application/index/forbidden');
         }
     } elseif ($connectedUser->et_code_fk > 0) {
         return $this->redirect()->toUrl($this->getBaseUrl() . '/etablissement/etablissement/edit/' . $connectedUser->et_code_fk);
     }
     return new ViewModel(array('form' => $form, 'alertmessages' => $alertmessages));
 }