RenewForm.php 5.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. class RenewForm extends sfForm {
  3. public function configure() {
  4. 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']);
  5. 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']);
  6. $this->widgetSchema['first_name'] = new sfWidgetFormInput();
  7. $this->validatorSchema['first_name'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer votre prénom'));
  8. $this->widgetSchema['last_name'] = new sfWidgetFormInput();
  9. $this->validatorSchema['last_name'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer votre nom'));
  10. $this->widgetSchema->setLabels(array(
  11. 'first_name' => 'Prénom',
  12. 'last_name' => 'Nom',
  13. ));
  14. $katao_member = new KataoMember();
  15. $katao_user = new KataoUser();
  16. $this->widgetSchema['user_email'] = new sfWidgetFormInput();
  17. $this->validatorSchema['user_email'] = new sfValidatorString(array('max_length' => 255), array('required' => 'Veuillez entrer un email valide'));
  18. $this->widgetSchema->setLabel('user_email', 'Email');
  19. $this->widgetSchema['user_membercard'] = new sfWidgetFormInput();
  20. $this->validatorSchema['user_membercard'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  21. $this->widgetSchema->setLabel('user_membercard', 'Numéro de carte');
  22. $this->widgetSchema['user_membercard_lost'] = new sfWidgetFormInputCheckbox();
  23. $this->validatorSchema['user_membercard_lost'] = new sfValidatorString();
  24. $this->widgetSchema->setLabel('user_membercard_lost', 'Carte perdue ?');
  25. $this->widgetSchema['user_payment_amount'] = new sfWidgetFormSelectRadio(array('choices' => array(0 => '50 € - de base', 1 => '25 € - réduite', 2 => '100 € - de soutien')));
  26. $this->validatorSchema['user_payment_amount'] = new sfValidatorString(array('required' => 'Choisissez un montant'));
  27. $this->widgetSchema->setLabel('user_payment_amount', 'Choisissez le montant de votre adhésion ');
  28. $this->setDefault('user_payment_amount', 0);
  29. $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')));
  30. $this->validatorSchema['user_payment_mode'] = new sfValidatorPass();
  31. $this->widgetSchema->setLabel('user_payment_mode', 'Mon moyen de paiement ');
  32. $this->setDefault('user_payment_mode', '0');
  33. $this->widgetSchema['user_parraining'] = new sfWidgetFormInput();
  34. $this->validatorSchema['user_parraining'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  35. $this->widgetSchema->setLabel('user_parraining', 'Nom de la structure');
  36. $this->widgetSchema['user_payment_mode_cheque'] = new sfWidgetFormInput();
  37. $this->widgetSchema['user_payment_mode_cheque']->setAttributes(array('placeholder' => 'Numéro du chèque'));
  38. $this->validatorSchema['user_payment_mode_cheque'] = new sfValidatorString(array('max_length' => 255, 'required' => false));
  39. $this->widgetSchema->setLabel('user_payment_mode_cheque', 'Cheque');
  40. $this->widgetSchema['no_spam'] = new sfWidgetFormInputHidden();
  41. $this->setDefault('no_spam', '');
  42. $this->widgetSchema->setNameFormat('form_renew[%s]');
  43. //$this->validatorSchema->setPostValidator(new sfValidatorSchemaCompare('user_password', sfValidatorSchemaCompare::EQUAL, 'user_password_confirmation'));
  44. }
  45. protected function doSave($con = null) {
  46. $katao_user = new KataoUser();
  47. $katao_user->setStatus(KataoUser::STATUS_PENDING);
  48. $katao_user->setEmail($this->getValue('user_email'));
  49. $katao_user->setPhone($this->getValue('user_phone'));
  50. $katao_user->setFax($this->getValue('user_fax'));
  51. $katao_user->setAddress1($this->getValue('user_address1'));
  52. $katao_user->setAddress2($this->getValue('user_address2'));
  53. $katao_user->setZip($this->getValue('user_zip'));
  54. $katao_user->setCity($this->getValue('user_city'));
  55. $katao_user->setLogin($this->getValue('user_login'));
  56. if ($this->getValue('user_password') && $this->getValue('user_password_confirmation') && $this->getValue('user_password') == $this->getValue('user_password_confirmation')) {
  57. $katao_user->setPassword($this->getValue('user_password'));
  58. }
  59. $katao_user->save($con);
  60. $this->getObject()->setKataoNodeRelatedByKataoNodeId(sfContext::getInstance()->getUser()->getActiveNode()?sfContext::getInstance()->getUser()->getActiveNode():KataoNodePeer::getDefaultOne());
  61. $this->getObject()->setIsMember(false);
  62. $return = parent::doSave($con);
  63. $katao_user->setKataoMember($this->getObject());
  64. $katao_user->save();
  65. return $return;
  66. }
  67. }