AdherentSubscriptionForm.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. class AdherentSubscriptionForm extends sfForm {
  3. private static $euro = "€";
  4. public static $HASH_KEYS = array('first_name' => 'Prénom',
  5. 'last_name' => 'Nom',
  6. 'user_email' => 'Email',
  7. 'user_phone' => 'Téléphone',
  8. 'user_ax' => 'Fax',
  9. 'user_address1' => 'Adresse',
  10. 'user_address' => 'Complément adresse',
  11. 'user_zip' => 'Code postal',
  12. 'user_city' => 'Ville',
  13. 'user_payment_amount' => 'Montant adhésion',
  14. 'user_payment_mode' => 'Mode de paiement',
  15. 'user_payment_mode_cheque' => 'Numéro de chèque',
  16. 'user_parraining' => 'Parrain',
  17. 'user_membercard' => 'Numéro de carte adhérent');
  18. public static $HASH_PAYMENT_MODE = array(
  19. '0' => 'Carte bleue',
  20. '2' => 'Chèque',
  21. '1' => 'Espèces'
  22. // ,'on' => 'aucun'
  23. );
  24. public static $HASH_PAYMENT_AMOUNT = array(
  25. '0' => '50 euros - de base',
  26. '1' => '25 euros - réduite',
  27. '2' => '100 euros - de soutien');
  28. public function configure()
  29. {
  30. unset($this->validatorSchema['is_anonymous'], $this->validatorSchema['katao_node_id'], $this->validatorSchema['accounting_code'], $this->validatorSchema['accounting_code_sol'], $this->validatorSchema['initial_amount'], $this->validatorSchema['is_referer'], $this->validatorSchema['is_delegate'], $this->validatorSchema['katao_member_id'], $this->validatorSchema['user_status'], $this->validatorSchema['katao_index'], $this->validatorSchema['created_at'], $this->validatorSchema['updated_at'], $this->validatorSchema['user_birthday'], $this->validatorSchema['user_situation'], $this->validatorSchema['parrain_name']);
  31. unset($this->widgetSchema['is_anonymous'], $this->widgetSchema['katao_node_id'], $this->widgetSchema['accounting_code'], $this->widgetSchema['accounting_code_sol'], $this->widgetSchema['initial_amount'], $this->widgetSchema['is_referer'], $this->widgetSchema['is_delegate'], $this->widgetSchema['katao_member_id'], $this->widgetSchema['user_status'], $this->widgetSchema['katao_index'], $this->widgetSchema['created_at'], $this->widgetSchema['updated_at'], $this->widgetSchema['user_birthday'], $this->widgetSchema['user_situation'], $this->widgetSchema['parrain_name']);
  32. $this->widgetSchema['first_name'] = new sfWidgetFormInput();
  33. $this->validatorSchema['first_name'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer votre prénom'));
  34. $this->widgetSchema['last_name'] = new sfWidgetFormInput();
  35. $this->validatorSchema['last_name'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer votre nom'));
  36. $this->widgetSchema->setLabels(array(
  37. 'first_name' => 'Prénom',
  38. 'last_name' => 'Nom',
  39. ));
  40. $katao_member = new KataoMember();
  41. $katao_user = new KataoUser();
  42. $this->widgetSchema['user_email'] = new sfWidgetFormInput();
  43. $this->validatorSchema['user_email'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer un email valide'));
  44. $this->widgetSchema->setLabel('user_email', 'Email');
  45. $this->widgetSchema['user_phone'] = new sfWidgetFormInput();
  46. $this->validatorSchema['user_phone'] = new sfValidatorString(array('max_length' => 255));
  47. $this->widgetSchema->setLabel('user_phone', 'Téléphone');
  48. $this->widgetSchema['user_fax'] = new sfWidgetFormInput();
  49. $this->validatorSchema['user_fax'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  50. $this->widgetSchema->setLabel('user_fax', 'Fax');
  51. $this->widgetSchema['user_address1'] = new sfWidgetFormInput();
  52. $this->validatorSchema['user_address1'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer votre adresse'));
  53. $this->widgetSchema->setLabel('user_address1', 'Adresse');
  54. $this->widgetSchema['user_address2'] = new sfWidgetFormInput();
  55. $this->validatorSchema['user_address2'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  56. $this->widgetSchema->setLabel('user_address2', 'Complément');
  57. $this->widgetSchema['user_zip'] = new sfWidgetFormInput();
  58. $this->validatorSchema['user_zip'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  59. $this->widgetSchema->setLabel('user_zip', 'Code postal');
  60. $this->widgetSchema['user_city'] = new sfWidgetFormInput();
  61. $this->validatorSchema['user_city'] = new sfValidatorString(array('max_length' => 255));
  62. $this->widgetSchema->setLabel('user_city', 'Ville');
  63. $this->widgetSchema['user_payment_amount'] = new sfWidgetFormSelectRadio(array('choices' => array(0 => '50 € - de base', 1 => '25 € - réduite', 2 => '100 € - de soutien')));
  64. $this->validatorSchema['user_payment_amount'] = new sfValidatorString(array('required' => 'Choisissez un montant'));
  65. $this->widgetSchema->setLabel('user_payment_amount', 'Choisissez le montant de votre adhésion ');
  66. $this->setDefault('user_payment_amount', 0);
  67. $this->widgetSchema['user_payment_mode'] = new sfWidgetFormSelectRadio(array('choices' => array(KataoMemberDeposit::PAYMENT_MODE_OTHER => 'Carte Bleue', KataoMemberDeposit::PAYMENT_MODE_CHECK => 'Chèque', KataoMemberDeposit::PAYMENT_MODE_CASH => 'Espèces')));
  68. $this->validatorSchema['user_payment_mode'] = new sfValidatorPass();
  69. $this->widgetSchema->setLabel('user_payment_mode', 'Mon moyen de paiement ');
  70. $this->setDefault('user_payment_mode', '0');
  71. $this->widgetSchema['user_parraining'] = new sfWidgetFormInput();
  72. $this->validatorSchema['user_parraining'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  73. $this->widgetSchema->setLabel('user_parraining', 'Nom de la structure');
  74. $this->widgetSchema['user_payment_mode_cheque'] = new sfWidgetFormInput();
  75. $this->widgetSchema['user_payment_mode_cheque']->setAttributes(array('placeholder' => 'Numéro du chèque'));
  76. $this->validatorSchema['user_payment_mode_cheque'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  77. $this->widgetSchema->setLabel('user_payment_mode_cheque', 'Cheque');
  78. $this->widgetSchema['no_spam'] = new sfWidgetFormInputHidden();
  79. $this->setDefault('no_spam', '');
  80. $this->widgetSchema->setNameFormat('form_subscription[%s]');
  81. }
  82. protected function doSave($con = null)
  83. {
  84. $katao_user = new KataoUser();
  85. $katao_user->setStatus(KataoUser::STATUS_PENDING);
  86. $katao_user->setEmail($this->getValue('user_email'));
  87. $katao_user->setPhone($this->getValue('user_phone'));
  88. $katao_user->setFax($this->getValue('user_fax'));
  89. $katao_user->setAddress1($this->getValue('user_address1'));
  90. $katao_user->setAddress2($this->getValue('user_address2'));
  91. $katao_user->setZip($this->getValue('user_zip'));
  92. $katao_user->setCity($this->getValue('user_city'));
  93. $katao_user->setLogin($this->getValue('user_login'));
  94. /* if ($this->getValue('user_password') && $this->getValue('user_password_confirmation') && $this->getValue('user_password') == $this->getValue('user_password_confirmation')) {
  95. $katao_user->setPassword($this->getValue('user_password'));
  96. }*/
  97. $katao_user->save($con);
  98. $this->getObject()->setKataoNodeRelatedByKataoNodeId(sfContext::getInstance()->getUser()->getActiveNode()?sfContext::getInstance()->getUser()->getActiveNode():KataoNodePeer::getDefaultOne());
  99. $this->getObject()->setIsMember(false);
  100. $return = parent::doSave($con);
  101. $katao_user->setKataoMember($this->getObject());
  102. $katao_user->save();
  103. return $return;
  104. }
  105. }