actions.class.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. <?php
  2. /**
  3. * kataoMemberDeposit actions.
  4. *
  5. * @package www.katao.fr
  6. * @subpackage kataoMemberDeposit
  7. * @author Your name here
  8. * @version SVN: $Id: actions.class.php 8507 2008-04-17 17:32:20Z fabien $
  9. */
  10. class kataoMemberDepositActions extends wpActions {
  11. public function executeIndex() {
  12. $criteria = new Criteria();
  13. $criteria->addJoin(KataoMemberDepositPeer::KATAO_MEMBER_ID, KataoMemberPeer::ID);
  14. if ($this->getUser()->isJustDelegate()) {
  15. $criteria->add(KataoMemberPeer::KATAO_NODE_ID, $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId());
  16. }
  17. $sort_method = $this->getCriteriaSortMethod();
  18. switch ($this->sort = $this->getRequestParameter('sort', 'date')) {
  19. case 'member':
  20. $criteria->$sort_method(KataoMemberPeer::LAST_NAME);
  21. $criteria->$sort_method(KataoMemberPeer::FIRST_NAME);
  22. break;
  23. case 'amount':
  24. $criteria->$sort_method(KataoMemberDepositPeer::AMOUNT);
  25. break;
  26. case 'status':
  27. $criteria->$sort_method(KataoMemberDepositPeer::STATUS);
  28. break;
  29. case 'payment-mode':
  30. $criteria->$sort_method(KataoMemberDepositPeer::PAYMENT_MODE);
  31. break;
  32. default:
  33. $criteria->$sort_method(KataoMemberDepositPeer::VALUED_AT);
  34. }
  35. if ('' != $this->filter_member = $this->getUser()->getAttribute('katao_member_deposit_filter_member')) {
  36. $criteria->add(KataoMemberDepositPeer::KATAO_MEMBER_ID, $this->filter_member);
  37. }
  38. if ('' != $this->filter_currency = $this->getUser()->getAttribute('katao_member_deposit_filter_currency')) {
  39. $criteria->add(KataoMemberDepositPeer::CURRENCY, $this->filter_currency);
  40. }
  41. if ('' != $this->filter_payment_mode = $this->getUser()->getAttribute('katao_member_deposit_filter_payment_mode')) {
  42. $criteria->add(KataoMemberDepositPeer::PAYMENT_MODE, $this->filter_payment_mode);
  43. }
  44. if ('' != $this->filter_status = $this->getUser()->getAttribute('katao_member_deposit_filter_status')) {
  45. $criteria->add(KataoMemberDepositPeer::STATUS, $this->filter_status);
  46. }
  47. $pager = new sfPropelPager('KataoMemberDeposit', sfConfig::get('app_pager'));
  48. $pager->setPeerMethod('doSelectJoinKataoMember');
  49. $pager->setCriteria($criteria);
  50. $pager->setPage($this->getRequestParameter('page', 1));
  51. $pager->init();
  52. $this->pager = $pager;
  53. $this->katao_member_depositList = $pager->getResults();
  54. }
  55. public function executeFilter($request) {
  56. $this->getUser()->setAttribute('katao_member_deposit_filter_member', $request->getParameter('filter_member'));
  57. $this->getUser()->setAttribute('katao_member_deposit_filter_currency', $request->getParameter('filter_currency'));
  58. $this->getUser()->setAttribute('katao_member_deposit_filter_payment_mode', $request->getParameter('filter_payment_mode'));
  59. $this->getUser()->setAttribute('katao_member_deposit_filter_status', $request->getParameter('filter_status'));
  60. return $this->redirect('kataoMemberDeposit/index');
  61. }
  62. public function executeFilterReset($request) {
  63. $this->getUser()->setAttribute('katao_member_deposit_filter_member', '');
  64. $this->getUser()->setAttribute('katao_member_deposit_filter_currency', '');
  65. $this->getUser()->setAttribute('katao_member_deposit_filter_payment_mode', '');
  66. $this->getUser()->setAttribute('katao_member_deposit_filter_status', '');
  67. return $this->redirect('kataoMemberDeposit/index');
  68. }
  69. public function executeShow($request) {
  70. $this->katao_member_deposit = KataoMemberDepositPeer::retrieveByPk($request->getParameter('id'));
  71. $this->redirectWithErrorUnless($this->katao_member_deposit, 'Dépôt #' . $request->getParameter('id') . ' inconnu.');
  72. }
  73. public function executeCreate() {
  74. $this->form = new KataoMemberDepositForm();
  75. $this->setTemplate('edit');
  76. }
  77. public function executeEdit($request) {
  78. $katao_member_deposit = KataoMemberDepositPeer::retrieveByPk($request->getParameter('id'));
  79. if (!is_null($katao_member_deposit)) {
  80. $is_just_delegate = $this->getUser()->isJustDelegate();
  81. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  82. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member_deposit->getKataoMember()->getKataoNodeId());
  83. }
  84. $this->form = new KataoMemberDepositForm($katao_member_deposit);
  85. }
  86. public function executeUpdate($request) {
  87. $this->redirectWithErrorUnless($request->isMethod('post'));
  88. $katao_member_deposit = KataoMemberDepositPeer::retrieveByPk($request->getParameter('id'));
  89. if (!is_null($katao_member_deposit)) {
  90. $is_just_delegate = $this->getUser()->isJustDelegate();
  91. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  92. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member_deposit->getKataoMember()->getKataoNodeId());
  93. }
  94. $this->form = new KataoMemberDepositForm($katao_member_deposit);
  95. $this->form->bind($request->getParameter('katao_member_deposit'));
  96. if ($this->form->isValid()) {
  97. $katao_member_deposit = $this->form->save();
  98. wpFlashMessages::addConfirmation('Dépôt "' . $katao_member_deposit->getMemberName() . '" sauvé avec succès.');
  99. $this->redirect('kataoMemberDeposit/index');
  100. }
  101. $this->setTemplate('edit');
  102. }
  103. public function executeDelete($request) {
  104. $this->redirectWithErrorUnless($katao_member_deposit = KataoMemberDepositPeer::retrieveByPk($request->getParameter('id')), 'Dépôt #' . $request->getParameter('id') . ' inconnu.');
  105. $is_just_delegate = $this->getUser()->isJustDelegate();
  106. $current_user_node_id = $this->getUser()->getInstance()->getKataoMember()->getKataoNodeId();
  107. $this->redirectWithErrorIf($is_just_delegate && $current_user_node_id != $katao_member_deposit->getKataoMember()->getKataoNodeId());
  108. $katao_member_deposit->delete();
  109. wpFlashMessages::addConfirmation('Dépôt "' . $katao_member_deposit->getMemberName() . '" supprimé avec succès.');
  110. $this->redirect('kataoMemberDeposit/index');
  111. }
  112. public function executeDeleteMultiple($request) {
  113. if (!wpPersistenceManager::isEmpty('katao_member_deposit')) {
  114. $criteria = new Criteria();
  115. $criteria->add(KataoMemberDepositPeer::ID, array_keys(wpPersistenceManager::getSelectedItems('katao_member_deposit')), Criteria::IN);
  116. KataoMemberDepositPeer::doDelete($criteria);
  117. wpPersistenceManager::cleanSelection('katao_member_deposit');
  118. wpFlashMessages::addConfirmation('Les dépôts sélectionnés ont été supprimés avec succès.');
  119. } else {
  120. wpFlashMessages::addWarning('Merci de sélectionner au moins un dépôt.');
  121. }
  122. $this->redirect('kataoMemberDeposit/index');
  123. }
  124. public function executeDispatchSols($request) {
  125. }
  126. public function executeDispatchSolsUpdate($request) {
  127. $katao_member_ids = array();
  128. if ('member' == $request->getParameter('type') && '' != $request->getParameter('member')) {
  129. $katao_member_ids[] = $request->getParameter('member');
  130. } elseif (('node' == $request->getParameter('type') && '' != $request->getParameter('node')) || ('all' == $request->getParameter('type'))) {
  131. $criteria = new Criteria();
  132. $criteria->addSelectColumn(KataoMemberPeer::ID);
  133. $criteria->addJoin(KataoMemberPeer::ID, KataoUserPeer::KATAO_MEMBER_ID);
  134. if ('all' != $request->getParameter('type')) {
  135. $criteria->add(KataoMemberPeer::KATAO_NODE_ID, $request->getParameter('node'));
  136. }
  137. $criteria->add(KataoMemberPeer::IS_MEMBER, true);
  138. $criteria->add(KataoUserPeer::STATUS, KataoUser::STATUS_ACTIVE);
  139. $rs = KataoMemberPeer::doSelectRS($criteria);
  140. while ($rs->next()) {
  141. $katao_member_ids[] = $rs->getInt(1);
  142. }
  143. }
  144. if (0 < $katao_member_ids_count = count($katao_member_ids)) {
  145. if (0 < $amount = floor((int)$request->getParameter('amount') / $katao_member_ids_count)) {
  146. foreach ($katao_member_ids as $katao_member_id) {
  147. $katao_member_deposit = new KataoMemberDeposit();
  148. $katao_member_deposit->setKataoMemberId($katao_member_id);
  149. $katao_member_deposit->setAmount($amount);
  150. $katao_member_deposit->setCurrency(KataoMemberDeposit::CURRENCY_SOL);
  151. $katao_member_deposit->setPaymentMode(KataoMemberDeposit::PAYMENT_MODE_OTHER);
  152. $katao_member_deposit->setStatus(KataoMemberDeposit::STATUS_VALIDATED);
  153. $katao_member_deposit->save();
  154. }
  155. wpFlashMessages::addConfirmation(sprintf('%d %s ont été répartis sur les %d adhérents.', $amount, wpConfig::getAdditionalCurrencyName(), $katao_member_ids_count));
  156. } else {
  157. wpFlashMessages::addWarning(sprintf('Impossible de répartir %d %s sur %s adhérents.', $request->getParameter('amount'), wpConfig::getAdditionalCurrencyName(), $katao_member_ids_count));
  158. }
  159. } else {
  160. wpFlashMessages::addWarning('Impossible de répartir les ' . wpConfig::getAdditionalCurrencyName() . ' sur aucun adhérent.');
  161. }
  162. return $this->redirect('kataoMemberDeposit/index');
  163. }
  164. public function validateDispatchSolsUpdate() {
  165. $return = true;
  166. if ('' == $this->getRequestParameter('amount')) {
  167. $this->getRequest()->setError('amount', 'Merci de saisir un montant');
  168. $return = false;
  169. }
  170. if ('' == $type = $this->getRequestParameter('type')) {
  171. $this->getRequest()->setError('type', 'Merci de choisir un type de bénéficiaire(s)');
  172. $return = false;
  173. }
  174. if ('member' == $type && '' == $this->getRequestParameter('member')) {
  175. $this->getRequest()->setError('member', 'Merci de sélectionner un adhérent');
  176. $return = false;
  177. }
  178. if ('node' == $type && '' == $this->getRequestParameter('node')) {
  179. $this->getRequest()->setError('node', 'Merci de sélectionner un noeud');
  180. $return = false;
  181. }
  182. return $return;
  183. }
  184. public function handleErrorDispatchSolsUpdate() {
  185. return $this->forward('kataoMemberDeposit', 'dispatchSols');
  186. }
  187. public function executePrintChecks($request) {
  188. if (wpPersistenceManager::isEmpty('katao_member_deposit')) {
  189. wpFlashMessages::addWarning('Merci de sélectionner au moins un dépôt.');
  190. return $this->redirect('kataoMemberDeposit/index');
  191. }
  192. $katao_member_deposits = array();
  193. $criteria = new Criteria();
  194. $criteria->add(KataoMemberDepositPeer::ID, array_keys(wpPersistenceManager::getSelectedItems('katao_member_deposit')), Criteria::IN);
  195. foreach (KataoMemberDepositPeer::doSelect($criteria) as/*(KataoMemberDeposit)*/ $katao_member_deposit) {
  196. if (KataoMemberDeposit::PAYMENT_MODE_CHECK == $katao_member_deposit->getPaymentMode()) {
  197. $katao_member_deposits[] = $katao_member_deposit;
  198. }
  199. }
  200. if (0 == count($katao_member_deposits)) {
  201. wpFlashMessages::addWarning('Merci de sélectionner au moins un dépôt sous forme de chèque.');
  202. return $this->redirect('kataoMemberDeposit/index');
  203. }
  204. if ($request->isMethod('post')) {
  205. $number = $request->getParameter('number');
  206. $sf_php_excel = new sfPhpExcel();
  207. $file_name = tempnam(sfConfig::get('sf_upload_dir'), 'excel_');
  208. $sf_php_excel->setActiveSheetIndex(0);
  209. $style_header = array(
  210. 'font' => array(
  211. 'bold' => true,
  212. 'color' => array('argb' => PHPExcel_Style_Color::COLOR_WHITE),
  213. ),
  214. 'alignment' => array(
  215. 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
  216. ),
  217. 'borders' => array(
  218. 'top' => array(
  219. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  220. ),
  221. 'right' => array(
  222. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  223. ),
  224. 'bottom' => array(
  225. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  226. ),
  227. 'left' => array(
  228. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  229. ),
  230. ),
  231. 'fill' => array(
  232. 'type' => PHPExcel_Style_Fill::FILL_SOLID,
  233. 'startcolor' => array(
  234. 'argb' => 'FFA0A0A0',
  235. ),
  236. ),
  237. );
  238. $style_border = array(
  239. 'borders' => array(
  240. 'top' => array(
  241. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  242. ),
  243. 'right' => array(
  244. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  245. ),
  246. 'bottom' => array(
  247. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  248. ),
  249. 'left' => array(
  250. 'style' => PHPExcel_Style_Border::BORDER_THIN,
  251. ),
  252. ),
  253. );
  254. $sf_php_excel->getActiveSheet()->mergeCells('A1:B1');
  255. $sf_php_excel->getActiveSheet()->setCellValue('A1', wpConfig::getName());
  256. $address = explode("\n", str_replace("\r", '', wpConfig::getAddress()));
  257. $sf_php_excel->getActiveSheet()->mergeCells('A2:B2');
  258. $sf_php_excel->getActiveSheet()->setCellValue('A2', !empty($address[0])?$address[0]:'');
  259. $sf_php_excel->getActiveSheet()->mergeCells('A3:B3');
  260. $sf_php_excel->getActiveSheet()->setCellValue('A3', !empty($address[1])?$address[1]:'');
  261. $sf_php_excel->getActiveSheet()->mergeCells('A4:B4');
  262. $sf_php_excel->getActiveSheet()->setCellValue('A4', sprintf('Tél : %s - %s', wpConfig::getPhone(), wpConfig::getEmail()));
  263. $sf_php_excel->getActiveSheet()->setCellValue('C3', 'Date');
  264. $sf_php_excel->getActiveSheet()->getStyle('C3')->applyFromArray($style_header);
  265. $sf_php_excel->getActiveSheet()->setCellValue('D3', PHPExcel_Shared_Date::PHPToExcel(time()));
  266. $sf_php_excel->getActiveSheet()->getStyle('D3')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY);
  267. $sf_php_excel->getActiveSheet()->getStyle('D3')->applyFromArray($style_border);
  268. $sf_php_excel->getActiveSheet()->setCellValue('C4', 'Remise N°');
  269. $sf_php_excel->getActiveSheet()->getStyle('C4')->applyFromArray($style_header);
  270. $sf_php_excel->getActiveSheet()->setCellValue('D4', $number);
  271. $sf_php_excel->getActiveSheet()->getStyle('D4')->applyFromArray($style_border);
  272. $sf_php_excel->getActiveSheet()->setCellValue('C5', 'Signature');
  273. $sf_php_excel->getActiveSheet()->getStyle('C5')->applyFromArray($style_header);
  274. $sf_php_excel->getActiveSheet()->setCellValue('A10', 'N° CHEQUE');
  275. $sf_php_excel->getActiveSheet()->getStyle('A10')->applyFromArray($style_header);
  276. $sf_php_excel->getActiveSheet()->setCellValue('B10', 'PERSONNE/SOCIETE QUI VOUS A REMIS LE CHEQUE');
  277. $sf_php_excel->getActiveSheet()->getStyle('B10')->applyFromArray($style_header);
  278. $sf_php_excel->getActiveSheet()->setCellValue('C10', 'BANQUE');
  279. $sf_php_excel->getActiveSheet()->getStyle('C10')->applyFromArray($style_header);
  280. $sf_php_excel->getActiveSheet()->setCellValue('D10', 'MONTANT');
  281. $sf_php_excel->getActiveSheet()->getStyle('D10')->applyFromArray($style_header);
  282. $sf_php_excel->getActiveSheet()->getStyle('D10')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  283. $index = 11;
  284. foreach ($katao_member_deposits as/*(KataoMemberDeposit)*/ $katao_member_deposit) {
  285. // mise à jour du numéro de remise de chèque
  286. $katao_member_deposit->setCheckDeposit($number);
  287. $katao_member_deposit->save();
  288. $sf_php_excel->getActiveSheet()->setCellValue('A' . $index, $katao_member_deposit->getCheckNumber());
  289. $sf_php_excel->getActiveSheet()->getStyle('A' . $index)->applyFromArray($style_border);
  290. $sf_php_excel->getActiveSheet()->getStyle('A' . $index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
  291. $sf_php_excel->getActiveSheet()->setCellValue('B' . $index, $katao_member_deposit->getKataoMember()->getFullName());
  292. $sf_php_excel->getActiveSheet()->getStyle('B' . $index)->applyFromArray($style_border);
  293. $sf_php_excel->getActiveSheet()->setCellValue('C' . $index, $katao_member_deposit->getCheckBank());
  294. $sf_php_excel->getActiveSheet()->getStyle('C' . $index)->applyFromArray($style_border);
  295. $sf_php_excel->getActiveSheet()->setCellValue('D' . $index, $katao_member_deposit->getAmount());
  296. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->applyFromArray($style_border);
  297. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00);
  298. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  299. $index++;
  300. }
  301. $index++;
  302. $sf_php_excel->getActiveSheet()->setCellValue('A' . $index, 'BANQUE');
  303. $sf_php_excel->getActiveSheet()->getStyle('A' . $index)->applyFromArray($style_header);
  304. $sf_php_excel->getActiveSheet()->setCellValue('B' . $index, 'RIB');
  305. $sf_php_excel->getActiveSheet()->getStyle('B' . $index)->applyFromArray($style_header);
  306. $sf_php_excel->getActiveSheet()->setCellValue('C' . $index, 'NBR CHEQUES');
  307. $sf_php_excel->getActiveSheet()->getStyle('C' . $index)->applyFromArray($style_header);
  308. $sf_php_excel->getActiveSheet()->getStyle('C' . $index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  309. $sf_php_excel->getActiveSheet()->setCellValue('D' . $index, 'TOTAL');
  310. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->applyFromArray($style_header);
  311. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  312. $index++;
  313. $sf_php_excel->getActiveSheet()->setCellValue('A' . $index, wpConfig::getBankName());
  314. $sf_php_excel->getActiveSheet()->getStyle('A' . $index)->applyFromArray($style_border);
  315. $sf_php_excel->getActiveSheet()->setCellValue('B' . $index, wpConfig::getBankAccount());
  316. $sf_php_excel->getActiveSheet()->getStyle('B' . $index)->applyFromArray($style_border);
  317. $sf_php_excel->getActiveSheet()->setCellValue('C' . $index, count($katao_member_deposits));
  318. $sf_php_excel->getActiveSheet()->getStyle('C' . $index)->applyFromArray($style_border);
  319. $sf_php_excel->getActiveSheet()->setCellValue('D' . $index, '=SUM(D11:D' . (10 + count($katao_member_deposits)) . ')');
  320. $sf_php_excel->getActiveSheet()->getCell('D' . $index)->getCalculatedValue();
  321. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  322. $sf_php_excel->getActiveSheet()->getStyle('D' . $index)->applyFromArray($style_border);
  323. $sf_php_excel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
  324. $sf_php_excel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
  325. $sf_php_excel->getActiveSheet()->getColumnDimension('B')->setWidth(41);
  326. $sf_php_excel->getActiveSheet()->getColumnDimension('C')->setWidth(12);
  327. $sf_php_excel->getActiveSheet()->getColumnDimension('D')->setWidth(10);
  328. $sf_php_excel->setActiveSheetIndex(0);
  329. $php_excel_writer = new PHPExcel_Writer_Excel5($sf_php_excel);
  330. $php_excel_writer->save($file_name);
  331. $file_content = file_get_contents($file_name);
  332. $response = $this->getResponse();
  333. $response->setContentType('application/vnd.ms-excel');
  334. $response->setHttpHeader('Content-disposition', 'attachment; filename="remise-chèques-' . $number . '.xls"');
  335. // $response->setHttpHeader('Content-Length', strlen($file_content));
  336. $response->setHttpHeader('Pragma', 'public');
  337. $response->setHttpHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
  338. $response->setHttpHeader('Expires', '0');
  339. $response->setContent($file_content);
  340. return sfView::NONE;
  341. }
  342. }
  343. public function executeTransferSol($request) {
  344. $this->form = new KataoMemberDepositTransferSolForm();
  345. }
  346. public function executeTransferSolUpdate($request) {
  347. $this->redirectWithErrorUnless($request->isMethod('post'));
  348. $this->form = new KataoMemberDepositTransferSolForm();
  349. $parameters = $request->getParameter('katao_member_deposit');
  350. $this->form->bind($parameters);
  351. if ($this->form->isValid()) {
  352. $valued_at = time();
  353. if (!empty($parameters['valued_at']) && preg_match('|(\d{2})\/(\d{2})\/(\d{4})|si', $parameters['valued_at'], $matches)) {
  354. $valued_at = mktime(12, 0, 0, (int)$matches[2], (int)$matches[1], (int)$matches[3]);
  355. }
  356. $katao_member_deposit = new KataoMemberDeposit();
  357. $katao_member_deposit->setKataoMemberId($parameters['katao_member_1_id']);
  358. $katao_member_deposit->setAmount(- $parameters['amount']);
  359. $katao_member_deposit->setCurrency(KataoMemberDeposit::CURRENCY_SOL);
  360. $katao_member_deposit->setPaymentMode(KataoMemberDeposit::PAYMENT_MODE_TRANSFER_SOL);
  361. $katao_member_deposit->setStatus(KataoMemberDeposit::STATUS_VALIDATED);
  362. $katao_member_deposit->setValuedAt($valued_at);
  363. $katao_member_deposit->save();
  364. $katao_member_deposit = new KataoMemberDeposit();
  365. $katao_member_deposit->setKataoMemberId($parameters['katao_member_2_id']);
  366. $katao_member_deposit->setAmount($parameters['amount']);
  367. $katao_member_deposit->setCurrency(KataoMemberDeposit::CURRENCY_SOL);
  368. $katao_member_deposit->setPaymentMode(KataoMemberDeposit::PAYMENT_MODE_TRANSFER_SOL);
  369. $katao_member_deposit->setStatus(KataoMemberDeposit::STATUS_VALIDATED);
  370. $katao_member_deposit->setValuedAt($valued_at);
  371. $katao_member_deposit->save();
  372. wpFlashMessages::addConfirmation('Transfert de ' . wpConfig::getAdditionalCurrencyName() . ' effectué avec succès.');
  373. $this->redirect('kataoMemberDeposit/index');
  374. }
  375. $this->setTemplate('transferSol');
  376. }
  377. }