<?php

class choiceSubscriptionForm extends sfForm {
	public function configure() {
		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']);
		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']);

		$this->widgetSchema['subscribe'] = new sfWidgetFormSelectRadio(array('choices' => array('Adhérer pour la première fois?', 'Ré-adhérer ?')));
		//$this->validatorSchema['first_name'] = new sfValidatorString(array('max_length' => 255));
		$this->setDefault('subscribe', 0);

		$this->widgetSchema['no_spam'] = new sfWidgetFormInputHidden();
		$this->setDefault('no_spam', '');
	}

	protected function doSave($con = null) {
		$katao_user = new KataoUser();
		$katao_user->setStatus(KataoUser::STATUS_PENDING);
		$katao_user->setEmail($this->getValue('user_email'));
		$katao_user->setPhone($this->getValue('user_phone'));
		$katao_user->setFax($this->getValue('user_fax'));
		$katao_user->setAddress1($this->getValue('user_address1'));
		$katao_user->setAddress2($this->getValue('user_address2'));
		$katao_user->setZip($this->getValue('user_zip'));
		$katao_user->setCity($this->getValue('user_city'));
		$katao_user->setLogin($this->getValue('user_login'));
		if ($this->getValue('user_password') && $this->getValue('user_password_confirmation') && $this->getValue('user_password') == $this->getValue('user_password_confirmation')) {
			$katao_user->setPassword($this->getValue('user_password'));
		}
		$katao_user->save($con);

		$this->getObject()->setKataoNodeRelatedByKataoNodeId(sfContext::getInstance()->getUser()->getActiveNode()?sfContext::getInstance()->getUser()->getActiveNode():KataoNodePeer::getDefaultOne());
		$this->getObject()->setIsMember(false);

		$return = parent::doSave($con);

		$katao_user->setKataoMember($this->getObject());
		$katao_user->save();

		return $return;
	}
}