2012-09-24 23:14:37 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
class FormularioCambiarPassword extends CFormModel {
|
|
|
|
|
|
|
|
|
|
public $passwordAnterior;
|
|
|
|
|
public $password;
|
|
|
|
|
public $passwordRepetida;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public function rules() {
|
|
|
|
|
return array(
|
|
|
|
|
array('passwordAnterior, password, passwordRepetida', 'required'),
|
|
|
|
|
array('password, passwordRepetida', 'length', 'max' => 128, 'min' => 6, 'message' => Yii::t('profind', 'La contraseña debe al menos 6 caracteres.')),
|
|
|
|
|
array('passwordRepetida', 'compare', 'compareAttribute' => 'password', 'message' => Yii::t('profind', 'La confirmación de contraseña no coincide.')),
|
|
|
|
|
array('passwordAnterior', 'comprobarPasswordAnterior'),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Comprobar que la anterior contraseña es correcta
|
|
|
|
|
*/
|
|
|
|
|
public function comprobarPasswordAnterior($attribute, $params) {
|
|
|
|
|
if (!$this->hasErrors()) {
|
|
|
|
|
$usuario = Usuario::model()->findByPk(Yii::app()->user->id);
|
2012-10-04 14:54:02 +00:00
|
|
|
if ($usuario->password != Usuario::model()->encryptPassword($this->passwordAnterior))
|
2012-09-24 23:14:37 +00:00
|
|
|
$this->addError($this->passwordAnterior, Yii::t('profind', 'La contraseña anterior no es correcta.'));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|