PageRenderTime 41ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/apps/intranet/modules/utilisateur/actions/actions.class.php

https://github.com/SGirousse/Intranet-CCTB
PHP | 245 lines | 105 code | 36 blank | 104 comment | 10 complexity | 00fd9191a4253840a7696a6d7956febb MD5 | raw file
Possible License(s): ISC
  1. <?php
  2. /**
  3. * Utilisateur actions.
  4. *
  5. * @package intranet-cctb
  6. * @subpackage utilisateur
  7. * @author Sébastien MARCELLIN, Simeon GIROUSSE
  8. * @version SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z $
  9. */
  10. class utilisateurActions extends sfActions
  11. {
  12. /**
  13. * Executes index action
  14. *
  15. * @param sfWebRequest $request A request object
  16. */
  17. public function executeIndex(sfWebRequest $request)
  18. {
  19. }
  20. /**
  21. * Execute AddUser action
  22. * Affichage du formulaire d'ajout d'un utilisateur.
  23. * Récupère les informations du formulaires pour exécuter la requête
  24. * après avoir effectuer les vérifications nécessaires
  25. * @param sfWebRequest $request A web request object
  26. */
  27. public function executeAddUser(sfWebRequest $request)
  28. {
  29. //création d'un nouveau formulaire pour un utilisateur
  30. $this->form = new PersonneForm();
  31. //on récupère les paramètres de la requête
  32. $parametres = $request->getParameter('personne');
  33. //on compte le nombre de champs des formulaires associés
  34. //nombre d'emails
  35. $this->emailsNumber = count($parametres['newEmails']);
  36. //nombre de numéro de téléphone
  37. $this->numerosNumber = count($parametres['newPhones']);
  38. //nombre d'adresses
  39. $this->adressesNumber = count($parametres['newAdress']);
  40. //nombre de fiche contact pro
  41. $this->contactsNumber = count($parametres['newContact']);
  42. //si la méthode d'envoi est bien 'post' alors on continue les traitements
  43. if($request->isMethod('post'))
  44. {
  45. //on récupère les paramètres
  46. $this->form->bind($parametres);
  47. //si les paramètres sont valides
  48. if ($this->form->isValid())
  49. {
  50. //on sauve les informations
  51. $this->form->save();
  52. //on redirige l'utilisateur vers la page d'index du module utlisateur
  53. $this->redirect('utilisateur/index');
  54. }
  55. }
  56. }
  57. /**
  58. * Execute AddGroup action
  59. * Affichage du formulaire d'ajout d'un groupe
  60. * Récupère les informations du formulaire pour exécuter la requête
  61. * après avoir vérifié la validité des champs.
  62. * @param sfWebRequest $request A web request object
  63. */
  64. public function executeAddGroup(sfWebRequest $request)
  65. {
  66. //creation d'un nouveau formulaire pour un groupe
  67. $this->form = new GroupeForm();
  68. //on récupère les paramètres de la requête
  69. $parametres = $request->getParameter('groupe');
  70. //si la méthode d'envoie est bien post on continue les traitements
  71. if($request->isMethod('post'))
  72. {
  73. //récupération des paramètres pour l'ajout au formulaire
  74. $this->form->bind($parametres);
  75. //si le formulaire est valide
  76. if ($this->form->isValid())
  77. {
  78. //sauvegarde des informations
  79. $this->form->save();
  80. //redirection de l'utilisateur
  81. //$this->redirect('utilisateur/index');
  82. }
  83. }
  84. }
  85. public function executePopupAddGroup(sfWebRequest $request)
  86. {
  87. //creation d'un nouveau formulaire pour un groupe
  88. $this->form = new GroupeForm();
  89. //on récupère les paramètres de la requête
  90. $parametres = $request->getParameter('groupe');
  91. //si la méthode d'envoie est bien post on continue les traitements
  92. if($request->isMethod('post'))
  93. {
  94. //récupération des paramètres pour l'ajout au formulaire
  95. $this->form->bind($parametres);
  96. //si le formulaire est valide
  97. if ($this->form->isValid())
  98. {
  99. //sauvegarde des informations
  100. $this->form->save();
  101. //redirection de l'utilisateur
  102. //$this->redirect('utilisateur/index');
  103. }else{
  104. $this->id = $parametres;
  105. }
  106. }else{
  107. $this->id = 0;
  108. }
  109. }
  110. /*delete testSucess et sebsucess)
  111. public function executeSeb($request)
  112. {
  113. $parametres = $request->getParameter('groupe');
  114. $this->test = $parametres;
  115. }*/
  116. /**** Fonctions d'ajout dynamique de champs ****/
  117. /**
  118. * Fonction d'exécution d'ajout d'un champ d'email
  119. * @param sfWebRequest $request
  120. * @return addEmail partial
  121. */
  122. public function executeAddEmailForm(sfWebRequest $request)
  123. {
  124. //$this->forward404unless($request->isXmlHttpRequest());
  125. $number = intval($request->getParameter("num"));
  126. if($personne = Doctrine::getTable('Personne')->find($number))
  127. {
  128. $form = new PersonneForm($personne);
  129. }else{
  130. $form = new PersonneForm(null);
  131. }
  132. $form->addEmail($number);
  133. return $this->renderPartial('addEmail',array('form' => $form, 'num' => $number));
  134. }
  135. /**
  136. * Fonction d'exécution d'ajout d'un nouveau champs numéro de téléphone
  137. * @param sfWebRequest $request
  138. * @return addNumero partial
  139. */
  140. public function executeAddNumeroForm(sfWebRequest $request)
  141. {
  142. //on récupère le nombre de numéro de téléphones déjà présents (envoyés par la fonction javascript)
  143. $number = intval($request->getParameter('num'));
  144. //on fait une requête sur la table 'personne' pour vérifier si l'on retrouve ce numéro
  145. //puis on assigne la 'personne' récupérée à $personne
  146. if ($personne = Doctrine::getTable('Personne')->find($number))
  147. {
  148. //si on le retrouve on est en mode édition et l'on crée un formulaire en lui transmettant les informations de la personne
  149. $form = new PersonneForm($personne);
  150. }else{
  151. //sinon on crée un formulaire vide
  152. $form = new PersonneForm(null);
  153. }
  154. //on ajoute un champs téléphone à ce formulaire
  155. $form->addNumero($number);
  156. //on retourne un partiel
  157. return $this->renderPartial('addNumero', array('form' => $form, 'num' => $number));
  158. }
  159. /**
  160. * Fonction d'exécution d'ajout des nouveaux champs d'adresses
  161. * @param sfWebRequest $request
  162. * return addAdresse partial
  163. */
  164. public function executeAddAdresseForm(sfWebRequest $request)
  165. {
  166. //on récupère le nombre de formulaire d'adresse déjà présents
  167. $number = intval($request->getParameter('num'));
  168. //on fait une requête pour vérifier si cette personne existe déjà
  169. //si c'est le cas on assigne cette valeur à personne
  170. if ($personne = Doctrine::getTable('Personne')->find($number))
  171. {
  172. //on se retrouve alors dans un mode d'édition et on transmet les parametres de la personne au formulaire
  173. $form = new PersonneForm($personne);
  174. }else{
  175. //sinon c'est un formulaire 'simple'
  176. $form = new PersonneForm(null);
  177. }
  178. //on ajoute un formulaire d'adresse à l'aide de la fonction addAdresse
  179. $form->addAdresse($number);
  180. //on retourne le partiel pour l'affichage
  181. return $this->renderPartial( 'addAdresse', array('form' => $form, 'num' => $number ));
  182. }
  183. /**
  184. * Fonction d'exécution d'ajout des nouveaux champs d'adresses
  185. * @param sfWebRequest $request
  186. * return addAdresse partial
  187. */
  188. public function executeAddContactForm(sfWebRequest $request)
  189. {
  190. //on récupère le nombre de formulaire d'adresse déjà présents
  191. $number = intval($request->getParameter('num'));
  192. //on fait une requête pour vérifier si cette personne existe déjà
  193. //si c'est le cas on assigne cette valeur à personne
  194. if ($personne = Doctrine::getTable('Personne')->find($number))
  195. {
  196. //on se retrouve alors dans un mode d'édition et on transmet les parametres de la personne au formulaire
  197. $form = new PersonneForm($personne);
  198. }else{
  199. //sinon c'est un formulaire 'simple'
  200. $form = new PersonneForm(null);
  201. }
  202. //on ajoute un formulaire d'adresse à l'aide de la fonction addAdresse
  203. $form->addContactPro($number);
  204. $form_Grp = new GroupeForm();
  205. //on retourne le partiel pour l'affichage
  206. return $this->renderPartial( 'addContact', array('form' => $form, 'num' => $number, 'form_Grp' => $form_Grp ));
  207. }
  208. }
  209. ?>