<?php 
/**
 * Este es el formulario de login de usuarios...
 */
class FRMRecuperaPass extends AppFormulario
{
    /**
     * init() hereda de AppFormulario
     */
    public function init()
    {
    	parent::init();
		$this->setName('formulariologin');
       
		
		
		
		$this->setAction('/usuarios/recuperapass');
		
        
        $campo = new EFTexto('email');
        $campo->setLabel('Email');
        $campo->setRequired(true);
        $this->addElement($campo);
            
        $mensaje = new EFHtml('mensaje');
        $mensaje->setValue('Introduce tu Email y pulsa "Aceptar" para recuperar tu contraseña');
        $this->addElement($mensaje);
		//add the submit button
        $submit = new EFSubmit('recuperapass');
		$submit->setValue('Aceptar');
		$this->addElement($submit);
		
		
    }
    
	public function __construct(Usuario $objeto, $options = null){
		$this->setObjeto($objeto);
		parent::__construct($options);
		
	}
    
    
	public function recuperapassAccion($datos){
		
		$objeto = $this->getObjeto();
		
		if($objeto instanceof Usuario)

		if($this->isValid($datos)){
				$valores = $this->getValues();
				try {
					$objeto->recuperaPass($valores['email']);
					AppAjax::setMensajeError($this->identificadorScript(), 'Se ha enviado un mensaje a su correo electrónico');
					
				} catch(Exception $e){
					AppAjax::setMensajeError('#clave',  $e->getMessage());
				}
			}else{
				foreach ($this->getElements() as $element){
					if($element instanceof AppElementoFormulario){
						if(count($element->getMessages()>1))
							foreach($element->getMessages() as $mensaje){
								AppAjax::setMensajeError($element->identificadorScript(), $mensaje);
							}
					}
							
				}
			}
	}
}