actions.class.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. <?php
  2. /**
  3. * kataoMember actions.
  4. *
  5. * @package www.katao.fr
  6. * @subpackage kataoMember
  7. * @author Your name here
  8. * @version SVN: $Id: actions.class.php 8507 2008-04-17 17:32:20Z fabien $
  9. */
  10. class kataoMemberActions extends wpActions {
  11. public function executeIndex() {
  12. $criteria = new Criteria();
  13. $criteria->addJoin(KataoMemberPeer::KATAO_NODE_ID, KataoNodePeer::ID);
  14. $criteria->addJoin(KataoMemberPeer::ID, KataoUserPeer::KATAO_MEMBER_ID);
  15. $sort_method = $this->getCriteriaSortMethod();
  16. switch ($this->sort = $this->getRequestParameter('sort', 'name')) {
  17. case 'node':
  18. $criteria->$sort_method(KataoNodePeer::CITY);
  19. break;
  20. case 'referer':
  21. $criteria->$sort_method(KataoMemberPeer::IS_REFERER);
  22. break;
  23. case 'delegate':
  24. $criteria->$sort_method(KataoMemberPeer::IS_DELEGATE);
  25. break;
  26. case 'anonymous':
  27. $criteria->$sort_method(KataoMemberPeer::IS_ANONYMOUS);
  28. break;
  29. case 'amount':
  30. $criteria->$sort_method(KataoMemberPeer::CURRENT_AMOUNT);
  31. break;
  32. case 'status':
  33. $criteria->$sort_method(KataoUserPeer::STATUS);
  34. break;
  35. default:
  36. $criteria->$sort_method(KataoMemberPeer::LAST_NAME);
  37. $criteria->$sort_method(KataoMemberPeer::FIRST_NAME);
  38. }
  39. if ('' != $this->filter_node = $this->getUser()->getAttribute('katao_member_filter_node')) {
  40. $criteria->add(KataoMemberPeer::KATAO_NODE_ID, $this->filter_node);
  41. }
  42. if ('' != $this->filter_referer = $this->getUser()->getAttribute('katao_member_filter_referer')) {
  43. $criteria->add(KataoMemberPeer::IS_REFERER, (CONST_YES == $this->filter_referer)?true:false);
  44. }
  45. if ('' != $this->filter_delegate = $this->getUser()->getAttribute('katao_member_filter_delegate')) {
  46. $criteria->add(KataoMemberPeer::IS_DELEGATE, (CONST_YES == $this->filter_delegate)?true:false);
  47. }
  48. if ('' != $this->filter_anonymous = $this->getUser()->getAttribute('katao_member_filter_anonymous')) {
  49. $criteria->add(KataoMemberPeer::IS_ANONYMOUS, (CONST_YES == $this->filter_anonymous)?true:false);
  50. }
  51. if ('' != $this->filter_status = $this->getUser()->getAttribute('katao_member_filter_status')) {
  52. $criteria->add(KataoUserPeer::STATUS, $this->filter_status);
  53. }
  54. if ('' != $this->filter_member = $this->getUser()->getAttribute('katao_member_filter_member')) {
  55. $criteria->add(KataoMemberPeer::IS_MEMBER, (CONST_YES == $this->filter_member)?true:false);
  56. }
  57. if ('' != $this->search = $this->getUser()->getAttribute('katao_member_search')) {
  58. $search_like = sprintf('%%%s%%', $this->search);
  59. $criterion = $criteria->getNewCriterion(KataoMemberPeer::FIRST_NAME, $search_like, Criteria::LIKE);
  60. $criterion->addOr($criteria->getNewCriterion(KataoMemberPeer::LAST_NAME, $search_like, Criteria::LIKE));
  61. $criterion->addOr($criteria->getNewCriterion(KataoMemberPeer::ACCOUNTING_CODE, $search_like, Criteria::LIKE));
  62. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::EMAIL, $search_like, Criteria::LIKE));
  63. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ADDRESS1, $search_like, Criteria::LIKE));
  64. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ADDRESS2, $search_like, Criteria::LIKE));
  65. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ZIP, $search_like, Criteria::LIKE));
  66. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::CITY, $search_like, Criteria::LIKE));
  67. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::PHONE, $search_like, Criteria::LIKE));
  68. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::FAX, $search_like, Criteria::LIKE));
  69. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::LOGIN, $search_like, Criteria::LIKE));
  70. $criterion->addOr($criteria->getNewCriterion(KataoMemberPeer::CARD_NUMBER_SOL, $search_like, Criteria::LIKE));
  71. $criteria->addAnd($criterion);
  72. }
  73. $criteria->setDistinct();
  74. $pager = new sfPropelPager('KataoMember', sfConfig::get('app_pager'));
  75. $pager->setPeerMethod('doSelectJoinKataoNodeRelatedByKataoNodeId');
  76. $pager->setCriteria($criteria);
  77. $pager->setPage($this->getRequestParameter('page', 1));
  78. $pager->init();
  79. $this->pager = $pager;
  80. $this->katao_memberList = $pager->getResults();
  81. $this->is_just_delegate = $this->getUser()->isJustDelegate();
  82. $this->current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  83. // $this->current_user_node_id = $this->getUser()->getAttribute('katao_node_instance')->getId();
  84. }
  85. public function executeFilter($request) {
  86. $this->getUser()->setAttribute('katao_member_filter_node', $request->getParameter('filter_node'));
  87. $this->getUser()->setAttribute('katao_member_filter_referer', $request->getParameter('filter_referer'));
  88. $this->getUser()->setAttribute('katao_member_filter_delegate', $request->getParameter('filter_delegate'));
  89. $this->getUser()->setAttribute('katao_member_filter_anonymous', $request->getParameter('filter_anonymous'));
  90. $this->getUser()->setAttribute('katao_member_filter_status', $request->getParameter('filter_status'));
  91. $this->getUser()->setAttribute('katao_member_filter_member', $request->getParameter('filter_member'));
  92. return $this->redirect('kataoMember/index');
  93. }
  94. public function executeFilterReset($request) {
  95. $this->getUser()->setAttribute('katao_member_filter_node', '');
  96. $this->getUser()->setAttribute('katao_member_filter_referer', '');
  97. $this->getUser()->setAttribute('katao_member_filter_delegate', '');
  98. $this->getUser()->setAttribute('katao_member_filter_anonymous', '');
  99. $this->getUser()->setAttribute('katao_member_filter_status', '');
  100. $this->getUser()->setAttribute('katao_member_filter_member', '');
  101. return $this->redirect('kataoMember/index');
  102. }
  103. public function executeSearch($request) {
  104. $this->getUser()->setAttribute('katao_member_search', $request->getParameter('search'));
  105. return $this->redirect('kataoMember/index');
  106. }
  107. public function executeSearchReset($request) {
  108. $this->getUser()->setAttribute('katao_member_search', '');
  109. return $this->redirect('kataoMember/index');
  110. }
  111. public function executeShow($request) {
  112. $this->katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id'));
  113. $this->redirectWithErrorUnless($this->katao_member, 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  114. $katao_user =/*(KataoUser)*/ $this->katao_member->getFirstKataoUser();
  115. $this->history_euro = $katao_user->getHistoryEuro(true);
  116. $this->history_sol = $katao_user->getHistorySol(true);
  117. // Historique des adhésions
  118. $this->memberid = $request->getParameter('id');
  119. $this->userid = KataoUserPeer::retrieveByKataoMemberId($this->memberid)->getId();
  120. $this->list_objet = KataoMemberAdhesionPeer::getAdhesionList($this->userid);
  121. }
  122. public function executeCreate() {
  123. $this->form = new KataoMemberForm();
  124. $this->setTemplate('edit');
  125. }
  126. public function executeEdit($request) {
  127. $katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id'));
  128. if (!is_null($katao_member)) {
  129. $is_just_delegate = $this->getUser()->isJustDelegate();
  130. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  131. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member->getKataoNodeId());
  132. }
  133. $this->form = new KataoMemberForm($katao_member);
  134. }
  135. public function executeUpdate($request) {
  136. $this->redirectWithErrorUnless($request->isMethod('post'));
  137. $katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id'));
  138. if (!is_null($katao_member)) {
  139. $is_just_delegate = $this->getUser()->isJustDelegate();
  140. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  141. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member->getKataoNodeId());
  142. }
  143. $this->form = new KataoMemberForm($katao_member);
  144. $this->form->bind($request->getParameter('katao_member'));
  145. if ($this->form->isValid()) {
  146. $katao_member = $this->form->save();
  147. wpFlashMessages::addConfirmation('Adhérent "' . $katao_member->getFullName() . '" sauvé avec succès.');
  148. $this->redirect('kataoMember/index');
  149. }
  150. $this->setTemplate('edit');
  151. }
  152. public function executeDelete($request) {
  153. $this->redirectWithErrorUnless($katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id')), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  154. $is_just_delegate = $this->getUser()->isJustDelegate();
  155. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  156. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member->getKataoNodeId());
  157. $this->redirectWithErrorIf(!$katao_member->isDeletable());
  158. $katao_member->delete();
  159. wpFlashMessages::addConfirmation('Adhérent "' . $katao_member->getFullName() . '" supprimé avec succès.');
  160. $this->redirect('kataoMember/index');
  161. }
  162. public function executeDeleteMultiple($request) {
  163. if (!wpPersistenceManager::isEmpty('katao_member')) {
  164. foreach (KataoMemberPeer::retrieveByPKs(array_keys(wpPersistenceManager::getSelectedItems('katao_member'))) as/*(KataoMember)*/ $katao_member) {
  165. if ($katao_member->isDeletable()) {
  166. $katao_member->delete();
  167. }
  168. }
  169. wpPersistenceManager::cleanSelection('katao_member');
  170. wpFlashMessages::addConfirmation('Les adhérents sélectionnés ont été supprimés avec succès.');
  171. } else {
  172. wpFlashMessages::addWarning('Merci de sélectionner au moins un adhérent.');
  173. }
  174. $this->redirect('kataoMember/index');
  175. }
  176. public function executeChangeNextNodeMultiple(sfWebRequest $request) {
  177. $this->redirectWithErrorUnless($this->getUser()->isJustDelegate());
  178. if (!wpPersistenceManager::isEmpty('katao_member')) {
  179. if ($request->isMethod('post')) {
  180. $criteria_update = new Criteria();
  181. $criteria_update->add(KataoMemberPeer::NEXT_KATAO_NODE_ID, $request->getParameter('next_katao_node_id'));
  182. $criteria_where = new Criteria();
  183. $criteria_where->add(KataoMemberPeer::ID, array_keys(wpPersistenceManager::getSelectedItems('katao_member')), Criteria::IN);
  184. BasePeer::doUpdate($criteria_where, $criteria_update, Propel::getConnection());
  185. wpPersistenceManager::cleanSelection('katao_member');
  186. wpFlashMessages::addConfirmation('Les adhérents sélectionnés ont été changés de noeud avec succès.');
  187. $this->redirect('kataoMember/index');
  188. }
  189. } else {
  190. wpFlashMessages::addWarning('Merci de sélectionner au moins un adhérent.');
  191. $this->redirect('kataoMember/index');
  192. }
  193. }
  194. public function executeSendLogin(sfWebRequest $request) {
  195. $this->redirectWithErrorUnless($katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id')), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  196. $this->redirectWithErrorUnless($katao_user = $katao_member->getFirstKataoUser(), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  197. $email = $katao_user->getEmail();
  198. if ('' == $email) {
  199. wpFlashMessages::addError('L\'adhérent "' . $katao_member->getFullName() . '" n\'a pas d\'adresse email.');
  200. } else {
  201. try {
  202. $mailer = new wpMail();
  203. $mailer->send(new Swift_Message('Votre login et votre mot de passe', sprintf('%s,
  204. Tu trouveras ci-joint ton login et ton mot de passe :
  205. Login : %s
  206. Mot de passe : %s
  207. %s', $katao_member->getFirstName(), $katao_user->getLogin(), $katao_user->getPassword(), Utils::getKataoEmailFooter())), new Swift_Address($katao_user->getEmail(), $katao_user->getFullName()), sfConfig::get('app_mail_from'));
  208. $mailer->disconnect();
  209. wpFlashMessages::addConfirmation('Les informations de connexion on été envoyées avec succès à l\'adhérent "' . $katao_member->getFullName() . '".');
  210. }
  211. catch (Exception $e) {
  212. $mailer->disconnect();
  213. wpFlashMessages::addError('L\'adhérent "' . $katao_member->getFullName() . '" n\'a pas d\'adresse email.');
  214. }
  215. }
  216. $this->redirect('kataoMember/index');
  217. }
  218. public function executeUpdateGmapCoordinates($request) {
  219. $this->redirectWithErrorUnless($this->katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id')), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  220. $this->redirectWithErrorUnless($this->katao_user = $this->katao_member->getFirstKataoUser(), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  221. if (!is_null($this->katao_member)) {
  222. $is_just_delegate = $this->getUser()->isJustDelegate();
  223. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  224. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $this->katao_member->getKataoNodeId());
  225. }
  226. if ($request->isMethod('post')) {
  227. $this->katao_user->setGmapLat($request->getParameter('gmap_lat'));
  228. $this->katao_user->setGmapLng($request->getParameter('gmap_lng'));
  229. $this->katao_user->save();
  230. wpFlashMessages::addConfirmation('L\'adhérent "' . $this->katao_member->getFullName() . '" a été positionné sur la carte avec succès.');
  231. $this->redirect('kataoMember/index');
  232. }
  233. }
  234. public function executeExportZyvon($request) {
  235. $criteria = new Criteria();
  236. $criteria->addSelectColumn(KataoMemberPeer::LAST_NAME);
  237. $criteria->addSelectColumn(KataoMemberPeer::FIRST_NAME);
  238. $criteria->addSelectColumn(KataoUserPeer::EMAIL);
  239. $criteria->addJoin(KataoMemberPeer::ID, KataoUserPeer::KATAO_MEMBER_ID);
  240. if ($this->getUser()->isJustDelegate()) {
  241. $criteria->add(KataoMemberPeer::KATAO_NODE_ID, $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId());
  242. }
  243. $criteria->add(KataoUserPeer::EMAIL, '', Criteria::NOT_EQUAL);
  244. $criteria->add(KataoUserPeer::EMAIL, null, Criteria::NOT_EQUAL);
  245. $criteria->add(KataoUserPeer::STATUS, KataoUser::STATUS_ACTIVE);
  246. $criteria->addAscendingOrderByColumn(KataoMemberPeer::LAST_NAME);
  247. $criteria->addAscendingOrderByColumn(KataoMemberPeer::FIRST_NAME);
  248. if ('' != $this->filter_node = $this->getUser()->getAttribute('katao_member_filter_node')) {
  249. $criteria->add(KataoMemberPeer::KATAO_NODE_ID, $this->filter_node);
  250. }
  251. if ('' != $this->filter_referer = $this->getUser()->getAttribute('katao_member_filter_referer')) {
  252. $criteria->add(KataoMemberPeer::IS_REFERER, (CONST_YES == $this->filter_referer)?true:false);
  253. }
  254. if ('' != $this->filter_delegate = $this->getUser()->getAttribute('katao_member_filter_delegate')) {
  255. $criteria->add(KataoMemberPeer::IS_DELEGATE, (CONST_YES == $this->filter_delegate)?true:false);
  256. }
  257. if ('' != $this->filter_anonymous = $this->getUser()->getAttribute('katao_member_filter_anonymous')) {
  258. $criteria->add(KataoMemberPeer::IS_ANONYMOUS, (CONST_YES == $this->filter_anonymous)?true:false);
  259. }
  260. if ('' != $this->filter_status = $this->getUser()->getAttribute('katao_member_filter_status')) {
  261. $criteria->add(KataoUserPeer::STATUS, $this->filter_status);
  262. }
  263. if ('' != $this->filter_member = $this->getUser()->getAttribute('katao_member_filter_member')) {
  264. $criteria->add(KataoUserPeer::IS_MEMBER, (CONST_YES == $this->filter_member)?true:false);
  265. }
  266. if ('' != $this->search = $this->getUser()->getAttribute('katao_member_search')) {
  267. $search_like = sprintf('%%%s%%', $this->search);
  268. $criterion = $criteria->getNewCriterion(KataoMemberPeer::FIRST_NAME, $search_like, Criteria::LIKE);
  269. $criterion->addOr($criteria->getNewCriterion(KataoMemberPeer::LAST_NAME, $search_like, Criteria::LIKE));
  270. $criterion->addOr($criteria->getNewCriterion(KataoMemberPeer::ACCOUNTING_CODE, $search_like, Criteria::LIKE));
  271. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::EMAIL, $search_like, Criteria::LIKE));
  272. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ADDRESS1, $search_like, Criteria::LIKE));
  273. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ADDRESS2, $search_like, Criteria::LIKE));
  274. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::ZIP, $search_like, Criteria::LIKE));
  275. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::CITY, $search_like, Criteria::LIKE));
  276. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::PHONE, $search_like, Criteria::LIKE));
  277. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::FAX, $search_like, Criteria::LIKE));
  278. $criterion->addOr($criteria->getNewCriterion(KataoUserPeer::LOGIN, $search_like, Criteria::LIKE));
  279. $criteria->addAnd($criterion);
  280. }
  281. $criteria->setDistinct();
  282. $rs = KataoMemberPeer::doSelectRS($criteria);
  283. $content = array();
  284. while ($rs->next()) {
  285. $content[] = sprintf('"%s %s" <%s>', $rs->getString(1), $rs->getString(2), $rs->getString(3));
  286. }
  287. $content = implode(';', $content);
  288. $response = $this->getResponse();
  289. $response->setContentType('text/plain');
  290. $response->setHttpHeader('Content-disposition', 'attachment; filename="Zyvon.txt"');
  291. $response->setHttpHeader('Content-Length', strlen($content));
  292. $response->setHttpHeader('Pragma', 'public');
  293. $response->setHttpHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
  294. $response->setHttpHeader('Expires', '0');
  295. $response->setContent($content);
  296. return sfView::NONE;
  297. }
  298. public function executePrintSolCard($request) {
  299. $criteria = new Criteria();
  300. $criteria->add(KataoUserPeer::KATAO_MEMBER_ID,$request->getParameter('id'));
  301. $criteria->addJoin(KataoUserPeer::KATAO_MEMBER_ID,KataoMemberPeer::ID,Criteria::LEFT_JOIN); $katao_users = KataoUserPeer::doSelectJoinAllExceptKataoSupplier($criteria);
  302. $katao_user = array();
  303. if ( count($katao_users)>0 ) {
  304. $katao_user = array_shift($katao_users);
  305. }
  306. $path = solViolette::generatePdf($katao_user,'kataoMember/pdf');
  307. $content = file_get_contents($path);
  308. $response = $this->getResponse();
  309. $response->setContentType('application/pdf');
  310. $response->setHttpHeader('Content-disposition', 'attachment; filename="DemandeCarteCoopduTilleul.pdf"');
  311. $response->setHttpHeader('Content-Length', strlen($content));
  312. $response->setHttpHeader('Pragma', 'public');
  313. $response->setHttpHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
  314. $response->setHttpHeader('Expires', '0');
  315. $response->setContent($content);
  316. return sfView::NONE;
  317. }
  318. public function executeMailing($request){
  319. $this->form = new KataomemberMailingForm();
  320. if($this->form->isValid()){
  321. }
  322. }
  323. public function executeAdhesionDelete($request)
  324. {
  325. // gestion-des-adherentes/delete/userid/ahdesionid
  326. $this->forward404Unless($adhesion = KataoMemberAdhesionPeer::retrieveByPk($request->getParameter('id')));
  327. $this->userid = $request->getParameter('userid');
  328. $this->memberid = KataoUserPeer::retrieveMemberById($this->userid)->getKataoMemberId();
  329. $c = new Criteria();
  330. $c->add(KataoMemberAdhesionPeer::ID, $request->getParameter('id'));
  331. $c->add(KataoMemberAdhesionPeer::KATAO_USER_ID, $this->userid);
  332. $adhesion = KataoMemberAdhesionPeer::doSelectOne($c);
  333. $adhesion->delete();
  334. wpFlashMessages::addConfirmation('Adhésion du "' . $adhesion->getYear('Y') . '" supprimé avec succès.');
  335. $this->redirect('@katao_member_show?id='.$this->memberid);
  336. //$this->redirect('@katao_member_adhesion/id?='.$this->getParameter('id'));
  337. }
  338. public function executeAdhesionCreate($request){
  339. $this->form = new KataoMemberAdhesionForm();
  340. $this->userid = $request->getParameter('userid');
  341. $this->memberid = KataoUserPeer::retrieveMemberById($this->userid)->getId();
  342. $this->form->setDefault('katao_user_id', $this->userid);
  343. if($request->isMethod('post'))
  344. {
  345. $this->form->bind($request->getParameter('form_subscription'));
  346. if($this->form->isValid())
  347. {
  348. $save = $this->form->save();
  349. wpFlashMessages::addConfirmation('Adhésion ajouté avec succès.');
  350. $this->redirect('@katao_member_show?id='.$this->memberid);
  351. }
  352. }
  353. $this->setTemplate('adhesionCreate');
  354. }
  355. public function executeAdhesionEdit($request){
  356. $adhesion = KataoMemberAdhesionPeer::retrieveByPk($request->getParameter('id'));
  357. $this->form = new KataoMemberAdhesionForm($adhesion);
  358. $this->id = $request->getParameter('id');
  359. $this->userid = $request->getParameter('userid');
  360. $this->memberid = KataoUserPeer::retrieveMemberById($this->userid)->getKataoMemberId();
  361. if($request->isMethod('post'))
  362. {
  363. $this->form->bind($request->getParameter('form_subscription'));
  364. if($this->form->isValid())
  365. {
  366. $adhesion = $this->form->save();
  367. wpFlashMessages::addConfirmation('Adhésion modifié avec succès.');
  368. $this->redirect('@katao_member_show?id='.$this->memberid);
  369. }
  370. }
  371. $this->setTemplate('adhesionEdit');
  372. }
  373. public function executeAdhesionShowAll($request){
  374. $con = Propel::getConnection();
  375. $sql = "SELECT count(*)as cnt, DATE_FORMAT(year, '%Y') as year, SUM(amount) as amount FROM `katao_member_adhesion` group by year";
  376. $this->adhesion_list = $con->executeQuery($sql);
  377. }
  378. public function executeSentRelance($request) {
  379. sfLoader::loadHelpers('Partial');
  380. $this->redirectWithErrorUnless($katao_member = KataoMemberPeer::retrieveByPk($request->getParameter('id')), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  381. $this->redirectWithErrorUnless($katao_user = $katao_member->getFirstKataoUser(), 'Adhérent #' . $request->getParameter('id') . ' inconnu.');
  382. $email = $katao_user->getEmail();
  383. if ('' == $email) {
  384. wpFlashMessages::addError('L\'adhérent "' . $katao_member->getFullName() . '" n\'a pas d\'adresse email.');
  385. } else {
  386. try {
  387. $mailer = new wpMail();
  388. $mailer->send(new Swift_Message('Relance', get_partial('katao/relanceEmail'), 'text/html' ), new Swift_Address($katao_user->getEmail(), $katao_user->getFullName()), sfConfig::get('app_mail_from'));
  389. $mailer->disconnect();
  390. wpFlashMessages::addConfirmation('Relance envoyée avec succès à l\'adhérent "' . $katao_member->getFullName() . '".');
  391. }
  392. catch (Exception $e) {
  393. $mailer->disconnect();
  394. wpFlashMessages::addError('L\'adhérent "' . $katao_member->getFullName() . '" n\'a pas d\'adresse email.');
  395. }
  396. }
  397. $this->redirect('@katao_member_show?id='.$request->getParameter('id'));
  398. }
  399. }