Arreglado bug añadir usuarios con email repetido

This commit is contained in:
imnavajas
2024-11-18 22:00:37 +01:00
parent 006a9a1413
commit cb2ca522c6
12 changed files with 183 additions and 185 deletions

View File

@ -30,14 +30,12 @@ class UserModel extends ShieldUserModel
protected $updatedField = 'updated_at';
protected $deletedField = 'deleted_at';
protected $validationRules = [
"first_name" => "required|trim|max_length[150]",
"last_name" => "required|trim|max_length[150]",
'new_pwd' => 'permit_empty|min_length[8]',
'new_pwd_confirm' => 'permit_empty|required_with[new_pwd]|matches[new_pwd]',
"comments" => "permit_empty|trim|max_length[512]",
'email' => 'required|valid_email|is_unique[auth_identities.secret]',
"comments" => "permit_empty|trim|max_length[512]"
];
protected $validationMessages = [
@ -81,7 +79,16 @@ class UserModel extends ShieldUserModel
// Método para comprobar si el email ya está registrado
public function isEmailUnique($email)
{
return $this->where('email', $email)->countAllResults() == 0;
$builder = $this->db
->table("auth_identities t1") // La tabla correcta
->select("t1.secret AS email")
->where('secret', $email);
// Obtener resultados
$result = $builder->get()->getRow();
// Devuelve true si no se encuentra el correo (es único), false en caso contrario
return $result === null;
}